Skip to content

Commit 9a0048e

Browse files
osidi-nvidiarleon
authored andcommitted
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 <[email protected]> Reviewed-by: Alex Lazar <[email protected]> Signed-off-by: Tariq Toukan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Leon Romanovsky <[email protected]>
1 parent 6f09ee0 commit 9a0048e

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

include/linux/mlx5/mlx5_ifc.h

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9994,6 +9994,10 @@ struct mlx5_ifc_pude_reg_bits {
99949994
u8 reserved_at_20[0x60];
99959995
};
99969996

9997+
enum {
9998+
MLX5_PTYS_CONNECTOR_TYPE_PORT_DA = 0x7,
9999+
};
10000+
999710001
struct mlx5_ifc_ptys_reg_bits {
999810002
u8 reserved_at_0[0x1];
999910003
u8 an_disable_admin[0x1];
@@ -10030,7 +10034,8 @@ struct mlx5_ifc_ptys_reg_bits {
1003010034
u8 ib_link_width_oper[0x10];
1003110035
u8 ib_proto_oper[0x10];
1003210036

10033-
u8 reserved_at_160[0x1c];
10037+
u8 reserved_at_160[0x8];
10038+
u8 lane_rate_oper[0x14];
1003410039
u8 connector_type[0x4];
1003510040

1003610041
u8 eth_proto_lp_advertise[0x20];
@@ -10485,7 +10490,8 @@ struct mlx5_ifc_pfcc_reg_bits {
1048510490
u8 buf_ownership[0x2];
1048610491
u8 reserved_at_6[0x2];
1048710492
u8 local_port[0x8];
10488-
u8 reserved_at_10[0xb];
10493+
u8 reserved_at_10[0xa];
10494+
u8 cable_length_mask[0x1];
1048910495
u8 ppan_mask_n[0x1];
1049010496
u8 minor_stall_mask[0x1];
1049110497
u8 critical_stall_mask[0x1];
@@ -10514,7 +10520,10 @@ struct mlx5_ifc_pfcc_reg_bits {
1051410520
u8 device_stall_minor_watermark[0x10];
1051510521
u8 device_stall_critical_watermark[0x10];
1051610522

10517-
u8 reserved_at_a0[0x60];
10523+
u8 reserved_at_a0[0x18];
10524+
u8 cable_length[0x8];
10525+
10526+
u8 reserved_at_c0[0x40];
1051810527
};
1051910528

1052010529
struct mlx5_ifc_pelc_reg_bits {
@@ -10615,7 +10624,9 @@ struct mlx5_ifc_mtutc_reg_bits {
1061510624
struct mlx5_ifc_pcam_enhanced_features_bits {
1061610625
u8 reserved_at_0[0x10];
1061710626
u8 ppcnt_recovery_counters[0x1];
10618-
u8 reserved_at_11[0xc];
10627+
u8 reserved_at_11[0x7];
10628+
u8 cable_length[0x1];
10629+
u8 reserved_at_19[0x4];
1061910630
u8 fec_200G_per_lane_in_pplm[0x1];
1062010631
u8 reserved_at_1e[0x2a];
1062110632
u8 fec_100G_per_lane_in_pplm[0x1];

0 commit comments

Comments
 (0)