Thread (17 messages) 17 messages, 3 authors, 2021-04-01

Re: [dpdk-dev] [PATCH 2/2] net/hns3: support IEEE 1588 PTP

From: Ferruh Yigit <hidden>
Date: 2021-03-30 13:59:32

On 3/26/2021 8:56 AM, Min Hu (Connor) wrote:
quoted hunk ↗ jump to hunk
Add hns3 support for new ethdev APIs to enable and read IEEE1588/
802.1AS PTP timestamps.

Signed-off-by: Min Hu (Connor) <redacted>
---
  doc/guides/nics/features/hns3.ini |   2 +
  doc/guides/nics/hns3.rst          |   1 +
  drivers/net/hns3/hns3_cmd.h       |  33 +++++
  drivers/net/hns3/hns3_ethdev.c    |  59 +++++++-
  drivers/net/hns3/hns3_ethdev.h    |  25 ++++
  drivers/net/hns3/hns3_ptp.c       | 294 ++++++++++++++++++++++++++++++++++++++
  drivers/net/hns3/hns3_regs.h      |  25 ++++
  drivers/net/hns3/hns3_rxtx.c      |  56 +++++++-
  drivers/net/hns3/hns3_rxtx.h      |  12 ++
  drivers/net/hns3/hns3_rxtx_vec.c  |  19 ++-
  drivers/net/hns3/meson.build      |   3 +-
  11 files changed, 516 insertions(+), 13 deletions(-)
  create mode 100644 drivers/net/hns3/hns3_ptp.c
diff --git a/doc/guides/nics/features/hns3.ini b/doc/guides/nics/features/hns3.ini
index 3988be4..502bfe7 100644
--- a/doc/guides/nics/features/hns3.ini
+++ b/doc/guides/nics/features/hns3.ini
@@ -43,6 +43,8 @@ Stats per queue      = Y
  FW version           = Y
  Registers dump       = Y
  Module EEPROM dump   = Y
+Timesync             = Y
+Timestamp offload    = Y
  Multiprocess aware   = Y
  Linux                = Y
  ARMv8                = Y
diff --git a/doc/guides/nics/hns3.rst b/doc/guides/nics/hns3.rst
index ccd2f6f..3366562 100644
--- a/doc/guides/nics/hns3.rst
+++ b/doc/guides/nics/hns3.rst
@@ -37,6 +37,7 @@ Features of the HNS3 PMD are:
  - MTU update
  - NUMA support
  - Generic flow API
+- IEEE1588/802.1AS timestamping
  
  Prerequisites
  -------------
diff --git a/drivers/net/hns3/hns3_cmd.h b/drivers/net/hns3/hns3_cmd.h
index e704d0c..abc853b 100644
--- a/drivers/net/hns3/hns3_cmd.h
+++ b/drivers/net/hns3/hns3_cmd.h
@@ -123,6 +123,12 @@ enum hns3_opcode_type {
  	HNS3_OPC_CLEAR_MAC_TNL_INT      = 0x0312,
  	HNS3_OPC_CONFIG_FEC_MODE        = 0x031A,
  
+#ifdef RTE_LIBRTE_IEEE1588
+	/* PTP command */
+	HNS3_OPC_PTP_INT_EN             = 0x0501,
+	HNS3_OPC_CFG_PTP_MODE           = 0x0507,
+#endif
+
Hi Connor,

Does it needs to be a compile time configuration? What happens if it is always 
enabled, or controlled by device argument?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help