Lines Matching refs:swa

879 	struct dpaa2_eth_swa *swa;  in dpaa2_eth_build_sg_fd()  local
935 swa = (struct dpaa2_eth_swa *)sgt_buf; in dpaa2_eth_build_sg_fd()
936 swa->type = DPAA2_ETH_SWA_SG; in dpaa2_eth_build_sg_fd()
937 swa->sg.skb = skb; in dpaa2_eth_build_sg_fd()
938 swa->sg.scl = scl; in dpaa2_eth_build_sg_fd()
939 swa->sg.num_sg = num_sg; in dpaa2_eth_build_sg_fd()
940 swa->sg.sgt_size = sgt_buf_size; in dpaa2_eth_build_sg_fd()
979 struct dpaa2_eth_swa *swa; in dpaa2_eth_build_sg_fd_single_buf() local
1005 swa = (struct dpaa2_eth_swa *)sgt_buf; in dpaa2_eth_build_sg_fd_single_buf()
1006 swa->type = DPAA2_ETH_SWA_SINGLE; in dpaa2_eth_build_sg_fd_single_buf()
1007 swa->single.skb = skb; in dpaa2_eth_build_sg_fd_single_buf()
1008 swa->single.sgt_size = sgt_buf_size; in dpaa2_eth_build_sg_fd_single_buf()
1042 struct dpaa2_eth_swa *swa; in dpaa2_eth_build_single_fd() local
1060 swa = (struct dpaa2_eth_swa *)buffer_start; in dpaa2_eth_build_single_fd()
1061 swa->type = DPAA2_ETH_SWA_SINGLE; in dpaa2_eth_build_single_fd()
1062 swa->single.skb = skb; in dpaa2_eth_build_single_fd()
1095 struct dpaa2_eth_swa *swa; in dpaa2_eth_free_tx_fd() local
1105 swa = (struct dpaa2_eth_swa *)buffer_start; in dpaa2_eth_free_tx_fd()
1108 if (swa->type == DPAA2_ETH_SWA_SINGLE) { in dpaa2_eth_free_tx_fd()
1109 skb = swa->single.skb; in dpaa2_eth_free_tx_fd()
1117 WARN_ONCE(swa->type != DPAA2_ETH_SWA_XDP, "Wrong SWA type"); in dpaa2_eth_free_tx_fd()
1118 dma_unmap_single(dev, fd_addr, swa->xdp.dma_size, in dpaa2_eth_free_tx_fd()
1122 if (swa->type == DPAA2_ETH_SWA_SG) { in dpaa2_eth_free_tx_fd()
1123 skb = swa->sg.skb; in dpaa2_eth_free_tx_fd()
1126 dma_unmap_sg(dev, swa->sg.scl, swa->sg.num_sg, in dpaa2_eth_free_tx_fd()
1128 kfree(swa->sg.scl); in dpaa2_eth_free_tx_fd()
1131 dma_unmap_single(dev, fd_addr, swa->sg.sgt_size, in dpaa2_eth_free_tx_fd()
1133 } else if (swa->type == DPAA2_ETH_SWA_SW_TSO) { in dpaa2_eth_free_tx_fd()
1134 skb = swa->tso.skb; in dpaa2_eth_free_tx_fd()
1140 dma_unmap_single(dev, fd_addr, swa->tso.sgt_size, in dpaa2_eth_free_tx_fd()
1150 for (i = 1; i < swa->tso.num_sg; i++) in dpaa2_eth_free_tx_fd()
1154 if (!swa->tso.is_last_fd) in dpaa2_eth_free_tx_fd()
1157 skb = swa->single.skb; in dpaa2_eth_free_tx_fd()
1160 dma_unmap_single(dev, fd_addr, swa->single.sgt_size, in dpaa2_eth_free_tx_fd()
1173 if (swa->type != DPAA2_ETH_SWA_XDP && in_napi) { in dpaa2_eth_free_tx_fd()
1178 if (swa->type == DPAA2_ETH_SWA_XDP) { in dpaa2_eth_free_tx_fd()
1179 xdp_return_frame(swa->xdp.xdpf); in dpaa2_eth_free_tx_fd()
1184 if (swa->type != DPAA2_ETH_SWA_SW_TSO) { in dpaa2_eth_free_tx_fd()
1221 struct dpaa2_eth_swa *swa; in dpaa2_eth_build_gso_fd() local
1297 swa = (struct dpaa2_eth_swa *)sgt_buf; in dpaa2_eth_build_gso_fd()
1298 swa->type = DPAA2_ETH_SWA_SW_TSO; in dpaa2_eth_build_gso_fd()
1299 swa->tso.skb = skb; in dpaa2_eth_build_gso_fd()
1300 swa->tso.num_sg = num_sge; in dpaa2_eth_build_gso_fd()
1301 swa->tso.sgt_size = sgt_buf_size; in dpaa2_eth_build_gso_fd()
1302 swa->tso.is_last_fd = total_len == 0 ? 1 : 0; in dpaa2_eth_build_gso_fd()
1365 void *swa = NULL; in __dpaa2_eth_tx() local
1395 err = dpaa2_eth_build_sg_fd(priv, skb, fd, &swa); in __dpaa2_eth_tx()
1400 err = dpaa2_eth_build_sg_fd_single_buf(priv, skb, fd, &swa); in __dpaa2_eth_tx()
1407 err = dpaa2_eth_build_single_fd(priv, skb, fd, &swa); in __dpaa2_eth_tx()
1416 if (swa && skb->cb[0]) in __dpaa2_eth_tx()
1417 dpaa2_eth_enable_tx_tstamp(priv, fd, swa, skb); in __dpaa2_eth_tx()
2667 struct dpaa2_eth_swa *swa; in dpaa2_eth_xdp_create_fd() local
2688 swa = (struct dpaa2_eth_swa *)buffer_start; in dpaa2_eth_xdp_create_fd()
2690 swa->type = DPAA2_ETH_SWA_XDP; in dpaa2_eth_xdp_create_fd()
2691 swa->xdp.dma_size = xdpf->data + xdpf->len - buffer_start; in dpaa2_eth_xdp_create_fd()
2692 swa->xdp.xdpf = xdpf; in dpaa2_eth_xdp_create_fd()
2695 swa->xdp.dma_size, in dpaa2_eth_xdp_create_fd()