mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-07 23:28:55 +00:00
net/mlx5e: Remove rq_headroom field from params
It can be derived from other params, calculate it via the dedicated function when needed. Signed-off-by: Tariq Toukan <tariqt@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
f1e4fc9b4b
commit
b0cedc844c
2 changed files with 15 additions and 6 deletions
|
@ -230,7 +230,6 @@ enum mlx5e_priv_flag {
|
||||||
struct mlx5e_params {
|
struct mlx5e_params {
|
||||||
u8 log_sq_size;
|
u8 log_sq_size;
|
||||||
u8 rq_wq_type;
|
u8 rq_wq_type;
|
||||||
u16 rq_headroom;
|
|
||||||
u8 log_rq_size;
|
u8 log_rq_size;
|
||||||
u16 num_channels;
|
u16 num_channels;
|
||||||
u8 num_tc;
|
u8 num_tc;
|
||||||
|
|
|
@ -92,6 +92,19 @@ u8 mlx5e_mpwqe_get_log_num_strides(struct mlx5_core_dev *mdev,
|
||||||
mlx5e_mpwqe_get_log_stride_size(mdev, params);
|
mlx5e_mpwqe_get_log_stride_size(mdev, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static u16 mlx5e_get_rq_headroom(struct mlx5e_params *params)
|
||||||
|
{
|
||||||
|
u16 linear_rq_headroom = params->xdp_prog ?
|
||||||
|
XDP_PACKET_HEADROOM : MLX5_RX_HEADROOM;
|
||||||
|
|
||||||
|
linear_rq_headroom += NET_IP_ALIGN;
|
||||||
|
|
||||||
|
if (params->rq_wq_type == MLX5_WQ_TYPE_LINKED_LIST)
|
||||||
|
return linear_rq_headroom;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void mlx5e_init_rq_type_params(struct mlx5_core_dev *mdev,
|
void mlx5e_init_rq_type_params(struct mlx5_core_dev *mdev,
|
||||||
struct mlx5e_params *params, u8 rq_type)
|
struct mlx5e_params *params, u8 rq_type)
|
||||||
{
|
{
|
||||||
|
@ -107,12 +120,9 @@ void mlx5e_init_rq_type_params(struct mlx5_core_dev *mdev,
|
||||||
params->log_rq_size = is_kdump_kernel() ?
|
params->log_rq_size = is_kdump_kernel() ?
|
||||||
MLX5E_PARAMS_MINIMUM_LOG_RQ_SIZE :
|
MLX5E_PARAMS_MINIMUM_LOG_RQ_SIZE :
|
||||||
MLX5E_PARAMS_DEFAULT_LOG_RQ_SIZE;
|
MLX5E_PARAMS_DEFAULT_LOG_RQ_SIZE;
|
||||||
params->rq_headroom = params->xdp_prog ?
|
|
||||||
XDP_PACKET_HEADROOM : MLX5_RX_HEADROOM;
|
|
||||||
params->rq_headroom += NET_IP_ALIGN;
|
|
||||||
|
|
||||||
/* Extra room needed for build_skb */
|
/* Extra room needed for build_skb */
|
||||||
params->lro_wqe_sz -= params->rq_headroom +
|
params->lro_wqe_sz -= mlx5e_get_rq_headroom(params) +
|
||||||
SKB_DATA_ALIGN(sizeof(struct skb_shared_info));
|
SKB_DATA_ALIGN(sizeof(struct skb_shared_info));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -441,7 +451,7 @@ static int mlx5e_alloc_rq(struct mlx5e_channel *c,
|
||||||
goto err_rq_wq_destroy;
|
goto err_rq_wq_destroy;
|
||||||
|
|
||||||
rq->buff.map_dir = rq->xdp_prog ? DMA_BIDIRECTIONAL : DMA_FROM_DEVICE;
|
rq->buff.map_dir = rq->xdp_prog ? DMA_BIDIRECTIONAL : DMA_FROM_DEVICE;
|
||||||
rq->buff.headroom = params->rq_headroom;
|
rq->buff.headroom = mlx5e_get_rq_headroom(params);
|
||||||
|
|
||||||
switch (rq->wq_type) {
|
switch (rq->wq_type) {
|
||||||
case MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ:
|
case MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ:
|
||||||
|
|
Loading…
Add table
Reference in a new issue