Intel-Wired-Lan Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

      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