hc
2023-12-06 08f87f769b595151be1afeff53e144f543faa614
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
/* Copyright (c) 2019 Mellanox Technologies. */
 
#ifndef __MLX5_EN_XSK_TX_H__
#define __MLX5_EN_XSK_TX_H__
 
#include "en.h"
#include <net/xdp_sock_drv.h>
 
/* TX data path */
 
int mlx5e_xsk_wakeup(struct net_device *dev, u32 qid, u32 flags);
 
bool mlx5e_xsk_tx(struct mlx5e_xdpsq *sq, unsigned int budget);
 
static inline void mlx5e_xsk_update_tx_wakeup(struct mlx5e_xdpsq *sq)
{
   if (!xsk_uses_need_wakeup(sq->xsk_pool))
       return;
 
   if (sq->pc != sq->cc)
       xsk_clear_tx_need_wakeup(sq->xsk_pool);
   else
       xsk_set_tx_need_wakeup(sq->xsk_pool);
}
 
#endif /* __MLX5_EN_XSK_TX_H__ */