From: Tony Nguyen <anthony.l.nguyen@intel.com>
To: Mateusz Polchlopek <mateusz.polchlopek@intel.com>,
<intel-wired-lan@lists.osuosl.org>,
<aleksander.lobakin@intel.com>
Cc: netdev@vger.kernel.org
Subject: Re: [Intel-wired-lan] [PATCH iwl-next v9 00/14] Add support for Rx timestamping for both ice and iavf drivers
Date: Thu, 15 Aug 2024 15:16:10 -0700 [thread overview]
Message-ID: <b9ed4b41-98c9-a562-ea6c-efdf3d9d3f62@intel.com> (raw)
In-Reply-To: <20240813125513.8212-1-mateusz.polchlopek@intel.com>
On 8/13/2024 5:54 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.
Can you check that each patch compiles cleanly? Some of these are not
(especially w/clang).
Also, there's some scattered checkpatch issues if you could run and
correct the applicable ones.
Thanks,
Tony
> ---
> v9:
> - another big refactor of code, again the list is too long to describe each change. Only
> patch1 and patch12 has not been changed AFAIR. Please take a look on v8 and changes
> requests from Alexander L. (in short - fixed structs paddings, aligns, optimized rx hot
> path, renamed few structs, added "const" keyword where applicable, added kdoc comments
> to newly introduced structs and defines, removed unnecessary casts, simplified few
> functions and few more).
>
> v8:
> - big refactor to make code more optimised (too many changes to list them here, please
> take a look on v7 patch9 and comments from Alexander L) - patch 11. Because of that I
> decided to remove all gathered RB tags.
> - changed newly introduced spinlock aq_cmd_lock to mutex type to avoid deadlock - patch 7
> - adjusted function iavf_is_descriptor_done() to extract fields from descriptor in a new
> way - patch 12
> - changed (and removed unused) defines that describe specific fields and bits in
> descriptor
> https://lore.kernel.org/netdev/20240730091509.18846-1-mateusz.polchlopek@intel.com/
>
> v7:
> - changed .ndo_eth_ioctl to .ndo_hwtstamp_get and .ndo_hwtstamp_set
> (according to Kuba's suggestion) - patch 11
> https://lore.kernel.org/netdev/20240604131400.13655-1-mateusz.polchlopek@intel.com/
>
> v6:
> - reordered tags
> - added RB tags where applicable
> - removed redundant instructions in ifs - patch 4 and patch 5
> - changed teardown to LIFO, adapter->ptp.initialized = false
> moved to the top of function - patch 6
> - changed cpu-endianess for testing - patch 9
> - aligned to libeth changes - patch 9
> https://lore.kernel.org/netdev/20240528112301.5374-1-mateusz.polchlopek@intel.com/
>
> v5:
> - fixed all new issues generated by this series in kernel-doc
> https://lore.kernel.org/netdev/20240418052500.50678-1-mateusz.polchlopek@intel.com/
>
> v4:
> - fixed duplicated argument in iavf_virtchnl.c reported by coccicheck
> https://lore.kernel.org/netdev/20240410121706.6223-1-mateusz.polchlopek@intel.com/
>
> v3:
> - added RB in commit 6
> - removed inline keyword in commit 9
> - fixed sparse issues in commit 9 and commit 10
> - used GENMASK_ULL when possible in commit 9
> https://lore.kernel.org/netdev/20240403131927.87021-1-mateusz.polchlopek@intel.com/
>
> v2:
> - fixed warning related to wrong specifier to dev_err_once in
> commit 7
> - fixed warnings related to unused variables in commit 9
> https://lore.kernel.org/netdev/20240327132543.15923-1-mateusz.polchlopek@intel.com/
>
> v1:
> - initial series
> https://lore.kernel.org/netdev/20240326115116.10040-1-mateusz.polchlopek@intel.com/
> ---
>
> Jacob Keller (10):
> virtchnl: add support for enabling PTP on iAVF
> virtchnl: add enumeration for the rxdid format
> iavf: add support for negotiating flexible RXDID format
> iavf: negotiate PTP capabilities
> iavf: add initial framework for registering PTP clock
> iavf: add support for indirect access to PHC time
> iavf: periodically cache PHC time
> iavf: refactor iavf_clean_rx_irq to support legacy and flex
> descriptors
> iavf: handle set and get timestamps ops
> iavf: add support for Rx timestamps to hotpath
>
> Mateusz Polchlopek (3):
> libeth: move idpf_rx_csum_decoded and idpf_rx_extracted
> iavf: define Rx descriptors as qwords
> iavf: Implement checking DD desc field
>
> Simei Su (1):
> ice: support Rx timestamp on flex descriptor
>
> drivers/net/ethernet/intel/iavf/Makefile | 2 +
> drivers/net/ethernet/intel/iavf/iavf.h | 35 +-
> drivers/net/ethernet/intel/iavf/iavf_main.c | 228 ++++++++-
> drivers/net/ethernet/intel/iavf/iavf_ptp.c | 481 ++++++++++++++++++
> drivers/net/ethernet/intel/iavf/iavf_ptp.h | 26 +
> drivers/net/ethernet/intel/iavf/iavf_trace.h | 6 +-
> drivers/net/ethernet/intel/iavf/iavf_txrx.c | 425 ++++++++++++----
> drivers/net/ethernet/intel/iavf/iavf_txrx.h | 22 +-
> drivers/net/ethernet/intel/iavf/iavf_type.h | 272 +++++-----
> drivers/net/ethernet/intel/iavf/iavf_types.h | 36 ++
> .../net/ethernet/intel/iavf/iavf_virtchnl.c | 223 ++++++++
> drivers/net/ethernet/intel/ice/ice_base.c | 3 -
> drivers/net/ethernet/intel/ice/ice_lib.c | 5 +-
> drivers/net/ethernet/intel/ice/ice_ptp.c | 4 +-
> drivers/net/ethernet/intel/ice/ice_ptp.h | 8 +
> drivers/net/ethernet/intel/ice/ice_vf_lib.h | 2 +
> drivers/net/ethernet/intel/ice/ice_virtchnl.c | 96 +++-
> drivers/net/ethernet/intel/ice/ice_virtchnl.h | 6 +
> .../intel/ice/ice_virtchnl_allowlist.c | 7 +
> .../ethernet/intel/idpf/idpf_singleq_txrx.c | 51 +-
> drivers/net/ethernet/intel/idpf/idpf_txrx.c | 16 +-
> drivers/net/ethernet/intel/idpf/idpf_txrx.h | 19 -
> include/linux/avf/virtchnl.h | 131 ++++-
> include/net/libeth/rx.h | 42 ++
> 24 files changed, 1810 insertions(+), 336 deletions(-)
> create mode 100644 drivers/net/ethernet/intel/iavf/iavf_ptp.c
> create mode 100644 drivers/net/ethernet/intel/iavf/iavf_ptp.h
> create mode 100644 drivers/net/ethernet/intel/iavf/iavf_types.h
>
>
> base-commit: d1815992133ebcc6007009645571f322f4bc7c44
prev parent reply other threads:[~2024-08-15 22:16 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-13 12:54 [Intel-wired-lan] [PATCH iwl-next v9 00/14] Add support for Rx timestamping for both ice and iavf drivers Mateusz Polchlopek
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 01/14] virtchnl: add support for enabling PTP on iAVF Mateusz Polchlopek
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 02/14] ice: support Rx timestamp on flex descriptor Mateusz Polchlopek
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 03/14] virtchnl: add enumeration for the rxdid format Mateusz Polchlopek
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 04/14] iavf: add support for negotiating flexible RXDID format Mateusz Polchlopek
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 05/14] iavf: negotiate PTP capabilities Mateusz Polchlopek
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 06/14] iavf: add initial framework for registering PTP clock Mateusz Polchlopek
2024-08-15 22:16 ` Tony Nguyen
2024-08-15 23:40 ` Keller, Jacob E
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 07/14] iavf: add support for indirect access to PHC time Mateusz Polchlopek
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 08/14] iavf: periodically cache " Mateusz Polchlopek
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 09/14] libeth: move idpf_rx_csum_decoded and idpf_rx_extracted Mateusz Polchlopek
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 10/14] iavf: define Rx descriptors as qwords Mateusz Polchlopek
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 11/14] iavf: refactor iavf_clean_rx_irq to support legacy and flex descriptors Mateusz Polchlopek
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 12/14] iavf: Implement checking DD desc field Mateusz Polchlopek
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 13/14] iavf: handle set and get timestamps ops Mateusz Polchlopek
2024-08-13 12:55 ` [Intel-wired-lan] [PATCH iwl-next v9 14/14] iavf: add support for Rx timestamps to hotpath Mateusz Polchlopek
2024-08-15 22:16 ` Tony Nguyen [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b9ed4b41-98c9-a562-ea6c-efdf3d9d3f62@intel.com \
--to=anthony.l.nguyen@intel.com \
--cc=aleksander.lobakin@intel.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=mateusz.polchlopek@intel.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox