Skip to content

Commit 7a320c9

Browse files
ayalevinSaeed Mahameed
authored andcommitted
net/mlx5e: Fix setting of RS FEC mode
Change register setting from bit number to bit mask. Fixes: b5ede32 ("net/mlx5e: Add support for FEC modes based on 50G per lane links") Signed-off-by: Aya Levin <ayal@nvidia.com> Reviewed-by: Eran Ben Elisha <eranbe@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
1 parent 41bafb3 commit 7a320c9

1 file changed

Lines changed: 4 additions & 19 deletions

File tree

  • drivers/net/ethernet/mellanox/mlx5/core/en

drivers/net/ethernet/mellanox/mlx5/core/en/port.c

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -387,21 +387,6 @@ enum mlx5e_fec_supported_link_mode {
387387
*_policy = MLX5_GET(pplm_reg, _buf, fec_override_admin_##link); \
388388
} while (0)
389389

390-
#define MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(buf, policy, write, link) \
391-
do { \
392-
unsigned long policy_long; \
393-
u16 *__policy = &(policy); \
394-
bool _write = (write); \
395-
\
396-
policy_long = *__policy; \
397-
if (_write && *__policy) \
398-
*__policy = find_first_bit(&policy_long, \
399-
sizeof(policy_long) * BITS_PER_BYTE);\
400-
MLX5E_FEC_OVERRIDE_ADMIN_POLICY(buf, *__policy, _write, link); \
401-
if (!_write && *__policy) \
402-
*__policy = 1 << *__policy; \
403-
} while (0)
404-
405390
/* get/set FEC admin field for a given speed */
406391
static int mlx5e_fec_admin_field(u32 *pplm, u16 *fec_policy, bool write,
407392
enum mlx5e_fec_supported_link_mode link_mode)
@@ -423,16 +408,16 @@ static int mlx5e_fec_admin_field(u32 *pplm, u16 *fec_policy, bool write,
423408
MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 100g);
424409
break;
425410
case MLX5E_FEC_SUPPORTED_LINK_MODE_50G_1X:
426-
MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(pplm, *fec_policy, write, 50g_1x);
411+
MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 50g_1x);
427412
break;
428413
case MLX5E_FEC_SUPPORTED_LINK_MODE_100G_2X:
429-
MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(pplm, *fec_policy, write, 100g_2x);
414+
MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 100g_2x);
430415
break;
431416
case MLX5E_FEC_SUPPORTED_LINK_MODE_200G_4X:
432-
MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(pplm, *fec_policy, write, 200g_4x);
417+
MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 200g_4x);
433418
break;
434419
case MLX5E_FEC_SUPPORTED_LINK_MODE_400G_8X:
435-
MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(pplm, *fec_policy, write, 400g_8x);
420+
MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 400g_8x);
436421
break;
437422
default:
438423
return -EINVAL;

0 commit comments

Comments
 (0)