On Fri, Apr 01, 2022 at 04:39:10PM +0200, Andrew Lunn wrote: > Are you also saying that ptp4l needs to read the values from the > driver, calculate the differ from the defaults, and then apply that > difference to the correction specified in the configuration file it > will apply in userspace? Personally I wouldn't bother with that. At the end of day, users who care about sub-microsecond performance will need to calibrate their particular setup. The output of the calibration will be the system delay asymmetry correction. That number will be applied in ONE place, namely the user space PTP stack. Breaking it up into little bits is just extra work for no benefit. That is why I'm against any of this driver nonsense. The only purpose of putting values in to the driver is to unpleasantly surprise the end users after kernel upgrade. If this driver defaults + run time query/setting stuff goes mainline, I'll never use it. > Does the PTP API enforce mutual exclusion for a device? Can there be > multiple applications running on an interface, some which assume the > hardware is configured to perform corrections and some which will > apply the correction in user space? There is no mutual exclusion at the kernel API. The main hindrance is the SIOCSHWTSTAMP ioctl which is at the device level. The setting applies system wide and is a root caps operation. There is the "Get" variant that allows co-operation but does not enforce it. Thanks, Richard