[Intel-wired-lan] [PATCH iwl-net v3 2/6] igc: Lengthen the hardware retry time to prevent timeouts
Paul Menzel
pmenzel at molgen.mpg.de
Wed Nov 6 23:13:43 UTC 2024
Dear Christopher,
Thank you for the patch.
I’d use the more specific summary/title below:
igc: Lengthen hardware retry time to 4 μs to prevent timeouts
Am 06.11.24 um 19:47 schrieb Christopher S M Hall:
> Lengthen the hardware retry timer to four microseconds.
>
> The i225/i226 hardware retries if it receives an inappropriate response
> from the upstream device. If the device retries too quickly, the root
> port does not respond.
Any idea why? Is it documented somewhere?
> The issue can be reproduced with the following:
>
> $ sudo phc2sys -R 1000 -O 0 -i tsn0 -m
>
> Note: 1000 Hz (-R 1000) is unrealistically large, but provides a way to
> quickly reproduce the issue.
>
> PHC2SYS exits with:
>
> "ioctl PTP_OFFSET_PRECISE: Connection timed out" when the PTM transaction
> fails
Why four microseconds, and not some other value?
> Fixes: 6b8aa753a9f9 ("igc: Decrease PTM short interval from 10 us to 1 us")
> Reviewed-by: Michal Swiatkowski <michal.swiatkowski at linux.intel.com>
> Tested-by: Mor Bar-Gabay <morx.bar.gabay at intel.com>
> Tested-by: Avigail Dahan <avigailx.dahan at intel.com>
> Signed-off-by: Christopher S M Hall <christopher.s.hall at intel.com>
> ---
> drivers/net/ethernet/intel/igc/igc_defines.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/igc/igc_defines.h b/drivers/net/ethernet/intel/igc/igc_defines.h
> index 2ff292f5f63b..84521a4c35b4 100644
> --- a/drivers/net/ethernet/intel/igc/igc_defines.h
> +++ b/drivers/net/ethernet/intel/igc/igc_defines.h
> @@ -574,7 +574,7 @@
> #define IGC_PTM_CTRL_SHRT_CYC(usec) (((usec) & 0x3f) << 2)
> #define IGC_PTM_CTRL_PTM_TO(usec) (((usec) & 0xff) << 8)
>
> -#define IGC_PTM_SHORT_CYC_DEFAULT 1 /* Default short cycle interval */
> +#define IGC_PTM_SHORT_CYC_DEFAULT 4 /* Default short cycle interval */
> #define IGC_PTM_CYC_TIME_DEFAULT 5 /* Default PTM cycle time */
> #define IGC_PTM_TIMEOUT_DEFAULT 255 /* Default timeout for PTM errors */
Kind regards,
Paul
More information about the Intel-wired-lan
mailing list