All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH iwl-next v1 0/3] ice: add E825C device family support
@ 2023-12-06 19:29 ` Grzegorz Nitka
  0 siblings, 0 replies; 22+ messages in thread
From: Grzegorz Nitka @ 2023-12-06 19:29 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: netdev, Grzegorz Nitka

This patch series is supposed to add very basic support in ice driver
for new Intel Ethernet device family E825C.
E825C device consists of 2 NAC (Network Acceleration Complex) instances
in the IO die and supports max of 8 ports with combined bandwidth up to
200G.
There are 2 configurations (known as NAC Topology):
- single NAC (only one NAC is enabled) or
- dual NAC (both NACs are enabled, with one designated as primary and
  other as secondary).

This series covers:
- definition of new PCI device IDs assigned to E825C devices
- support for new 3k signed DDP segments

In the follow-up series support for new PHY and NAC topology parser
will be added.

Grzegorz Nitka (3):
  ice: introduce new E825C devices family
  ice:  Add helper function ice_is_generic_mac
  ice: add support for 3k signing DDP sections for E825C

 drivers/net/ethernet/intel/ice/ice_common.c   | 37 +++++++++++++++++++
 drivers/net/ethernet/intel/ice/ice_common.h   |  2 +
 drivers/net/ethernet/intel/ice/ice_controlq.c |  2 +-
 drivers/net/ethernet/intel/ice/ice_ddp.c      |  4 ++
 drivers/net/ethernet/intel/ice/ice_devids.h   |  8 ++++
 drivers/net/ethernet/intel/ice/ice_main.c     | 10 ++++-
 drivers/net/ethernet/intel/ice/ice_type.h     |  1 +
 7 files changed, 61 insertions(+), 3 deletions(-)


base-commit: 545c31d16cc00bba281ee1927d6338e27d4b7b5e
-- 
2.39.3


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

* [Intel-wired-lan] [PATCH iwl-next v1 0/3] ice: add E825C device family support
@ 2023-12-06 19:29 ` Grzegorz Nitka
  0 siblings, 0 replies; 22+ messages in thread
From: Grzegorz Nitka @ 2023-12-06 19:29 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: netdev

This patch series is supposed to add very basic support in ice driver
for new Intel Ethernet device family E825C.
E825C device consists of 2 NAC (Network Acceleration Complex) instances
in the IO die and supports max of 8 ports with combined bandwidth up to
200G.
There are 2 configurations (known as NAC Topology):
- single NAC (only one NAC is enabled) or
- dual NAC (both NACs are enabled, with one designated as primary and
  other as secondary).

This series covers:
- definition of new PCI device IDs assigned to E825C devices
- support for new 3k signed DDP segments

In the follow-up series support for new PHY and NAC topology parser
will be added.

Grzegorz Nitka (3):
  ice: introduce new E825C devices family
  ice:  Add helper function ice_is_generic_mac
  ice: add support for 3k signing DDP sections for E825C

 drivers/net/ethernet/intel/ice/ice_common.c   | 37 +++++++++++++++++++
 drivers/net/ethernet/intel/ice/ice_common.h   |  2 +
 drivers/net/ethernet/intel/ice/ice_controlq.c |  2 +-
 drivers/net/ethernet/intel/ice/ice_ddp.c      |  4 ++
 drivers/net/ethernet/intel/ice/ice_devids.h   |  8 ++++
 drivers/net/ethernet/intel/ice/ice_main.c     | 10 ++++-
 drivers/net/ethernet/intel/ice/ice_type.h     |  1 +
 7 files changed, 61 insertions(+), 3 deletions(-)


base-commit: 545c31d16cc00bba281ee1927d6338e27d4b7b5e
-- 
2.39.3

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

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

* [PATCH iwl-next v1 1/3] ice: introduce new E825C devices family
  2023-12-06 19:29 ` [Intel-wired-lan] " Grzegorz Nitka
@ 2023-12-06 19:29   ` Grzegorz Nitka
  -1 siblings, 0 replies; 22+ messages in thread
From: Grzegorz Nitka @ 2023-12-06 19:29 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: netdev, Grzegorz Nitka, Jan Glaza, Michal Michalik

Introduce new Intel Ethernet E825C family devices.
Add new PCI device IDs which are going to be supported by the
driver:
- 579C: Intel(R) Ethernet Connection E825-C for backplane
- 579D: Intel(R) Ethernet Connection E825-C for QSFP
- 579E: Intel(R) Ethernet Connection E825-C for SFP
- 579F: Intel(R) Ethernet Connection E825-C for SGMII

Add helper function ice_is_e825c() to verify if the running device
belongs to E825C family.

Co-developed-by: Jan Glaza <jan.glaza@intel.com>
Signed-off-by: Jan Glaza <jan.glaza@intel.com>
Co-developed-by: Michal Michalik <michal.michalik@intel.com>
Signed-off-by: Michal Michalik <michal.michalik@intel.com>
Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_common.c | 19 +++++++++++++++++++
 drivers/net/ethernet/intel/ice/ice_common.h |  1 +
 drivers/net/ethernet/intel/ice/ice_devids.h |  8 ++++++++
 drivers/net/ethernet/intel/ice/ice_main.c   |  4 ++++
 4 files changed, 32 insertions(+)

diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index 41b0ac666cb9..0a519310472b 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -240,6 +240,25 @@ bool ice_is_e823(struct ice_hw *hw)
 	}
 }
 
+/**
+ * ice_is_e825c - Check if a device is E825C family device
+ * @hw: pointer to the hardware structure
+ *
+ * Return: true if the device is E825-C based, false if not.
+ */
+bool ice_is_e825c(struct ice_hw *hw)
+{
+	switch (hw->device_id) {
+	case ICE_DEV_ID_E825C_BACKPLANE:
+	case ICE_DEV_ID_E825C_QSFP:
+	case ICE_DEV_ID_E825C_SFP:
+	case ICE_DEV_ID_E825C_SGMII:
+		return true;
+	default:
+		return false;
+	}
+}
+
 /**
  * ice_clear_pf_cfg - Clear PF configuration
  * @hw: pointer to the hardware structure
diff --git a/drivers/net/ethernet/intel/ice/ice_common.h b/drivers/net/ethernet/intel/ice/ice_common.h
index 9696ed59d1a8..39be42ae3711 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.h
+++ b/drivers/net/ethernet/intel/ice/ice_common.h
@@ -250,6 +250,7 @@ ice_stat_update32(struct ice_hw *hw, u32 reg, bool prev_stat_loaded,
 		  u64 *prev_stat, u64 *cur_stat);
 bool ice_is_e810t(struct ice_hw *hw);
 bool ice_is_e823(struct ice_hw *hw);
+bool ice_is_e825c(struct ice_hw *hw);
 int
 ice_sched_query_elem(struct ice_hw *hw, u32 node_teid,
 		     struct ice_aqc_txsched_elem_data *buf);
diff --git a/drivers/net/ethernet/intel/ice/ice_devids.h b/drivers/net/ethernet/intel/ice/ice_devids.h
index a2d384dbfc76..9dfae9bce758 100644
--- a/drivers/net/ethernet/intel/ice/ice_devids.h
+++ b/drivers/net/ethernet/intel/ice/ice_devids.h
@@ -71,5 +71,13 @@
 #define ICE_DEV_ID_E822L_10G_BASE_T	0x1899
 /* Intel(R) Ethernet Connection E822-L 1GbE */
 #define ICE_DEV_ID_E822L_SGMII		0x189A
+/* Intel(R) Ethernet Connection E825-C for backplane */
+#define ICE_DEV_ID_E825C_BACKPLANE	0x579c
+/* Intel(R) Ethernet Connection E825-C for QSFP */
+#define ICE_DEV_ID_E825C_QSFP		0x579d
+/* Intel(R) Ethernet Connection E825-C for SFP */
+#define ICE_DEV_ID_E825C_SFP		0x579e
+/* Intel(R) Ethernet Connection E825-C 1GbE */
+#define ICE_DEV_ID_E825C_SGMII		0x579f
 
 #endif /* _ICE_DEVIDS_H_ */
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index c04ee2255d95..0c3b64f65a0d 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -5774,6 +5774,10 @@ static const struct pci_device_id ice_pci_tbl[] = {
 	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E823L_1GBE) },
 	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E823L_QSFP) },
 	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E822_SI_DFLT) },
+	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E825C_BACKPLANE), },
+	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E825C_QSFP), },
+	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E825C_SFP), },
+	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E825C_SGMII), },
 	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E830_BACKPLANE) },
 	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E830_QSFP56) },
 	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E830_SFP) },
-- 
2.39.3


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

* [Intel-wired-lan] [PATCH iwl-next v1 1/3] ice: introduce new E825C devices family
@ 2023-12-06 19:29   ` Grzegorz Nitka
  0 siblings, 0 replies; 22+ messages in thread
From: Grzegorz Nitka @ 2023-12-06 19:29 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: netdev, Michal Michalik, Jan Glaza

Introduce new Intel Ethernet E825C family devices.
Add new PCI device IDs which are going to be supported by the
driver:
- 579C: Intel(R) Ethernet Connection E825-C for backplane
- 579D: Intel(R) Ethernet Connection E825-C for QSFP
- 579E: Intel(R) Ethernet Connection E825-C for SFP
- 579F: Intel(R) Ethernet Connection E825-C for SGMII

Add helper function ice_is_e825c() to verify if the running device
belongs to E825C family.

Co-developed-by: Jan Glaza <jan.glaza@intel.com>
Signed-off-by: Jan Glaza <jan.glaza@intel.com>
Co-developed-by: Michal Michalik <michal.michalik@intel.com>
Signed-off-by: Michal Michalik <michal.michalik@intel.com>
Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_common.c | 19 +++++++++++++++++++
 drivers/net/ethernet/intel/ice/ice_common.h |  1 +
 drivers/net/ethernet/intel/ice/ice_devids.h |  8 ++++++++
 drivers/net/ethernet/intel/ice/ice_main.c   |  4 ++++
 4 files changed, 32 insertions(+)

diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index 41b0ac666cb9..0a519310472b 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -240,6 +240,25 @@ bool ice_is_e823(struct ice_hw *hw)
 	}
 }
 
+/**
+ * ice_is_e825c - Check if a device is E825C family device
+ * @hw: pointer to the hardware structure
+ *
+ * Return: true if the device is E825-C based, false if not.
+ */
+bool ice_is_e825c(struct ice_hw *hw)
+{
+	switch (hw->device_id) {
+	case ICE_DEV_ID_E825C_BACKPLANE:
+	case ICE_DEV_ID_E825C_QSFP:
+	case ICE_DEV_ID_E825C_SFP:
+	case ICE_DEV_ID_E825C_SGMII:
+		return true;
+	default:
+		return false;
+	}
+}
+
 /**
  * ice_clear_pf_cfg - Clear PF configuration
  * @hw: pointer to the hardware structure
diff --git a/drivers/net/ethernet/intel/ice/ice_common.h b/drivers/net/ethernet/intel/ice/ice_common.h
index 9696ed59d1a8..39be42ae3711 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.h
+++ b/drivers/net/ethernet/intel/ice/ice_common.h
@@ -250,6 +250,7 @@ ice_stat_update32(struct ice_hw *hw, u32 reg, bool prev_stat_loaded,
 		  u64 *prev_stat, u64 *cur_stat);
 bool ice_is_e810t(struct ice_hw *hw);
 bool ice_is_e823(struct ice_hw *hw);
+bool ice_is_e825c(struct ice_hw *hw);
 int
 ice_sched_query_elem(struct ice_hw *hw, u32 node_teid,
 		     struct ice_aqc_txsched_elem_data *buf);
diff --git a/drivers/net/ethernet/intel/ice/ice_devids.h b/drivers/net/ethernet/intel/ice/ice_devids.h
index a2d384dbfc76..9dfae9bce758 100644
--- a/drivers/net/ethernet/intel/ice/ice_devids.h
+++ b/drivers/net/ethernet/intel/ice/ice_devids.h
@@ -71,5 +71,13 @@
 #define ICE_DEV_ID_E822L_10G_BASE_T	0x1899
 /* Intel(R) Ethernet Connection E822-L 1GbE */
 #define ICE_DEV_ID_E822L_SGMII		0x189A
+/* Intel(R) Ethernet Connection E825-C for backplane */
+#define ICE_DEV_ID_E825C_BACKPLANE	0x579c
+/* Intel(R) Ethernet Connection E825-C for QSFP */
+#define ICE_DEV_ID_E825C_QSFP		0x579d
+/* Intel(R) Ethernet Connection E825-C for SFP */
+#define ICE_DEV_ID_E825C_SFP		0x579e
+/* Intel(R) Ethernet Connection E825-C 1GbE */
+#define ICE_DEV_ID_E825C_SGMII		0x579f
 
 #endif /* _ICE_DEVIDS_H_ */
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index c04ee2255d95..0c3b64f65a0d 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -5774,6 +5774,10 @@ static const struct pci_device_id ice_pci_tbl[] = {
 	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E823L_1GBE) },
 	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E823L_QSFP) },
 	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E822_SI_DFLT) },
+	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E825C_BACKPLANE), },
+	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E825C_QSFP), },
+	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E825C_SFP), },
+	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E825C_SGMII), },
 	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E830_BACKPLANE) },
 	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E830_QSFP56) },
 	{ PCI_VDEVICE(INTEL, ICE_DEV_ID_E830_SFP) },
-- 
2.39.3

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

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

* [PATCH iwl-next v1 2/3] ice:  Add helper function ice_is_generic_mac
  2023-12-06 19:29 ` [Intel-wired-lan] " Grzegorz Nitka
@ 2023-12-06 19:29   ` Grzegorz Nitka
  -1 siblings, 0 replies; 22+ messages in thread
From: Grzegorz Nitka @ 2023-12-06 19:29 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: netdev, Grzegorz Nitka, Anirudh Venkataramanan

E800 series devices have a couple of quirks:
1. Sideband control queues are not supported
2. The registers that the driver needs to program for the "Precision
   Time Protocol (PTP)" feature are different for E800 series devices
   compared to other devices supported by this driver.

Both these require conditional logic based on the underlying device we
are dealing with.

The function ice_is_sbq_supported added by commit 8f5ee3c477a8
("ice: add support for sideband messages") addresses (1).
The same function can be used to address (2) as well
but this just looks weird readability wise in cases that have nothing
to do with sideband control queues:

	if (ice_is_sbq_supported(hw))
		/* program register A */
	else
		/* program register B */

For these cases, the function ice_is_generic_mac introduced by this
patch communicates the idea/intention better. Also rework
ice_is_sbq_supported to use this new function.
As side-band queue is supported for E825C devices, it's mac_type is
considered as generic mac_type.

Co-developed-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_common.c   | 12 ++++++++++++
 drivers/net/ethernet/intel/ice/ice_common.h   |  1 +
 drivers/net/ethernet/intel/ice/ice_controlq.c |  2 +-
 drivers/net/ethernet/intel/ice/ice_main.c     |  6 ++++--
 drivers/net/ethernet/intel/ice/ice_type.h     |  1 +
 5 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index 0a519310472b..2a973fac8e54 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -169,6 +169,18 @@ static int ice_set_mac_type(struct ice_hw *hw)
 	return 0;
 }
 
+/**
+ * ice_is_generic_mac - check if device's mac_type is generic
+ * @hw: pointer to the hardware structure
+ *
+ * Return: true if mac_type is generic (with SBQ support), false if not
+ */
+bool ice_is_generic_mac(struct ice_hw *hw)
+{
+	return (hw->mac_type == ICE_MAC_GENERIC ||
+		hw->mac_type == ICE_MAC_GENERIC_3K_E825);
+}
+
 /**
  * ice_is_e810
  * @hw: pointer to the hardware structure
diff --git a/drivers/net/ethernet/intel/ice/ice_common.h b/drivers/net/ethernet/intel/ice/ice_common.h
index 39be42ae3711..d0ef1fdd6493 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.h
+++ b/drivers/net/ethernet/intel/ice/ice_common.h
@@ -111,6 +111,7 @@ ice_update_phy_type(u64 *phy_type_low, u64 *phy_type_high,
 int
 ice_aq_manage_mac_write(struct ice_hw *hw, const u8 *mac_addr, u8 flags,
 			struct ice_sq_cd *cd);
+bool ice_is_generic_mac(struct ice_hw *hw);
 bool ice_is_e810(struct ice_hw *hw);
 int ice_clear_pf_cfg(struct ice_hw *hw);
 int
diff --git a/drivers/net/ethernet/intel/ice/ice_controlq.c b/drivers/net/ethernet/intel/ice/ice_controlq.c
index e7d2474c431c..ffe660f34992 100644
--- a/drivers/net/ethernet/intel/ice/ice_controlq.c
+++ b/drivers/net/ethernet/intel/ice/ice_controlq.c
@@ -666,7 +666,7 @@ bool ice_is_sbq_supported(struct ice_hw *hw)
 	/* The device sideband queue is only supported on devices with the
 	 * generic MAC type.
 	 */
-	return hw->mac_type == ICE_MAC_GENERIC;
+	return ice_is_generic_mac(hw);
 }
 
 /**
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index 0c3b64f65a0d..71e6d1252df5 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -1649,8 +1649,10 @@ static void ice_clean_sbq_subtask(struct ice_pf *pf)
 {
 	struct ice_hw *hw = &pf->hw;
 
-	/* Nothing to do here if sideband queue is not supported */
-	if (!ice_is_sbq_supported(hw)) {
+	/* if mac_type is not generic, sideband is not supported
+	 * and there's nothing to do here
+	 */
+	if (!ice_is_generic_mac(hw)) {
 		clear_bit(ICE_SIDEBANDQ_EVENT_PENDING, pf->state);
 		return;
 	}
diff --git a/drivers/net/ethernet/intel/ice/ice_type.h b/drivers/net/ethernet/intel/ice/ice_type.h
index 1fff865d0661..935b1a3394de 100644
--- a/drivers/net/ethernet/intel/ice/ice_type.h
+++ b/drivers/net/ethernet/intel/ice/ice_type.h
@@ -132,6 +132,7 @@ enum ice_mac_type {
 	ICE_MAC_E810,
 	ICE_MAC_E830,
 	ICE_MAC_GENERIC,
+	ICE_MAC_GENERIC_3K_E825,
 };
 
 /* Media Types */
-- 
2.39.3


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

* [Intel-wired-lan] [PATCH iwl-next v1 2/3] ice: Add helper function ice_is_generic_mac
@ 2023-12-06 19:29   ` Grzegorz Nitka
  0 siblings, 0 replies; 22+ messages in thread
From: Grzegorz Nitka @ 2023-12-06 19:29 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: netdev, Anirudh Venkataramanan

E800 series devices have a couple of quirks:
1. Sideband control queues are not supported
2. The registers that the driver needs to program for the "Precision
   Time Protocol (PTP)" feature are different for E800 series devices
   compared to other devices supported by this driver.

Both these require conditional logic based on the underlying device we
are dealing with.

The function ice_is_sbq_supported added by commit 8f5ee3c477a8
("ice: add support for sideband messages") addresses (1).
The same function can be used to address (2) as well
but this just looks weird readability wise in cases that have nothing
to do with sideband control queues:

	if (ice_is_sbq_supported(hw))
		/* program register A */
	else
		/* program register B */

For these cases, the function ice_is_generic_mac introduced by this
patch communicates the idea/intention better. Also rework
ice_is_sbq_supported to use this new function.
As side-band queue is supported for E825C devices, it's mac_type is
considered as generic mac_type.

Co-developed-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_common.c   | 12 ++++++++++++
 drivers/net/ethernet/intel/ice/ice_common.h   |  1 +
 drivers/net/ethernet/intel/ice/ice_controlq.c |  2 +-
 drivers/net/ethernet/intel/ice/ice_main.c     |  6 ++++--
 drivers/net/ethernet/intel/ice/ice_type.h     |  1 +
 5 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index 0a519310472b..2a973fac8e54 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -169,6 +169,18 @@ static int ice_set_mac_type(struct ice_hw *hw)
 	return 0;
 }
 
+/**
+ * ice_is_generic_mac - check if device's mac_type is generic
+ * @hw: pointer to the hardware structure
+ *
+ * Return: true if mac_type is generic (with SBQ support), false if not
+ */
+bool ice_is_generic_mac(struct ice_hw *hw)
+{
+	return (hw->mac_type == ICE_MAC_GENERIC ||
+		hw->mac_type == ICE_MAC_GENERIC_3K_E825);
+}
+
 /**
  * ice_is_e810
  * @hw: pointer to the hardware structure
diff --git a/drivers/net/ethernet/intel/ice/ice_common.h b/drivers/net/ethernet/intel/ice/ice_common.h
index 39be42ae3711..d0ef1fdd6493 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.h
+++ b/drivers/net/ethernet/intel/ice/ice_common.h
@@ -111,6 +111,7 @@ ice_update_phy_type(u64 *phy_type_low, u64 *phy_type_high,
 int
 ice_aq_manage_mac_write(struct ice_hw *hw, const u8 *mac_addr, u8 flags,
 			struct ice_sq_cd *cd);
+bool ice_is_generic_mac(struct ice_hw *hw);
 bool ice_is_e810(struct ice_hw *hw);
 int ice_clear_pf_cfg(struct ice_hw *hw);
 int
diff --git a/drivers/net/ethernet/intel/ice/ice_controlq.c b/drivers/net/ethernet/intel/ice/ice_controlq.c
index e7d2474c431c..ffe660f34992 100644
--- a/drivers/net/ethernet/intel/ice/ice_controlq.c
+++ b/drivers/net/ethernet/intel/ice/ice_controlq.c
@@ -666,7 +666,7 @@ bool ice_is_sbq_supported(struct ice_hw *hw)
 	/* The device sideband queue is only supported on devices with the
 	 * generic MAC type.
 	 */
-	return hw->mac_type == ICE_MAC_GENERIC;
+	return ice_is_generic_mac(hw);
 }
 
 /**
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index 0c3b64f65a0d..71e6d1252df5 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -1649,8 +1649,10 @@ static void ice_clean_sbq_subtask(struct ice_pf *pf)
 {
 	struct ice_hw *hw = &pf->hw;
 
-	/* Nothing to do here if sideband queue is not supported */
-	if (!ice_is_sbq_supported(hw)) {
+	/* if mac_type is not generic, sideband is not supported
+	 * and there's nothing to do here
+	 */
+	if (!ice_is_generic_mac(hw)) {
 		clear_bit(ICE_SIDEBANDQ_EVENT_PENDING, pf->state);
 		return;
 	}
diff --git a/drivers/net/ethernet/intel/ice/ice_type.h b/drivers/net/ethernet/intel/ice/ice_type.h
index 1fff865d0661..935b1a3394de 100644
--- a/drivers/net/ethernet/intel/ice/ice_type.h
+++ b/drivers/net/ethernet/intel/ice/ice_type.h
@@ -132,6 +132,7 @@ enum ice_mac_type {
 	ICE_MAC_E810,
 	ICE_MAC_E830,
 	ICE_MAC_GENERIC,
+	ICE_MAC_GENERIC_3K_E825,
 };
 
 /* Media Types */
-- 
2.39.3

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

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

* [PATCH iwl-next v1 3/3] ice: add support for 3k signing DDP sections for E825C
  2023-12-06 19:29 ` [Intel-wired-lan] " Grzegorz Nitka
@ 2023-12-06 19:29   ` Grzegorz Nitka
  -1 siblings, 0 replies; 22+ messages in thread
From: Grzegorz Nitka @ 2023-12-06 19:29 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: netdev, Grzegorz Nitka

E825C devices shall support the new signing type of RSA 3K for new DDP
section (SEGMENT_SIGN_TYPE_RSA3K_E825 (5) - already in the code).
The driver is responsible to verify the presence of correct signing type.
Add 3k signinig support for E825C devices based on mac_type:
ICE_MAC_GENERIC_3K_E825;

Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_common.c | 6 ++++++
 drivers/net/ethernet/intel/ice/ice_ddp.c    | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index 2a973fac8e54..cf4d7287f716 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -154,6 +154,12 @@ static int ice_set_mac_type(struct ice_hw *hw)
 	case ICE_DEV_ID_E823L_SFP:
 		hw->mac_type = ICE_MAC_GENERIC;
 		break;
+	case ICE_DEV_ID_E825C_BACKPLANE:
+	case ICE_DEV_ID_E825C_QSFP:
+	case ICE_DEV_ID_E825C_SFP:
+	case ICE_DEV_ID_E825C_SGMII:
+		hw->mac_type = ICE_MAC_GENERIC_3K_E825;
+		break;
 	case ICE_DEV_ID_E830_BACKPLANE:
 	case ICE_DEV_ID_E830_QSFP56:
 	case ICE_DEV_ID_E830_SFP:
diff --git a/drivers/net/ethernet/intel/ice/ice_ddp.c b/drivers/net/ethernet/intel/ice/ice_ddp.c
index 8b7504a9df31..7532d11ad7f3 100644
--- a/drivers/net/ethernet/intel/ice/ice_ddp.c
+++ b/drivers/net/ethernet/intel/ice/ice_ddp.c
@@ -1825,6 +1825,7 @@ static u32 ice_get_pkg_segment_id(enum ice_mac_type mac_type)
 		seg_id = SEGMENT_TYPE_ICE_E830;
 		break;
 	case ICE_MAC_GENERIC:
+	case ICE_MAC_GENERIC_3K_E825:
 	default:
 		seg_id = SEGMENT_TYPE_ICE_E810;
 		break;
@@ -1845,6 +1846,9 @@ static u32 ice_get_pkg_sign_type(enum ice_mac_type mac_type)
 	case ICE_MAC_E830:
 		sign_type = SEGMENT_SIGN_TYPE_RSA3K_SBB;
 		break;
+	case ICE_MAC_GENERIC_3K_E825:
+		sign_type = SEGMENT_SIGN_TYPE_RSA3K_E825;
+		break;
 	case ICE_MAC_GENERIC:
 	default:
 		sign_type = SEGMENT_SIGN_TYPE_RSA2K;
-- 
2.39.3


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

* [Intel-wired-lan] [PATCH iwl-next v1 3/3] ice: add support for 3k signing DDP sections for E825C
@ 2023-12-06 19:29   ` Grzegorz Nitka
  0 siblings, 0 replies; 22+ messages in thread
From: Grzegorz Nitka @ 2023-12-06 19:29 UTC (permalink / raw)
  To: intel-wired-lan; +Cc: netdev

E825C devices shall support the new signing type of RSA 3K for new DDP
section (SEGMENT_SIGN_TYPE_RSA3K_E825 (5) - already in the code).
The driver is responsible to verify the presence of correct signing type.
Add 3k signinig support for E825C devices based on mac_type:
ICE_MAC_GENERIC_3K_E825;

Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_common.c | 6 ++++++
 drivers/net/ethernet/intel/ice/ice_ddp.c    | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index 2a973fac8e54..cf4d7287f716 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -154,6 +154,12 @@ static int ice_set_mac_type(struct ice_hw *hw)
 	case ICE_DEV_ID_E823L_SFP:
 		hw->mac_type = ICE_MAC_GENERIC;
 		break;
+	case ICE_DEV_ID_E825C_BACKPLANE:
+	case ICE_DEV_ID_E825C_QSFP:
+	case ICE_DEV_ID_E825C_SFP:
+	case ICE_DEV_ID_E825C_SGMII:
+		hw->mac_type = ICE_MAC_GENERIC_3K_E825;
+		break;
 	case ICE_DEV_ID_E830_BACKPLANE:
 	case ICE_DEV_ID_E830_QSFP56:
 	case ICE_DEV_ID_E830_SFP:
diff --git a/drivers/net/ethernet/intel/ice/ice_ddp.c b/drivers/net/ethernet/intel/ice/ice_ddp.c
index 8b7504a9df31..7532d11ad7f3 100644
--- a/drivers/net/ethernet/intel/ice/ice_ddp.c
+++ b/drivers/net/ethernet/intel/ice/ice_ddp.c
@@ -1825,6 +1825,7 @@ static u32 ice_get_pkg_segment_id(enum ice_mac_type mac_type)
 		seg_id = SEGMENT_TYPE_ICE_E830;
 		break;
 	case ICE_MAC_GENERIC:
+	case ICE_MAC_GENERIC_3K_E825:
 	default:
 		seg_id = SEGMENT_TYPE_ICE_E810;
 		break;
@@ -1845,6 +1846,9 @@ static u32 ice_get_pkg_sign_type(enum ice_mac_type mac_type)
 	case ICE_MAC_E830:
 		sign_type = SEGMENT_SIGN_TYPE_RSA3K_SBB;
 		break;
+	case ICE_MAC_GENERIC_3K_E825:
+		sign_type = SEGMENT_SIGN_TYPE_RSA3K_E825;
+		break;
 	case ICE_MAC_GENERIC:
 	default:
 		sign_type = SEGMENT_SIGN_TYPE_RSA2K;
-- 
2.39.3

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

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

* Re: [Intel-wired-lan] [PATCH iwl-next v1 0/3] ice: add E825C device family support
  2023-12-06 19:29 ` [Intel-wired-lan] " Grzegorz Nitka
@ 2023-12-07  9:11   ` Mateusz Polchlopek
  -1 siblings, 0 replies; 22+ messages in thread
From: Mateusz Polchlopek @ 2023-12-07  9:11 UTC (permalink / raw)
  To: Grzegorz Nitka, intel-wired-lan; +Cc: netdev



On 12/6/2023 8:29 PM, Grzegorz Nitka wrote:
> This patch series is supposed to add very basic support in ice driver
> for new Intel Ethernet device family E825C.
> E825C device consists of 2 NAC (Network Acceleration Complex) instances
> in the IO die and supports max of 8 ports with combined bandwidth up to
> 200G.
> There are 2 configurations (known as NAC Topology):
> - single NAC (only one NAC is enabled) or
> - dual NAC (both NACs are enabled, with one designated as primary and
>    other as secondary).
> 
> This series covers:
> - definition of new PCI device IDs assigned to E825C devices
> - support for new 3k signed DDP segments
> 
> In the follow-up series support for new PHY and NAC topology parser
> will be added.
> 
> Grzegorz Nitka (3):
>    ice: introduce new E825C devices family
>    ice:  Add helper function ice_is_generic_mac
>    ice: add support for 3k signing DDP sections for E825C
> 
>   drivers/net/ethernet/intel/ice/ice_common.c   | 37 +++++++++++++++++++
>   drivers/net/ethernet/intel/ice/ice_common.h   |  2 +
>   drivers/net/ethernet/intel/ice/ice_controlq.c |  2 +-
>   drivers/net/ethernet/intel/ice/ice_ddp.c      |  4 ++
>   drivers/net/ethernet/intel/ice/ice_devids.h   |  8 ++++
>   drivers/net/ethernet/intel/ice/ice_main.c     | 10 ++++-
>   drivers/net/ethernet/intel/ice/ice_type.h     |  1 +
>   7 files changed, 61 insertions(+), 3 deletions(-)
> 
> 
> base-commit: 545c31d16cc00bba281ee1927d6338e27d4b7b5e

Thanks Grzegorz.

For series:
Reviewed-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

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

* Re: [PATCH iwl-next v1 0/3] ice: add E825C device family support
@ 2023-12-07  9:11   ` Mateusz Polchlopek
  0 siblings, 0 replies; 22+ messages in thread
From: Mateusz Polchlopek @ 2023-12-07  9:11 UTC (permalink / raw)
  To: Grzegorz Nitka, intel-wired-lan; +Cc: netdev



On 12/6/2023 8:29 PM, Grzegorz Nitka wrote:
> This patch series is supposed to add very basic support in ice driver
> for new Intel Ethernet device family E825C.
> E825C device consists of 2 NAC (Network Acceleration Complex) instances
> in the IO die and supports max of 8 ports with combined bandwidth up to
> 200G.
> There are 2 configurations (known as NAC Topology):
> - single NAC (only one NAC is enabled) or
> - dual NAC (both NACs are enabled, with one designated as primary and
>    other as secondary).
> 
> This series covers:
> - definition of new PCI device IDs assigned to E825C devices
> - support for new 3k signed DDP segments
> 
> In the follow-up series support for new PHY and NAC topology parser
> will be added.
> 
> Grzegorz Nitka (3):
>    ice: introduce new E825C devices family
>    ice:  Add helper function ice_is_generic_mac
>    ice: add support for 3k signing DDP sections for E825C
> 
>   drivers/net/ethernet/intel/ice/ice_common.c   | 37 +++++++++++++++++++
>   drivers/net/ethernet/intel/ice/ice_common.h   |  2 +
>   drivers/net/ethernet/intel/ice/ice_controlq.c |  2 +-
>   drivers/net/ethernet/intel/ice/ice_ddp.c      |  4 ++
>   drivers/net/ethernet/intel/ice/ice_devids.h   |  8 ++++
>   drivers/net/ethernet/intel/ice/ice_main.c     | 10 ++++-
>   drivers/net/ethernet/intel/ice/ice_type.h     |  1 +
>   7 files changed, 61 insertions(+), 3 deletions(-)
> 
> 
> base-commit: 545c31d16cc00bba281ee1927d6338e27d4b7b5e

Thanks Grzegorz.

For series:
Reviewed-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>

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

* Re: [PATCH iwl-next v1 1/3] ice: introduce new E825C devices family
  2023-12-06 19:29   ` [Intel-wired-lan] " Grzegorz Nitka
@ 2023-12-12 10:01     ` Simon Horman
  -1 siblings, 0 replies; 22+ messages in thread
From: Simon Horman @ 2023-12-12 10:01 UTC (permalink / raw)
  To: Grzegorz Nitka; +Cc: intel-wired-lan, netdev, Jan Glaza, Michal Michalik

On Wed, Dec 06, 2023 at 08:29:17PM +0100, Grzegorz Nitka wrote:
> Introduce new Intel Ethernet E825C family devices.
> Add new PCI device IDs which are going to be supported by the
> driver:
> - 579C: Intel(R) Ethernet Connection E825-C for backplane
> - 579D: Intel(R) Ethernet Connection E825-C for QSFP
> - 579E: Intel(R) Ethernet Connection E825-C for SFP
> - 579F: Intel(R) Ethernet Connection E825-C for SGMII
> 
> Add helper function ice_is_e825c() to verify if the running device
> belongs to E825C family.
> 
> Co-developed-by: Jan Glaza <jan.glaza@intel.com>
> Signed-off-by: Jan Glaza <jan.glaza@intel.com>
> Co-developed-by: Michal Michalik <michal.michalik@intel.com>
> Signed-off-by: Michal Michalik <michal.michalik@intel.com>
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>

Reviewed-by: Simon Horman <horms@kernel.org>


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

* Re: [Intel-wired-lan] [PATCH iwl-next v1 1/3] ice: introduce new E825C devices family
@ 2023-12-12 10:01     ` Simon Horman
  0 siblings, 0 replies; 22+ messages in thread
From: Simon Horman @ 2023-12-12 10:01 UTC (permalink / raw)
  To: Grzegorz Nitka; +Cc: netdev, intel-wired-lan, Michal Michalik, Jan Glaza

On Wed, Dec 06, 2023 at 08:29:17PM +0100, Grzegorz Nitka wrote:
> Introduce new Intel Ethernet E825C family devices.
> Add new PCI device IDs which are going to be supported by the
> driver:
> - 579C: Intel(R) Ethernet Connection E825-C for backplane
> - 579D: Intel(R) Ethernet Connection E825-C for QSFP
> - 579E: Intel(R) Ethernet Connection E825-C for SFP
> - 579F: Intel(R) Ethernet Connection E825-C for SGMII
> 
> Add helper function ice_is_e825c() to verify if the running device
> belongs to E825C family.
> 
> Co-developed-by: Jan Glaza <jan.glaza@intel.com>
> Signed-off-by: Jan Glaza <jan.glaza@intel.com>
> Co-developed-by: Michal Michalik <michal.michalik@intel.com>
> Signed-off-by: Michal Michalik <michal.michalik@intel.com>
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>

Reviewed-by: Simon Horman <horms@kernel.org>

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

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

* Re: [PATCH iwl-next v1 2/3] ice:  Add helper function ice_is_generic_mac
  2023-12-06 19:29   ` [Intel-wired-lan] " Grzegorz Nitka
@ 2023-12-12 10:01     ` Simon Horman
  -1 siblings, 0 replies; 22+ messages in thread
From: Simon Horman @ 2023-12-12 10:01 UTC (permalink / raw)
  To: Grzegorz Nitka; +Cc: intel-wired-lan, netdev, Anirudh Venkataramanan

On Wed, Dec 06, 2023 at 08:29:18PM +0100, Grzegorz Nitka wrote:
> E800 series devices have a couple of quirks:
> 1. Sideband control queues are not supported
> 2. The registers that the driver needs to program for the "Precision
>    Time Protocol (PTP)" feature are different for E800 series devices
>    compared to other devices supported by this driver.
> 
> Both these require conditional logic based on the underlying device we
> are dealing with.
> 
> The function ice_is_sbq_supported added by commit 8f5ee3c477a8
> ("ice: add support for sideband messages") addresses (1).
> The same function can be used to address (2) as well
> but this just looks weird readability wise in cases that have nothing
> to do with sideband control queues:
> 
> 	if (ice_is_sbq_supported(hw))
> 		/* program register A */
> 	else
> 		/* program register B */
> 
> For these cases, the function ice_is_generic_mac introduced by this
> patch communicates the idea/intention better. Also rework
> ice_is_sbq_supported to use this new function.
> As side-band queue is supported for E825C devices, it's mac_type is
> considered as generic mac_type.
> 
> Co-developed-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
> Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>

Reviewed-by: Simon Horman <horms@kernel.org>


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

* Re: [Intel-wired-lan] [PATCH iwl-next v1 2/3] ice: Add helper function ice_is_generic_mac
@ 2023-12-12 10:01     ` Simon Horman
  0 siblings, 0 replies; 22+ messages in thread
From: Simon Horman @ 2023-12-12 10:01 UTC (permalink / raw)
  To: Grzegorz Nitka; +Cc: netdev, Anirudh Venkataramanan, intel-wired-lan

On Wed, Dec 06, 2023 at 08:29:18PM +0100, Grzegorz Nitka wrote:
> E800 series devices have a couple of quirks:
> 1. Sideband control queues are not supported
> 2. The registers that the driver needs to program for the "Precision
>    Time Protocol (PTP)" feature are different for E800 series devices
>    compared to other devices supported by this driver.
> 
> Both these require conditional logic based on the underlying device we
> are dealing with.
> 
> The function ice_is_sbq_supported added by commit 8f5ee3c477a8
> ("ice: add support for sideband messages") addresses (1).
> The same function can be used to address (2) as well
> but this just looks weird readability wise in cases that have nothing
> to do with sideband control queues:
> 
> 	if (ice_is_sbq_supported(hw))
> 		/* program register A */
> 	else
> 		/* program register B */
> 
> For these cases, the function ice_is_generic_mac introduced by this
> patch communicates the idea/intention better. Also rework
> ice_is_sbq_supported to use this new function.
> As side-band queue is supported for E825C devices, it's mac_type is
> considered as generic mac_type.
> 
> Co-developed-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
> Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>

Reviewed-by: Simon Horman <horms@kernel.org>

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

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

* Re: [Intel-wired-lan] [PATCH iwl-next v1 3/3] ice: add support for 3k signing DDP sections for E825C
  2023-12-06 19:29   ` [Intel-wired-lan] " Grzegorz Nitka
@ 2023-12-12 10:02     ` Simon Horman
  -1 siblings, 0 replies; 22+ messages in thread
From: Simon Horman @ 2023-12-12 10:02 UTC (permalink / raw)
  To: Grzegorz Nitka; +Cc: netdev, intel-wired-lan

On Wed, Dec 06, 2023 at 08:29:19PM +0100, Grzegorz Nitka wrote:
> E825C devices shall support the new signing type of RSA 3K for new DDP
> section (SEGMENT_SIGN_TYPE_RSA3K_E825 (5) - already in the code).
> The driver is responsible to verify the presence of correct signing type.
> Add 3k signinig support for E825C devices based on mac_type:
> ICE_MAC_GENERIC_3K_E825;
> 
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>

Reviewed-by: Simon Horman <horms@kernel.org>

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

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

* Re: [PATCH iwl-next v1 3/3] ice: add support for 3k signing DDP sections for E825C
@ 2023-12-12 10:02     ` Simon Horman
  0 siblings, 0 replies; 22+ messages in thread
From: Simon Horman @ 2023-12-12 10:02 UTC (permalink / raw)
  To: Grzegorz Nitka; +Cc: intel-wired-lan, netdev

On Wed, Dec 06, 2023 at 08:29:19PM +0100, Grzegorz Nitka wrote:
> E825C devices shall support the new signing type of RSA 3K for new DDP
> section (SEGMENT_SIGN_TYPE_RSA3K_E825 (5) - already in the code).
> The driver is responsible to verify the presence of correct signing type.
> Add 3k signinig support for E825C devices based on mac_type:
> ICE_MAC_GENERIC_3K_E825;
> 
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>

Reviewed-by: Simon Horman <horms@kernel.org>


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

* Re: [Intel-wired-lan] [PATCH iwl-next v1 1/3] ice: introduce new E825C devices family
  2023-12-06 19:29   ` [Intel-wired-lan] " Grzegorz Nitka
@ 2024-01-08  4:50     ` Pucha, HimasekharX Reddy
  -1 siblings, 0 replies; 22+ messages in thread
From: Pucha, HimasekharX Reddy @ 2024-01-08  4:50 UTC (permalink / raw)
  To: Nitka, Grzegorz, intel-wired-lan; +Cc: netdev, Glaza, Jan, Michalik, Michal

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Grzegorz Nitka
> Sent: Thursday, December 7, 2023 12:59 AM
> To: intel-wired-lan@lists.osuosl.org
> Cc: netdev@vger.kernel.org; Michalik, Michal <michal.michalik@intel.com>; Glaza, Jan <jan.glaza@intel.com>
> Subject: [Intel-wired-lan] [PATCH iwl-next v1 1/3] ice: introduce new E825C devices family
>
> Introduce new Intel Ethernet E825C family devices.
> Add new PCI device IDs which are going to be supported by the
> driver:
> - 579C: Intel(R) Ethernet Connection E825-C for backplane
> - 579D: Intel(R) Ethernet Connection E825-C for QSFP
> - 579E: Intel(R) Ethernet Connection E825-C for SFP
> - 579F: Intel(R) Ethernet Connection E825-C for SGMII
>
> Add helper function ice_is_e825c() to verify if the running device
> belongs to E825C family.
>
> Co-developed-by: Jan Glaza <jan.glaza@intel.com>
> Signed-off-by: Jan Glaza <jan.glaza@intel.com>
> Co-developed-by: Michal Michalik <michal.michalik@intel.com>
> Signed-off-by: Michal Michalik <michal.michalik@intel.com>
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
> ---
>  drivers/net/ethernet/intel/ice/ice_common.c | 19 +++++++++++++++++++
>  drivers/net/ethernet/intel/ice/ice_common.h |  1 +
>  drivers/net/ethernet/intel/ice/ice_devids.h |  8 ++++++++
>  drivers/net/ethernet/intel/ice/ice_main.c   |  4 ++++
>  4 files changed, 32 insertions(+)
>

Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)


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

* RE: [Intel-wired-lan] [PATCH iwl-next v1 1/3] ice: introduce new E825C devices family
@ 2024-01-08  4:50     ` Pucha, HimasekharX Reddy
  0 siblings, 0 replies; 22+ messages in thread
From: Pucha, HimasekharX Reddy @ 2024-01-08  4:50 UTC (permalink / raw)
  To: Nitka, Grzegorz, intel-wired-lan; +Cc: netdev, Michalik, Michal, Glaza, Jan

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Grzegorz Nitka
> Sent: Thursday, December 7, 2023 12:59 AM
> To: intel-wired-lan@lists.osuosl.org
> Cc: netdev@vger.kernel.org; Michalik, Michal <michal.michalik@intel.com>; Glaza, Jan <jan.glaza@intel.com>
> Subject: [Intel-wired-lan] [PATCH iwl-next v1 1/3] ice: introduce new E825C devices family
>
> Introduce new Intel Ethernet E825C family devices.
> Add new PCI device IDs which are going to be supported by the
> driver:
> - 579C: Intel(R) Ethernet Connection E825-C for backplane
> - 579D: Intel(R) Ethernet Connection E825-C for QSFP
> - 579E: Intel(R) Ethernet Connection E825-C for SFP
> - 579F: Intel(R) Ethernet Connection E825-C for SGMII
>
> Add helper function ice_is_e825c() to verify if the running device
> belongs to E825C family.
>
> Co-developed-by: Jan Glaza <jan.glaza@intel.com>
> Signed-off-by: Jan Glaza <jan.glaza@intel.com>
> Co-developed-by: Michal Michalik <michal.michalik@intel.com>
> Signed-off-by: Michal Michalik <michal.michalik@intel.com>
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
> ---
>  drivers/net/ethernet/intel/ice/ice_common.c | 19 +++++++++++++++++++
>  drivers/net/ethernet/intel/ice/ice_common.h |  1 +
>  drivers/net/ethernet/intel/ice/ice_devids.h |  8 ++++++++
>  drivers/net/ethernet/intel/ice/ice_main.c   |  4 ++++
>  4 files changed, 32 insertions(+)
>

Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)


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

* Re: [Intel-wired-lan] [PATCH iwl-next v1 2/3] ice: Add helper function ice_is_generic_mac
  2023-12-06 19:29   ` [Intel-wired-lan] " Grzegorz Nitka
@ 2024-01-08  4:53     ` Pucha, HimasekharX Reddy
  -1 siblings, 0 replies; 22+ messages in thread
From: Pucha, HimasekharX Reddy @ 2024-01-08  4:53 UTC (permalink / raw)
  To: Nitka, Grzegorz, intel-wired-lan; +Cc: netdev, Anirudh Venkataramanan

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Grzegorz Nitka
> Sent: Thursday, December 7, 2023 12:59 AM
> To: intel-wired-lan@lists.osuosl.org
> Cc: netdev@vger.kernel.org; Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
> Subject: [Intel-wired-lan] [PATCH iwl-next v1 2/3] ice: Add helper function ice_is_generic_mac
>
> E800 series devices have a couple of quirks:
> 1. Sideband control queues are not supported
> 2. The registers that the driver needs to program for the "Precision
>    Time Protocol (PTP)" feature are different for E800 series devices
>    compared to other devices supported by this driver.
>
> Both these require conditional logic based on the underlying device we
> are dealing with.
>
> The function ice_is_sbq_supported added by commit 8f5ee3c477a8
> ("ice: add support for sideband messages") addresses (1).
> The same function can be used to address (2) as well
> but this just looks weird readability wise in cases that have nothing
> to do with sideband control queues:
>
> 	if (ice_is_sbq_supported(hw))
> 		/* program register A */
> 	else
> 		/* program register B */
> 
> For these cases, the function ice_is_generic_mac introduced by this
> patch communicates the idea/intention better. Also rework
> ice_is_sbq_supported to use this new function.
> As side-band queue is supported for E825C devices, it's mac_type is
> considered as generic mac_type.
>
> Co-developed-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
> Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
> ---
>  drivers/net/ethernet/intel/ice/ice_common.c   | 12 ++++++++++++
>  drivers/net/ethernet/intel/ice/ice_common.h   |  1 +
>  drivers/net/ethernet/intel/ice/ice_controlq.c |  2 +-
>  drivers/net/ethernet/intel/ice/ice_main.c     |  6 ++++--
>  drivers/net/ethernet/intel/ice/ice_type.h     |  1 +
>  5 files changed, 19 insertions(+), 3 deletions(-)
>

Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)


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

* RE: [Intel-wired-lan] [PATCH iwl-next v1 2/3] ice: Add helper function ice_is_generic_mac
@ 2024-01-08  4:53     ` Pucha, HimasekharX Reddy
  0 siblings, 0 replies; 22+ messages in thread
From: Pucha, HimasekharX Reddy @ 2024-01-08  4:53 UTC (permalink / raw)
  To: Nitka, Grzegorz, intel-wired-lan; +Cc: netdev, Anirudh Venkataramanan

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Grzegorz Nitka
> Sent: Thursday, December 7, 2023 12:59 AM
> To: intel-wired-lan@lists.osuosl.org
> Cc: netdev@vger.kernel.org; Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
> Subject: [Intel-wired-lan] [PATCH iwl-next v1 2/3] ice: Add helper function ice_is_generic_mac
>
> E800 series devices have a couple of quirks:
> 1. Sideband control queues are not supported
> 2. The registers that the driver needs to program for the "Precision
>    Time Protocol (PTP)" feature are different for E800 series devices
>    compared to other devices supported by this driver.
>
> Both these require conditional logic based on the underlying device we
> are dealing with.
>
> The function ice_is_sbq_supported added by commit 8f5ee3c477a8
> ("ice: add support for sideband messages") addresses (1).
> The same function can be used to address (2) as well
> but this just looks weird readability wise in cases that have nothing
> to do with sideband control queues:
>
> 	if (ice_is_sbq_supported(hw))
> 		/* program register A */
> 	else
> 		/* program register B */
> 
> For these cases, the function ice_is_generic_mac introduced by this
> patch communicates the idea/intention better. Also rework
> ice_is_sbq_supported to use this new function.
> As side-band queue is supported for E825C devices, it's mac_type is
> considered as generic mac_type.
>
> Co-developed-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
> Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
> ---
>  drivers/net/ethernet/intel/ice/ice_common.c   | 12 ++++++++++++
>  drivers/net/ethernet/intel/ice/ice_common.h   |  1 +
>  drivers/net/ethernet/intel/ice/ice_controlq.c |  2 +-
>  drivers/net/ethernet/intel/ice/ice_main.c     |  6 ++++--
>  drivers/net/ethernet/intel/ice/ice_type.h     |  1 +
>  5 files changed, 19 insertions(+), 3 deletions(-)
>

Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)


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

* RE: [Intel-wired-lan] [PATCH iwl-next v1 3/3] ice: add support for 3k signing DDP sections for E825C
  2023-12-06 19:29   ` [Intel-wired-lan] " Grzegorz Nitka
@ 2024-01-08  4:55     ` Pucha, HimasekharX Reddy
  -1 siblings, 0 replies; 22+ messages in thread
From: Pucha, HimasekharX Reddy @ 2024-01-08  4:55 UTC (permalink / raw)
  To: Nitka, Grzegorz, intel-wired-lan; +Cc: netdev

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Grzegorz Nitka
> Sent: Thursday, December 7, 2023 12:59 AM
> To: intel-wired-lan@lists.osuosl.org
> Cc: netdev@vger.kernel.org
> Subject: [Intel-wired-lan] [PATCH iwl-next v1 3/3] ice: add support for 3k signing DDP sections for E825C
>
> E825C devices shall support the new signing type of RSA 3K for new DDP
> section (SEGMENT_SIGN_TYPE_RSA3K_E825 (5) - already in the code).
> The driver is responsible to verify the presence of correct signing type.
> Add 3k signinig support for E825C devices based on mac_type:
> ICE_MAC_GENERIC_3K_E825;
>
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
> ---
>  drivers/net/ethernet/intel/ice/ice_common.c | 6 ++++++
>  drivers/net/ethernet/intel/ice/ice_ddp.c    | 4 ++++
>  2 files changed, 10 insertions(+)
>

Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)


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

* Re: [Intel-wired-lan] [PATCH iwl-next v1 3/3] ice: add support for 3k signing DDP sections for E825C
@ 2024-01-08  4:55     ` Pucha, HimasekharX Reddy
  0 siblings, 0 replies; 22+ messages in thread
From: Pucha, HimasekharX Reddy @ 2024-01-08  4:55 UTC (permalink / raw)
  To: Nitka, Grzegorz, intel-wired-lan; +Cc: netdev

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Grzegorz Nitka
> Sent: Thursday, December 7, 2023 12:59 AM
> To: intel-wired-lan@lists.osuosl.org
> Cc: netdev@vger.kernel.org
> Subject: [Intel-wired-lan] [PATCH iwl-next v1 3/3] ice: add support for 3k signing DDP sections for E825C
>
> E825C devices shall support the new signing type of RSA 3K for new DDP
> section (SEGMENT_SIGN_TYPE_RSA3K_E825 (5) - already in the code).
> The driver is responsible to verify the presence of correct signing type.
> Add 3k signinig support for E825C devices based on mac_type:
> ICE_MAC_GENERIC_3K_E825;
>
> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
> ---
>  drivers/net/ethernet/intel/ice/ice_common.c | 6 ++++++
>  drivers/net/ethernet/intel/ice/ice_ddp.c    | 4 ++++
>  2 files changed, 10 insertions(+)
>

Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)


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

end of thread, other threads:[~2024-01-08  4:55 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-06 19:29 [PATCH iwl-next v1 0/3] ice: add E825C device family support Grzegorz Nitka
2023-12-06 19:29 ` [Intel-wired-lan] " Grzegorz Nitka
2023-12-06 19:29 ` [PATCH iwl-next v1 1/3] ice: introduce new E825C devices family Grzegorz Nitka
2023-12-06 19:29   ` [Intel-wired-lan] " Grzegorz Nitka
2023-12-12 10:01   ` Simon Horman
2023-12-12 10:01     ` [Intel-wired-lan] " Simon Horman
2024-01-08  4:50   ` Pucha, HimasekharX Reddy
2024-01-08  4:50     ` Pucha, HimasekharX Reddy
2023-12-06 19:29 ` [PATCH iwl-next v1 2/3] ice: Add helper function ice_is_generic_mac Grzegorz Nitka
2023-12-06 19:29   ` [Intel-wired-lan] " Grzegorz Nitka
2023-12-12 10:01   ` Simon Horman
2023-12-12 10:01     ` [Intel-wired-lan] " Simon Horman
2024-01-08  4:53   ` Pucha, HimasekharX Reddy
2024-01-08  4:53     ` Pucha, HimasekharX Reddy
2023-12-06 19:29 ` [PATCH iwl-next v1 3/3] ice: add support for 3k signing DDP sections for E825C Grzegorz Nitka
2023-12-06 19:29   ` [Intel-wired-lan] " Grzegorz Nitka
2023-12-12 10:02   ` Simon Horman
2023-12-12 10:02     ` Simon Horman
2024-01-08  4:55   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
2024-01-08  4:55     ` Pucha, HimasekharX Reddy
2023-12-07  9:11 ` [Intel-wired-lan] [PATCH iwl-next v1 0/3] ice: add E825C device family support Mateusz Polchlopek
2023-12-07  9:11   ` 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.