Skip to content

Commit b0cedc8

Browse files
Tariq ToukanSaeed Mahameed
authored andcommitted
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 <[email protected]> Signed-off-by: Saeed Mahameed <[email protected]>
1 parent f1e4fc9 commit b0cedc8

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

drivers/net/ethernet/mellanox/mlx5/core/en.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,6 @@ enum mlx5e_priv_flag {
230230
struct mlx5e_params {
231231
u8 log_sq_size;
232232
u8 rq_wq_type;
233-
u16 rq_headroom;
234233
u8 log_rq_size;
235234
u16 num_channels;
236235
u8 num_tc;

drivers/net/ethernet/mellanox/mlx5/core/en_main.c

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,19 @@ u8 mlx5e_mpwqe_get_log_num_strides(struct mlx5_core_dev *mdev,
9292
mlx5e_mpwqe_get_log_stride_size(mdev, params);
9393
}
9494

95+
static u16 mlx5e_get_rq_headroom(struct mlx5e_params *params)
96+
{
97+
u16 linear_rq_headroom = params->xdp_prog ?
98+
XDP_PACKET_HEADROOM : MLX5_RX_HEADROOM;
99+
100+
linear_rq_headroom += NET_IP_ALIGN;
101+
102+
if (params->rq_wq_type == MLX5_WQ_TYPE_LINKED_LIST)
103+
return linear_rq_headroom;
104+
105+
return 0;
106+
}
107+
95108
void mlx5e_init_rq_type_params(struct mlx5_core_dev *mdev,
96109
struct mlx5e_params *params, u8 rq_type)
97110
{
@@ -107,12 +120,9 @@ void mlx5e_init_rq_type_params(struct mlx5_core_dev *mdev,
107120
params->log_rq_size = is_kdump_kernel() ?
108121
MLX5E_PARAMS_MINIMUM_LOG_RQ_SIZE :
109122
MLX5E_PARAMS_DEFAULT_LOG_RQ_SIZE;
110-
params->rq_headroom = params->xdp_prog ?
111-
XDP_PACKET_HEADROOM : MLX5_RX_HEADROOM;
112-
params->rq_headroom += NET_IP_ALIGN;
113123

114124
/* Extra room needed for build_skb */
115-
params->lro_wqe_sz -= params->rq_headroom +
125+
params->lro_wqe_sz -= mlx5e_get_rq_headroom(params) +
116126
SKB_DATA_ALIGN(sizeof(struct skb_shared_info));
117127
}
118128

@@ -441,7 +451,7 @@ static int mlx5e_alloc_rq(struct mlx5e_channel *c,
441451
goto err_rq_wq_destroy;
442452

443453
rq->buff.map_dir = rq->xdp_prog ? DMA_BIDIRECTIONAL : DMA_FROM_DEVICE;
444-
rq->buff.headroom = params->rq_headroom;
454+
rq->buff.headroom = mlx5e_get_rq_headroom(params);
445455

446456
switch (rq->wq_type) {
447457
case MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ:

0 commit comments

Comments
 (0)