Lines Matching refs:swa
752 struct dpaa2_eth_swa *swa; in dpaa2_eth_build_sg_fd() local
810 swa = (struct dpaa2_eth_swa *)sgt_buf; in dpaa2_eth_build_sg_fd()
811 swa->type = DPAA2_ETH_SWA_SG; in dpaa2_eth_build_sg_fd()
812 swa->sg.skb = skb; in dpaa2_eth_build_sg_fd()
813 swa->sg.scl = scl; in dpaa2_eth_build_sg_fd()
814 swa->sg.num_sg = num_sg; in dpaa2_eth_build_sg_fd()
815 swa->sg.sgt_size = sgt_buf_size; in dpaa2_eth_build_sg_fd()
854 struct dpaa2_eth_swa *swa; in dpaa2_eth_build_sg_fd_single_buf() local
888 swa = (struct dpaa2_eth_swa *)sgt_buf; in dpaa2_eth_build_sg_fd_single_buf()
889 swa->type = DPAA2_ETH_SWA_SINGLE; in dpaa2_eth_build_sg_fd_single_buf()
890 swa->single.skb = skb; in dpaa2_eth_build_sg_fd_single_buf()
891 swa->single.sgt_size = sgt_buf_size; in dpaa2_eth_build_sg_fd_single_buf()
927 struct dpaa2_eth_swa *swa; in dpaa2_eth_build_single_fd() local
945 swa = (struct dpaa2_eth_swa *)buffer_start; in dpaa2_eth_build_single_fd()
946 swa->type = DPAA2_ETH_SWA_SINGLE; in dpaa2_eth_build_single_fd()
947 swa->single.skb = skb; in dpaa2_eth_build_single_fd()
979 struct dpaa2_eth_swa *swa; in dpaa2_eth_free_tx_fd() local
988 swa = (struct dpaa2_eth_swa *)buffer_start; in dpaa2_eth_free_tx_fd()
991 if (swa->type == DPAA2_ETH_SWA_SINGLE) { in dpaa2_eth_free_tx_fd()
992 skb = swa->single.skb; in dpaa2_eth_free_tx_fd()
1000 WARN_ONCE(swa->type != DPAA2_ETH_SWA_XDP, "Wrong SWA type"); in dpaa2_eth_free_tx_fd()
1001 dma_unmap_single(dev, fd_addr, swa->xdp.dma_size, in dpaa2_eth_free_tx_fd()
1005 if (swa->type == DPAA2_ETH_SWA_SG) { in dpaa2_eth_free_tx_fd()
1006 skb = swa->sg.skb; in dpaa2_eth_free_tx_fd()
1009 dma_unmap_sg(dev, swa->sg.scl, swa->sg.num_sg, in dpaa2_eth_free_tx_fd()
1011 kfree(swa->sg.scl); in dpaa2_eth_free_tx_fd()
1014 dma_unmap_single(dev, fd_addr, swa->sg.sgt_size, in dpaa2_eth_free_tx_fd()
1017 skb = swa->single.skb; in dpaa2_eth_free_tx_fd()
1020 dma_unmap_single(dev, fd_addr, swa->single.sgt_size, in dpaa2_eth_free_tx_fd()
1033 if (swa->type != DPAA2_ETH_SWA_XDP && in_napi) { in dpaa2_eth_free_tx_fd()
1038 if (swa->type == DPAA2_ETH_SWA_XDP) { in dpaa2_eth_free_tx_fd()
1039 xdp_return_frame(swa->xdp.xdpf); in dpaa2_eth_free_tx_fd()
1061 if (swa->type == DPAA2_ETH_SWA_SG) { in dpaa2_eth_free_tx_fd()
1089 void *swa; in __dpaa2_eth_tx() local
1110 err = dpaa2_eth_build_sg_fd(priv, skb, &fd, &swa); in __dpaa2_eth_tx()
1114 err = dpaa2_eth_build_sg_fd_single_buf(priv, skb, &fd, &swa); in __dpaa2_eth_tx()
1120 err = dpaa2_eth_build_single_fd(priv, skb, &fd, &swa); in __dpaa2_eth_tx()
1129 dpaa2_eth_enable_tx_tstamp(priv, &fd, swa, skb); in __dpaa2_eth_tx()
2300 struct dpaa2_eth_swa *swa; in dpaa2_eth_xdp_create_fd() local
2321 swa = (struct dpaa2_eth_swa *)buffer_start; in dpaa2_eth_xdp_create_fd()
2323 swa->type = DPAA2_ETH_SWA_XDP; in dpaa2_eth_xdp_create_fd()
2324 swa->xdp.dma_size = xdpf->data + xdpf->len - buffer_start; in dpaa2_eth_xdp_create_fd()
2325 swa->xdp.xdpf = xdpf; in dpaa2_eth_xdp_create_fd()
2328 swa->xdp.dma_size, in dpaa2_eth_xdp_create_fd()