Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

net/mlx5: Expose cable_length field in PFCC register

Introduce new "cable_length" field in PFCC register and related fields
to enhance rx buffer configuration management:
1. cable_length: Shifts cable length handling to fw by storing a
manually entered length from user in PFCC.cable_length
2. lane_rate_oper: In a case where PFCC.cable_length is not supported,
helps compute a default cable length

Signed-off-by: Oren Sidi <osidi@nvidia.com>
Reviewed-by: Alex Lazar <alazar@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/1752734895-257735-4-git-send-email-tariqt@nvidia.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>

authored by

Oren Sidi and committed by
Leon Romanovsky
9a0048e0 6f09ee0b

+15 -4
+15 -4
include/linux/mlx5/mlx5_ifc.h
··· 9994 9994 u8 reserved_at_20[0x60]; 9995 9995 }; 9996 9996 9997 + enum { 9998 + MLX5_PTYS_CONNECTOR_TYPE_PORT_DA = 0x7, 9999 + }; 10000 + 9997 10001 struct mlx5_ifc_ptys_reg_bits { 9998 10002 u8 reserved_at_0[0x1]; 9999 10003 u8 an_disable_admin[0x1]; ··· 10034 10030 u8 ib_link_width_oper[0x10]; 10035 10031 u8 ib_proto_oper[0x10]; 10036 10032 10037 - u8 reserved_at_160[0x1c]; 10033 + u8 reserved_at_160[0x8]; 10034 + u8 lane_rate_oper[0x14]; 10038 10035 u8 connector_type[0x4]; 10039 10036 10040 10037 u8 eth_proto_lp_advertise[0x20]; ··· 10490 10485 u8 buf_ownership[0x2]; 10491 10486 u8 reserved_at_6[0x2]; 10492 10487 u8 local_port[0x8]; 10493 - u8 reserved_at_10[0xb]; 10488 + u8 reserved_at_10[0xa]; 10489 + u8 cable_length_mask[0x1]; 10494 10490 u8 ppan_mask_n[0x1]; 10495 10491 u8 minor_stall_mask[0x1]; 10496 10492 u8 critical_stall_mask[0x1]; ··· 10520 10514 u8 device_stall_minor_watermark[0x10]; 10521 10515 u8 device_stall_critical_watermark[0x10]; 10522 10516 10523 - u8 reserved_at_a0[0x60]; 10517 + u8 reserved_at_a0[0x18]; 10518 + u8 cable_length[0x8]; 10519 + 10520 + u8 reserved_at_c0[0x40]; 10524 10521 }; 10525 10522 10526 10523 struct mlx5_ifc_pelc_reg_bits { ··· 10624 10615 struct mlx5_ifc_pcam_enhanced_features_bits { 10625 10616 u8 reserved_at_0[0x10]; 10626 10617 u8 ppcnt_recovery_counters[0x1]; 10627 - u8 reserved_at_11[0xc]; 10618 + u8 reserved_at_11[0x7]; 10619 + u8 cable_length[0x1]; 10620 + u8 reserved_at_19[0x4]; 10628 10621 u8 fec_200G_per_lane_in_pplm[0x1]; 10629 10622 u8 reserved_at_1e[0x2a]; 10630 10623 u8 fec_100G_per_lane_in_pplm[0x1];