1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Marvell RVU PF/VF Netdev Devlink 3 * 4 * Copyright (C) 2024 Marvell. 5 * 6 */ 7 8 #ifndef OTX2_XSK_H 9 #define OTX2_XSK_H 10 11 struct otx2_nic; 12 struct xsk_buff_pool; 13 14 int otx2_xsk_pool_setup(struct otx2_nic *pf, struct xsk_buff_pool *pool, u16 qid); 15 int otx2_xsk_pool_enable(struct otx2_nic *pf, struct xsk_buff_pool *pool, u16 qid); 16 int otx2_xsk_pool_disable(struct otx2_nic *pf, u16 qid); 17 int otx2_xsk_pool_alloc_buf(struct otx2_nic *pfvf, struct otx2_pool *pool, 18 dma_addr_t *dma, int idx); 19 int otx2_xsk_wakeup(struct net_device *dev, u32 queue_id, u32 flags); 20 void otx2_zc_napi_handler(struct otx2_nic *pfvf, struct xsk_buff_pool *pool, 21 int queue, int budget); 22 void otx2_attach_xsk_buff(struct otx2_nic *pfvf, struct otx2_snd_queue *sq, int qidx); 23 24 #endif /* OTX2_XSK_H */ 25