Hi Maxim, I love your patch! Yet something to improve: [auto build test ERROR on next-20200709] [cannot apply to linus/master v5.8-rc4 v5.8-rc3 v5.8-rc2 v5.8-rc4] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Maxim-Mikityanskiy/xsk-i40e-ice-ixgbe-mlx5-pass-buffer-pool-to-driver-instead-of-umem/20200709-225826 base: b966b5cf71790478be7726593d011cb085a97a94 config: arm64-allyesconfig (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:63: drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h: In function 'mlx5e_xsk_page_alloc_pool': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:25:35: error: passing argument 1 of 'xsk_buff_alloc' from incompatible pointer type [-Werror=incompatible-pointer-types] 25 | dma_info->xsk = xsk_buff_alloc(rq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:41: include/net/xdp_sock_drv.h:71:64: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 71 | static inline struct xdp_buff *xsk_buff_alloc(struct xdp_umem *umem) | ~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:63: drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h: In function 'mlx5e_xsk_update_rx_wakeup': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:41:7: error: implicit declaration of function 'xsk_uses_need_wakeup'; did you mean 'xsk_umem_uses_need_wakeup'? [-Werror=implicit-function-declaration] 41 | if (!xsk_uses_need_wakeup(rq->xsk_pool)) | ^~~~~~~~~~~~~~~~~~~~ | xsk_umem_uses_need_wakeup >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:45:28: error: passing argument 1 of 'xsk_set_rx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 45 | xsk_set_rx_need_wakeup(rq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:41: include/net/xdp_sock_drv.h:18:46: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 18 | void xsk_set_rx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:63: >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:47:30: error: passing argument 1 of 'xsk_clear_rx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 47 | xsk_clear_rx_need_wakeup(rq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:41: include/net/xdp_sock_drv.h:20:48: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 20 | void xsk_clear_rx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:64: drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h: In function 'mlx5e_xsk_update_tx_wakeup': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h:22:30: error: passing argument 1 of 'xsk_clear_tx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 22 | xsk_clear_tx_need_wakeup(sq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:41: include/net/xdp_sock_drv.h:21:48: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 21 | void xsk_clear_tx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:64: >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h:24:28: error: passing argument 1 of 'xsk_set_tx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 24 | xsk_set_tx_need_wakeup(sq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:41: include/net/xdp_sock_drv.h:19:46: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 19 | void xsk_set_tx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ drivers/net/ethernet/mellanox/mlx5/core/en_main.c: In function 'mlx5e_alloc_rq': >> drivers/net/ethernet/mellanox/mlx5/core/en_main.c:521:3: error: implicit declaration of function 'xsk_pool_set_rxq_info'; did you mean 'xsk_buff_set_rxq_info'? [-Werror=implicit-function-declaration] 521 | xsk_pool_set_rxq_info(rq->xsk_pool, &rq->xdp_rxq); | ^~~~~~~~~~~~~~~~~~~~~ | xsk_buff_set_rxq_info drivers/net/ethernet/mellanox/mlx5/core/en_main.c: In function 'mlx5e_xdp': drivers/net/ethernet/mellanox/mlx5/core/en_main.c:4547:7: error: 'XDP_SETUP_XSK_POOL' undeclared (first use in this function); did you mean 'XDP_SETUP_XSK_UMEM'? 4547 | case XDP_SETUP_XSK_POOL: | ^~~~~~~~~~~~~~~~~~ | XDP_SETUP_XSK_UMEM drivers/net/ethernet/mellanox/mlx5/core/en_main.c:4547:7: note: each undeclared identifier is reported only once for each function it appears in drivers/net/ethernet/mellanox/mlx5/core/en_main.c:4548:44: error: 'struct ' has no member named 'pool' 4548 | return mlx5e_xsk_setup_pool(dev, xdp->xsk.pool, | ^ cc1: some warnings being treated as errors -- In file included from drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:51: drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h: In function 'mlx5e_xsk_page_alloc_pool': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:25:35: error: passing argument 1 of 'xsk_buff_alloc' from incompatible pointer type [-Werror=incompatible-pointer-types] 25 | dma_info->xsk = xsk_buff_alloc(rq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:51: include/net/xdp_sock_drv.h:71:64: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 71 | static inline struct xdp_buff *xsk_buff_alloc(struct xdp_umem *umem) | ~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:51: drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h: In function 'mlx5e_xsk_update_rx_wakeup': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:41:7: error: implicit declaration of function 'xsk_uses_need_wakeup'; did you mean 'xsk_umem_uses_need_wakeup'? [-Werror=implicit-function-declaration] 41 | if (!xsk_uses_need_wakeup(rq->xsk_pool)) | ^~~~~~~~~~~~~~~~~~~~ | xsk_umem_uses_need_wakeup >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:45:28: error: passing argument 1 of 'xsk_set_rx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 45 | xsk_set_rx_need_wakeup(rq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:51: include/net/xdp_sock_drv.h:18:46: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 18 | void xsk_set_rx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:51: >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:47:30: error: passing argument 1 of 'xsk_clear_rx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 47 | xsk_clear_rx_need_wakeup(rq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:51: include/net/xdp_sock_drv.h:20:48: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 20 | void xsk_clear_rx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ In file included from include/linux/build_bug.h:5, from arch/arm64/include/asm/processor.h:24, from include/linux/prefetch.h:15, from drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:33: drivers/net/ethernet/mellanox/mlx5/core/en_rx.c: In function 'mlx5e_alloc_rx_wqes': >> drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:393:38: error: passing argument 1 of 'xsk_buff_can_alloc' from incompatible pointer type [-Werror=incompatible-pointer-types] 393 | if (unlikely(!xsk_buff_can_alloc(rq->xsk_pool, pages_desired))) | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' 78 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:51: include/net/xdp_sock_drv.h:76:56: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 76 | static inline bool xsk_buff_can_alloc(struct xdp_umem *umem, u32 count) | ~~~~~~~~~~~~~~~~~^~~~ In file included from include/linux/build_bug.h:5, from arch/arm64/include/asm/processor.h:24, from include/linux/prefetch.h:15, from drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:33: drivers/net/ethernet/mellanox/mlx5/core/en_rx.c: In function 'mlx5e_alloc_rx_mpwqe': drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:492:37: error: passing argument 1 of 'xsk_buff_can_alloc' from incompatible pointer type [-Werror=incompatible-pointer-types] 492 | unlikely(!xsk_buff_can_alloc(rq->xsk_pool, MLX5_MPWRQ_PAGES_PER_WQE))) { | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' 78 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en_rx.c:51: include/net/xdp_sock_drv.h:76:56: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 76 | static inline bool xsk_buff_can_alloc(struct xdp_umem *umem, u32 count) | ~~~~~~~~~~~~~~~~~^~~~ cc1: some warnings being treated as errors -- In file included from drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c:37: drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h: In function 'mlx5e_xsk_page_alloc_pool': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:25:35: error: passing argument 1 of 'xsk_buff_alloc' from incompatible pointer type [-Werror=incompatible-pointer-types] 25 | dma_info->xsk = xsk_buff_alloc(rq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c:37: include/net/xdp_sock_drv.h:71:64: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 71 | static inline struct xdp_buff *xsk_buff_alloc(struct xdp_umem *umem) | ~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c:37: drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h: In function 'mlx5e_xsk_update_rx_wakeup': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:41:7: error: implicit declaration of function 'xsk_uses_need_wakeup'; did you mean 'xsk_umem_uses_need_wakeup'? [-Werror=implicit-function-declaration] 41 | if (!xsk_uses_need_wakeup(rq->xsk_pool)) | ^~~~~~~~~~~~~~~~~~~~ | xsk_umem_uses_need_wakeup >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:45:28: error: passing argument 1 of 'xsk_set_rx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 45 | xsk_set_rx_need_wakeup(rq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c:37: include/net/xdp_sock_drv.h:18:46: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 18 | void xsk_set_rx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c:37: >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:47:30: error: passing argument 1 of 'xsk_clear_rx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 47 | xsk_clear_rx_need_wakeup(rq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c:37: include/net/xdp_sock_drv.h:20:48: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 20 | void xsk_clear_rx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c:38: drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h: In function 'mlx5e_xsk_update_tx_wakeup': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h:22:30: error: passing argument 1 of 'xsk_clear_tx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 22 | xsk_clear_tx_need_wakeup(sq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c:37: include/net/xdp_sock_drv.h:21:48: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 21 | void xsk_clear_tx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c:38: >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h:24:28: error: passing argument 1 of 'xsk_set_tx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 24 | xsk_set_tx_need_wakeup(sq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c:37: include/net/xdp_sock_drv.h:19:46: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 19 | void xsk_set_tx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ cc1: some warnings being treated as errors -- drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c: In function 'mlx5e_poll_xdpsq_cq': >> drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c:449:3: error: implicit declaration of function 'xsk_tx_completed'; did you mean 'dql_completed'? [-Werror=implicit-function-declaration] 449 | xsk_tx_completed(sq->xsk_pool, xsk_frames); | ^~~~~~~~~~~~~~~~ | dql_completed cc1: some warnings being treated as errors -- drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c: In function 'mlx5e_xsk_map_pool': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c:14:9: error: implicit declaration of function 'xsk_pool_dma_map'; did you mean 'xsk_buff_dma_map'? [-Werror=implicit-function-declaration] 14 | return xsk_pool_dma_map(pool, dev, 0); | ^~~~~~~~~~~~~~~~ | xsk_buff_dma_map drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c: In function 'mlx5e_xsk_unmap_pool': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c:20:9: error: implicit declaration of function 'xsk_pool_dma_unmap'; did you mean 'xsk_buff_dma_unmap'? [-Werror=implicit-function-declaration] 20 | return xsk_pool_dma_unmap(pool, 0); | ^~~~~~~~~~~~~~~~~~ | xsk_buff_dma_unmap drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c:20:9: warning: 'return' with a value, in function returning void [-Wreturn-type] 20 | return xsk_pool_dma_unmap(pool, 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c:17:13: note: declared here 17 | static void mlx5e_xsk_unmap_pool(struct mlx5e_priv *priv, | ^~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c: In function 'mlx5e_xsk_is_pool_sane': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c:67:9: error: implicit declaration of function 'xsk_pool_get_headroom'; did you mean 'xsk_umem_get_headroom'? [-Werror=implicit-function-declaration] 67 | return xsk_pool_get_headroom(pool) <= 0xffff && | ^~~~~~~~~~~~~~~~~~~~~ | xsk_umem_get_headroom >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c:68:3: error: implicit declaration of function 'xsk_pool_get_chunk_size'; did you mean 'xsk_umem_get_chunk_size'? [-Werror=implicit-function-declaration] 68 | xsk_pool_get_chunk_size(pool) <= 0xffff; | ^~~~~~~~~~~~~~~~~~~~~~~ | xsk_umem_get_chunk_size cc1: some warnings being treated as errors -- In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c:4: drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h: In function 'mlx5e_xsk_page_alloc_pool': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:25:35: error: passing argument 1 of 'xsk_buff_alloc' from incompatible pointer type [-Werror=incompatible-pointer-types] 25 | dma_info->xsk = xsk_buff_alloc(rq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c:4: include/net/xdp_sock_drv.h:71:64: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 71 | static inline struct xdp_buff *xsk_buff_alloc(struct xdp_umem *umem) | ~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c:4: drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h: In function 'mlx5e_xsk_update_rx_wakeup': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:41:7: error: implicit declaration of function 'xsk_uses_need_wakeup'; did you mean 'xsk_umem_uses_need_wakeup'? [-Werror=implicit-function-declaration] 41 | if (!xsk_uses_need_wakeup(rq->xsk_pool)) | ^~~~~~~~~~~~~~~~~~~~ | xsk_umem_uses_need_wakeup >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:45:28: error: passing argument 1 of 'xsk_set_rx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 45 | xsk_set_rx_need_wakeup(rq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c:4: include/net/xdp_sock_drv.h:18:46: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 18 | void xsk_set_rx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c:4: >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:47:30: error: passing argument 1 of 'xsk_clear_rx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 47 | xsk_clear_rx_need_wakeup(rq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c:4: include/net/xdp_sock_drv.h:20:48: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 20 | void xsk_clear_rx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ cc1: some warnings being treated as errors -- In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c:4: drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h: In function 'mlx5e_xsk_update_tx_wakeup': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h:18:7: error: implicit declaration of function 'xsk_uses_need_wakeup'; did you mean 'xsk_umem_uses_need_wakeup'? [-Werror=implicit-function-declaration] 18 | if (!xsk_uses_need_wakeup(sq->xsk_pool)) | ^~~~~~~~~~~~~~~~~~~~ | xsk_umem_uses_need_wakeup >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h:22:30: error: passing argument 1 of 'xsk_clear_tx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 22 | xsk_clear_tx_need_wakeup(sq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c:4: include/net/xdp_sock_drv.h:21:48: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 21 | void xsk_clear_tx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c:4: >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h:24:28: error: passing argument 1 of 'xsk_set_tx_need_wakeup' from incompatible pointer type [-Werror=incompatible-pointer-types] 24 | xsk_set_tx_need_wakeup(sq->xsk_pool); | ~~^~~~~~~~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c:4: include/net/xdp_sock_drv.h:19:46: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 19 | void xsk_set_tx_need_wakeup(struct xdp_umem *umem); | ~~~~~~~~~~~~~~~~~^~~~ drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c: In function 'mlx5e_xsk_tx': >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c:86:8: error: implicit declaration of function 'xsk_tx_peek_desc' [-Werror=implicit-function-declaration] 86 | if (!xsk_tx_peek_desc(pool, &desc)) { | ^~~~~~~~~~~~~~~~ >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c:95:42: error: passing argument 1 of 'xsk_buff_raw_get_dma' from incompatible pointer type [-Werror=incompatible-pointer-types] 95 | xdptxd.dma_addr = xsk_buff_raw_get_dma(pool, desc.addr); | ^~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c:4: include/net/xdp_sock_drv.h:88:64: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 88 | static inline dma_addr_t xsk_buff_raw_get_dma(struct xdp_umem *umem, u64 addr) | ~~~~~~~~~~~~~~~~~^~~~ >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c:96:39: error: passing argument 1 of 'xsk_buff_raw_get_data' from incompatible pointer type [-Werror=incompatible-pointer-types] 96 | xdptxd.data = xsk_buff_raw_get_data(pool, desc.addr); | ^~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c:4: include/net/xdp_sock_drv.h:93:60: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 93 | static inline void *xsk_buff_raw_get_data(struct xdp_umem *umem, u64 addr) | ~~~~~~~~~~~~~~~~~^~~~ >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c:99:36: error: passing argument 1 of 'xsk_buff_raw_dma_sync_for_device' from incompatible pointer type [-Werror=incompatible-pointer-types] 99 | xsk_buff_raw_dma_sync_for_device(pool, xdptxd.dma_addr, xdptxd.len); | ^~~~ | | | struct xsk_buff_pool * In file included from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.h:8, from drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c:4: include/net/xdp_sock_drv.h:105:70: note: expected 'struct xdp_umem *' but argument is of type 'struct xsk_buff_pool *' 105 | static inline void xsk_buff_raw_dma_sync_for_device(struct xdp_umem *umem, | ~~~~~~~~~~~~~~~~~^~~~ >> drivers/net/ethernet/mellanox/mlx5/core/en/xsk/tx.c:116:3: error: implicit declaration of function 'xsk_tx_release'; did you mean 'dst_release'? [-Werror=implicit-function-declaration] 116 | xsk_tx_release(pool); | ^~~~~~~~~~~~~~ | dst_release cc1: some warnings being treated as errors vim +/xsk_buff_alloc +25 drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h 11 12 struct sk_buff *mlx5e_xsk_skb_from_cqe_mpwrq_linear(struct mlx5e_rq *rq, 13 struct mlx5e_mpw_info *wi, 14 u16 cqe_bcnt, 15 u32 head_offset, 16 u32 page_idx); 17 struct sk_buff *mlx5e_xsk_skb_from_cqe_linear(struct mlx5e_rq *rq, 18 struct mlx5_cqe64 *cqe, 19 struct mlx5e_wqe_frag_info *wi, 20 u32 cqe_bcnt); 21 22 static inline int mlx5e_xsk_page_alloc_pool(struct mlx5e_rq *rq, 23 struct mlx5e_dma_info *dma_info) 24 { > 25 dma_info->xsk = xsk_buff_alloc(rq->xsk_pool); 26 if (!dma_info->xsk) 27 return -ENOMEM; 28 29 /* Store the DMA address without headroom. In striding RQ case, we just 30 * provide pages for UMR, and headroom is counted at the setup stage 31 * when creating a WQE. In non-striding RQ case, headroom is accounted 32 * in mlx5e_alloc_rx_wqe. 33 */ 34 dma_info->addr = xsk_buff_xdp_get_frame_dma(dma_info->xsk); 35 36 return 0; 37 } 38 39 static inline bool mlx5e_xsk_update_rx_wakeup(struct mlx5e_rq *rq, bool alloc_err) 40 { > 41 if (!xsk_uses_need_wakeup(rq->xsk_pool)) 42 return alloc_err; 43 44 if (unlikely(alloc_err)) > 45 xsk_set_rx_need_wakeup(rq->xsk_pool); 46 else > 47 xsk_clear_rx_need_wakeup(rq->xsk_pool); 48 49 return false; 50 } 51 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org