18c2ecf20Sopenharmony_ci/* Broadcom NetXtreme-C/E network driver. 28c2ecf20Sopenharmony_ci * 38c2ecf20Sopenharmony_ci * Copyright (c) 2016-2017 Broadcom Limited 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * This program is free software; you can redistribute it and/or modify 68c2ecf20Sopenharmony_ci * it under the terms of the GNU General Public License as published by 78c2ecf20Sopenharmony_ci * the Free Software Foundation. 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#ifndef BNXT_XDP_H 118c2ecf20Sopenharmony_ci#define BNXT_XDP_H 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cistruct bnxt_sw_tx_bd *bnxt_xmit_bd(struct bnxt *bp, 148c2ecf20Sopenharmony_ci struct bnxt_tx_ring_info *txr, 158c2ecf20Sopenharmony_ci dma_addr_t mapping, u32 len); 168c2ecf20Sopenharmony_civoid bnxt_tx_int_xdp(struct bnxt *bp, struct bnxt_napi *bnapi, int nr_pkts); 178c2ecf20Sopenharmony_cibool bnxt_rx_xdp(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, u16 cons, 188c2ecf20Sopenharmony_ci struct page *page, u8 **data_ptr, unsigned int *len, 198c2ecf20Sopenharmony_ci u8 *event); 208c2ecf20Sopenharmony_ciint bnxt_xdp(struct net_device *dev, struct netdev_bpf *xdp); 218c2ecf20Sopenharmony_ciint bnxt_xdp_xmit(struct net_device *dev, int num_frames, 228c2ecf20Sopenharmony_ci struct xdp_frame **frames, u32 flags); 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci#endif 25