All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [PATCH iwl-next v2 00/12] Add support for Rx timestamping for both ice and iavf drivers.
@ 2024-03-27 13:25 Mateusz Polchlopek
  2024-03-27 13:25   ` Mateusz Polchlopek
                   ` (12 more replies)
  0 siblings, 13 replies; 33+ messages in thread
From: Mateusz Polchlopek @ 2024-03-27 13:25 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: netdev, Mateusz Polchlopek

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 SIOCSHWTSTAMP ioctl,
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.

---
v2:
- fixed warning related to wrong specifier to dev_err_once in
  commit 7
- fixed warnings related to unused variables in commit 9

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 SIOCSHWTSTAMP and SIOCGHWTSTAMP
  iavf: add support for Rx timestamps to hotpath

Mateusz Polchlopek (1):
  iavf: Implement checking DD desc field

Simei Su (1):
  ice: support Rx timestamp on flex descriptor

 drivers/net/ethernet/intel/iavf/Makefile      |   3 +-
 drivers/net/ethernet/intel/iavf/iavf.h        |  33 +-
 drivers/net/ethernet/intel/iavf/iavf_main.c   | 242 +++++++-
 drivers/net/ethernet/intel/iavf/iavf_ptp.c    | 530 ++++++++++++++++++
 drivers/net/ethernet/intel/iavf/iavf_ptp.h    |  46 ++
 drivers/net/ethernet/intel/iavf/iavf_txrx.c   | 422 +++++++++++---
 drivers/net/ethernet/intel/iavf/iavf_txrx.h   |  26 +-
 drivers/net/ethernet/intel/iavf/iavf_type.h   | 150 +++--
 .../net/ethernet/intel/iavf/iavf_virtchnl.c   | 237 ++++++++
 drivers/net/ethernet/intel/ice/ice_base.c     |   3 -
 drivers/net/ethernet/intel/ice/ice_ptp.c      |   4 +-
 drivers/net/ethernet/intel/ice/ice_ptp.h      |   2 +
 drivers/net/ethernet/intel/ice/ice_vf_lib.h   |   2 +
 drivers/net/ethernet/intel/ice/ice_virtchnl.c |  86 ++-
 drivers/net/ethernet/intel/ice/ice_virtchnl.h |   2 +
 .../intel/ice/ice_virtchnl_allowlist.c        |   6 +
 include/linux/avf/virtchnl.h                  | 127 ++++-
 17 files changed, 1760 insertions(+), 161 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/iavf/iavf_ptp.c
 create mode 100644 drivers/net/ethernet/intel/iavf/iavf_ptp.h

-- 
2.38.1


^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2024-03-31 16:51 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-27 13:25 [Intel-wired-lan] [PATCH iwl-next v2 00/12] Add support for Rx timestamping for both ice and iavf drivers Mateusz Polchlopek
2024-03-27 13:25 ` [Intel-wired-lan] [PATCH iwl-next v2 01/12] virtchnl: add support for enabling PTP on iAVF Mateusz Polchlopek
2024-03-27 13:25   ` Mateusz Polchlopek
2024-03-27 13:25 ` [Intel-wired-lan] [PATCH iwl-next v2 02/12] ice: support Rx timestamp on flex descriptor Mateusz Polchlopek
2024-03-27 13:25   ` Mateusz Polchlopek
2024-03-27 13:25 ` [Intel-wired-lan] [PATCH iwl-next v2 03/12] virtchnl: add enumeration for the rxdid format Mateusz Polchlopek
2024-03-27 13:25   ` Mateusz Polchlopek
2024-03-27 13:25 ` [Intel-wired-lan] [PATCH iwl-next v2 04/12] iavf: add support for negotiating flexible RXDID format Mateusz Polchlopek
2024-03-27 13:25   ` Mateusz Polchlopek
2024-03-27 13:25 ` [Intel-wired-lan] [PATCH iwl-next v2 05/12] iavf: negotiate PTP capabilities Mateusz Polchlopek
2024-03-27 13:25   ` Mateusz Polchlopek
2024-03-27 13:25 ` [Intel-wired-lan] [PATCH iwl-next v2 06/12] iavf: add initial framework for registering PTP clock Mateusz Polchlopek
2024-03-27 13:25   ` Mateusz Polchlopek
2024-03-27 13:25 ` [Intel-wired-lan] [PATCH iwl-next v2 07/12] iavf: add support for indirect access to PHC time Mateusz Polchlopek
2024-03-27 13:25   ` Mateusz Polchlopek
2024-03-27 13:25 ` [Intel-wired-lan] [PATCH iwl-next v2 08/12] iavf: periodically cache " Mateusz Polchlopek
2024-03-27 13:25   ` Mateusz Polchlopek
2024-03-27 13:25 ` [Intel-wired-lan] [PATCH iwl-next v2 09/12] iavf: refactor iavf_clean_rx_irq to support legacy and flex descriptors Mateusz Polchlopek
2024-03-27 13:25   ` Mateusz Polchlopek
2024-03-29 20:46   ` Tony Nguyen
2024-03-29 20:46     ` Tony Nguyen
2024-03-29 20:46     ` Tony Nguyen
2024-03-29 20:46     ` Tony Nguyen
2024-03-27 13:25 ` [Intel-wired-lan] [PATCH iwl-next v2 10/12] iavf: Implement checking DD desc field Mateusz Polchlopek
2024-03-27 13:25   ` Mateusz Polchlopek
2024-03-27 13:25 ` [Intel-wired-lan] [PATCH iwl-next v2 11/12] iavf: handle SIOCSHWTSTAMP and SIOCGHWTSTAMP Mateusz Polchlopek
2024-03-27 13:25   ` Mateusz Polchlopek
2024-03-27 13:25 ` [Intel-wired-lan] [PATCH iwl-next v2 12/12] iavf: add support for Rx timestamps to hotpath Mateusz Polchlopek
2024-03-27 13:25   ` Mateusz Polchlopek
2024-03-27 14:50 ` [Intel-wired-lan] [PATCH iwl-next v2 00/12] Add support for Rx timestamping for both ice and iavf drivers Jakub Kicinski
2024-03-27 14:50   ` Jakub Kicinski
2024-03-28  8:48   ` Mateusz Polchlopek
2024-03-28  8:48     ` Mateusz Polchlopek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.