diff options
author | Tariq Toukan <tariqt@mellanox.com> | 2018-08-21 09:07:58 -0400 |
---|---|---|
committer | Saeed Mahameed <saeedm@mellanox.com> | 2018-09-05 20:08:33 -0400 |
commit | a09036221092989b88c55d24d1f12ceb1d7d361f (patch) | |
tree | e235e50a7bbeda8b57607a12aa15c57ec5a6cafa | |
parent | 8d71e818506718e8d7032ce824b5c74a17d4f7a5 (diff) |
net/mlx5: Use u16 for Work Queue buffer strides offset
Minimal stride size is 16.
Hence, the number of strides in a fragment (of PAGE_SIZE)
is <= PAGE_SIZE / 16 <= 4K.
u16 is sufficient to represent this.
Fixes: d7037ad73daa ("net/mlx5: Fix QP fragmented buffer allocation")
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Reviewed-by: Eran Ben Elisha <eranbe@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/wq.c | 2 | ||||
-rw-r--r-- | include/linux/mlx5/driver.h | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/wq.c b/drivers/net/ethernet/mellanox/mlx5/core/wq.c index d838af9539b1..68e7f8df2a6d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/wq.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/wq.c | |||
@@ -138,7 +138,7 @@ int mlx5_wq_qp_create(struct mlx5_core_dev *mdev, struct mlx5_wq_param *param, | |||
138 | void *qpc, struct mlx5_wq_qp *wq, | 138 | void *qpc, struct mlx5_wq_qp *wq, |
139 | struct mlx5_wq_ctrl *wq_ctrl) | 139 | struct mlx5_wq_ctrl *wq_ctrl) |
140 | { | 140 | { |
141 | u32 sq_strides_offset; | 141 | u16 sq_strides_offset; |
142 | u32 rq_pg_remainder; | 142 | u32 rq_pg_remainder; |
143 | int err; | 143 | int err; |
144 | 144 | ||
diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h index 3a1258fd8ac3..66d94b4557cf 100644 --- a/include/linux/mlx5/driver.h +++ b/include/linux/mlx5/driver.h | |||
@@ -363,7 +363,7 @@ struct mlx5_frag_buf_ctrl { | |||
363 | struct mlx5_frag_buf frag_buf; | 363 | struct mlx5_frag_buf frag_buf; |
364 | u32 sz_m1; | 364 | u32 sz_m1; |
365 | u16 frag_sz_m1; | 365 | u16 frag_sz_m1; |
366 | u32 strides_offset; | 366 | u16 strides_offset; |
367 | u8 log_sz; | 367 | u8 log_sz; |
368 | u8 log_stride; | 368 | u8 log_stride; |
369 | u8 log_frag_strides; | 369 | u8 log_frag_strides; |
@@ -995,7 +995,7 @@ static inline u32 mlx5_base_mkey(const u32 key) | |||
995 | } | 995 | } |
996 | 996 | ||
997 | static inline void mlx5_fill_fbc_offset(u8 log_stride, u8 log_sz, | 997 | static inline void mlx5_fill_fbc_offset(u8 log_stride, u8 log_sz, |
998 | u32 strides_offset, | 998 | u16 strides_offset, |
999 | struct mlx5_frag_buf_ctrl *fbc) | 999 | struct mlx5_frag_buf_ctrl *fbc) |
1000 | { | 1000 | { |
1001 | fbc->log_stride = log_stride; | 1001 | fbc->log_stride = log_stride; |