Hi,

I've been working on implementing support for PTP in the E810 and E822 devices 
for Intel's ice driver. As part of this work we've discovered that (again...) 
timestamps can sometimes take longer than the 1millisecond default delay.

Although we get an interrupt within 10usec, the timestamp has to be retrieved 
from a PHY register, and this access is unfortunately mediated by firmware. The 
result is that while we can sometimes recover the timestamp within the 1000usec 
default delay, we sometimes need as much as 2000 or 2500 usec.

We've been recommending that people default to using tx_timestamp_timeout of 5 
or 10 to avoid issues.

I am wondering if there would be support for either (a) increasing the default 
timeout, or (b) adding something to the PTP get capabilities for indicating a 
sort of default timeout for the device, and if it's not set in the config then 
the default timeout is used?

The reason for this need is because it is confusing for users to be immediately 
prompted with "this is likely a driver bug" messaging. We know that the only 
resolution is to wait slightly longer. This is also not the first time we've 
had issues with the 1msec delay being too short, I believe we've often had to 
recommend increasing the delay for other Intel parts in the past for similar 
reasons.

Note I tried a number of changes to the driver implementation in order to see 
if I could reduce the delay, and although I was able to improve it, I was never 
able to get it consistently below 1000usec, as we're effectively limited by the 
need to read the register access over the firmware :(

Thanks,
Jake
_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to