[PATCH 4/9] net/ice/base: add PQC certificate provisioning capability

Vladimir Medvedkin vladimir.medvedkin at intel.com
Thu Oct 22 18:52:00 CEST 2026


From: Stefan Wegrzyn <stefan.wegrzyn at intel.com>

Add the PQC certificate provisioning device capability, part of CNSA 2.0
and SPDM 1.4 support, and the Shadow RAM location of the PQC manifest
bank.

Signed-off-by: Stefan Wegrzyn <stefan.wegrzyn at intel.com>
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin at intel.com>
---
 drivers/net/intel/ice/base/ice_adminq_cmd.h | 1 +
 drivers/net/intel/ice/base/ice_common.c     | 5 +++++
 drivers/net/intel/ice/base/ice_type.h       | 5 ++++-
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/net/intel/ice/base/ice_adminq_cmd.h b/drivers/net/intel/ice/base/ice_adminq_cmd.h
index 36656b0aad..7b318b0a1b 100644
--- a/drivers/net/intel/ice/base/ice_adminq_cmd.h
+++ b/drivers/net/intel/ice/base/ice_adminq_cmd.h
@@ -130,6 +130,7 @@ struct ice_aqc_list_caps_elem {
 #define ICE_AQC_CAPS_TX_SCHED_TOPO_COMP_MODE		0x0085
 #define ICE_AQC_CAPS_NAC_TOPOLOGY			0x0087
 #define ICE_AQC_CAPS_OROM_RECOVERY_UPDATE		0x0090
+#define ICE_AQC_CAPS_PQC_CERT_PROVISIONING		0x0091
 #define ICE_AQC_CAPS_ROCEV2_LAG				0x0092
 #define ICE_AQC_BIT_ROCEV2_LAG				0x01
 #define ICE_AQC_BIT_SRIOV_LAG				0x02
diff --git a/drivers/net/intel/ice/base/ice_common.c b/drivers/net/intel/ice/base/ice_common.c
index 7d8f677c99..1a8f4e7a6e 100644
--- a/drivers/net/intel/ice/base/ice_common.c
+++ b/drivers/net/intel/ice/base/ice_common.c
@@ -2635,6 +2635,11 @@ ice_parse_common_caps(struct ice_hw *hw, struct ice_hw_common_caps *caps,
 		ice_debug(hw, ICE_DBG_INIT, "%s: orom_recovery_update = %d\n",
 			  prefix, caps->orom_recovery_update);
 		break;
+	case ICE_AQC_CAPS_PQC_CERT_PROVISIONING:
+		caps->pqc_cert_provisioning = (number == 1);
+		ice_debug(hw, ICE_DBG_INIT, "%s: pqc_cert_provisioning = %d\n",
+			  prefix, caps->pqc_cert_provisioning);
+		break;
 	case ICE_AQC_CAPS_NEXT_CLUSTER_ID:
 		caps->next_cluster_id_support = (number == 1);
 		ice_debug(hw, ICE_DBG_INIT, "%s: next_cluster_id_support = %d\n",
diff --git a/drivers/net/intel/ice/base/ice_type.h b/drivers/net/intel/ice/base/ice_type.h
index 6d8c187689..83d20358b9 100644
--- a/drivers/net/intel/ice/base/ice_type.h
+++ b/drivers/net/intel/ice/base/ice_type.h
@@ -756,6 +756,7 @@ struct ice_hw_common_caps {
 	bool tx_sched_topo_comp_mode_en;
 	/* Support for OROM update in Recovery Mode */
 	bool orom_recovery_update;
+	bool pqc_cert_provisioning;
 	bool next_cluster_id_support;
 };
 
@@ -1628,8 +1629,10 @@ struct ice_aq_get_set_rss_lut_params {
 #define ICE_SR_EMP_SR_SETTINGS_PTR		0x48
 #define ICE_SR_CONFIGURATION_METADATA_PTR	0x4D
 #define ICE_SR_IMMEDIATE_VALUES_PTR		0x4E
-#define ICE_SR_LINK_DEFAULT_OVERRIDE_PTR	0x134
+#define ICE_SR_PQC_MANIFEST_BANK_PTR		0x80
+#define ICE_SR_PQC_MANIFEST_BANK_SIZE		0x81
 #define ICE_SR_POR_REGISTERS_AUTOLOAD_PTR	0x118
+#define ICE_SR_LINK_DEFAULT_OVERRIDE_PTR	0x134
 
 /* CSS Header words */
 #define ICE_NVM_CSS_HDR_LEN_L			0x02
-- 
2.43.0



More information about the dev mailing list