On 10/13/2024 8:44 AM, Mateusz Polchlopek wrote:
> Initially, during VF creation it registers the PTP clock in
> the system and negotiates with PF it's capabilities. In the
> meantime the PF enables the Flexible Descriptor for VF.
> Only this type of descriptor allows to receive Rx timestamps.
>
> Enabling virtual clock would be possible, though it would probably
> perform poorly due to the lack of direct time access.
>
> Enable timestamping should be done using userspace tools, e.g.
> hwstamp_ctl -i $VF -r 14
>
> In order to report the timestamps to userspace, the VF extends
> timestamp to 40b.
>
> To support this feature the flexible descriptors and PTP part
> in iavf driver have been introduced.
>
> Side notes:
> Wojtek did great job handling this series during my vacations. Thanks!
> ---
> v11:
> - addressed all comments from v10 done by Alexander L. Short list: changed
> some
> logging functions (like pci_warn instead of dev_warn), fix RCT, fix
> indentation,
> remove unnecessary comments and casts, change error codes where applicable,
> remove ptp.initialized field in struct (now check for ptp.clock as Olek
> suggested), invert condition in few places to avoid +1 indent level,
> function
> iavf_ptp_do_aux_work made as static, add more descriptive kdoc for libeth
> struct fields, restore ptype as a field in libeth struct, remove unused
> defines, pass to specific functions quad word of descriptor instead of pass
> rx_desc, add asserts to structs where applicable, return from fields
> extracting
> functions when !fields.eop, refactor get VLAN tags, remove unnecessary empty
> initialization of structs and few more. Please see v10 to compare all
> changes.
>
Unfortunately, v11 doesn't compile. Can you please address that in a
v12? While at it, please also address the concern about the post_ts
calls in the .gettimex implementation.
Thanks,
Jake