RE: [PATCH iwl-net] igc: Fix hicredit calculation
From: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Date: 2023-12-11 18:08:42
Also in:
intel-wired-lan, lkml
Rodrigo CADORE CATALDO [off-list ref] writes:
quoted
-----Original Message----- From: Vinicius Costa Gomes <vinicius.gomes@intel.com> Rodrigo Cataldo via B4 Relay [off-list ref] writes:quoted
From: Rodrigo Cataldo <redacted> According to the Intel Software Manual for I225, Section 7.5.2.7, hicredit should be multiplied by the constant link-rate value, 0x7736. Currently, the old constant link-rate value, 0x7735, from the boards supported on igb are being used, most likely due to a copy'n'paste, as the rest of the logic is the same for both drivers. Update hicredit accordingly. Fixes: 1ab011b0bf07 ("igc: Add support for CBS offloading") Reviewed-by: Kurt Kanzenbach <kurt@linutronix.de> Signed-off-by: Rodrigo Cataldo <redacted> ---Very good catch. Acked-by: Vinicius Costa Gomes <vinicius.gomes@intel.com> Just for curiosity, my test machines are busy right now, what kind of difference are you seeing?Hello Vinicius, thank you for the ACK. For our internal setup, this does not make a difference. My understanding is that hicredit is used for non-SR traffic mixed with SR traffic (i.e., hicredit is directly related to the max non-SR frame size). But our setup does not mix them (q0 is used only for milan audio/clock SR class A).
I see.
Let me know if you think we need a testcase for this.
It was just curiority. No need. Thanks.
quoted
quoted
This is a simple fix for the credit calculation on igc devices (i225/i226) to match the Intel software manual. This is my first contribution to the Linux Kernel. Apologies for any mistakes and let me know if I improve anything. --- drivers/net/ethernet/intel/igc/igc_tsn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/drivers/net/ethernet/intel/igc/igc_tsn.cb/drivers/net/ethernet/intel/igc/igc_tsn.cquoted
index a9c08321aca9..22cefb1eeedf 100644--- a/drivers/net/ethernet/intel/igc/igc_tsn.c +++ b/drivers/net/ethernet/intel/igc/igc_tsn.c@@ -227,7 +227,7 @@ static int igc_tsn_enable_offload(struct igc_adapter*adapter)quoted
wr32(IGC_TQAVCC(i), tqavcc); wr32(IGC_TQAVHC(i), - 0x80000000 + ring->hicredit * 0x7735); + 0x80000000 + ring->hicredit * 0x7736); } else { /* Disable any CBS for the queue */ txqctl &= ~(IGC_TXQCTL_QAV_SEL_MASK); --- base-commit: 2078a341f5f609d55667c2dc6337f90d8f322b8f change-id: 20231206-igc-fix-hicredit-calc-028bf73c50a8 Best regards, -- Rodrigo Cataldo [off-list ref]Cheers, -- ViniciusBest Regards, Rodrigo Cataldo
Cheers, -- Vinicius