From: Ian Stokes <ian.sto...@intel.com>

OROM update in recovery mode is allowed or not based on function capability
0x0090. This patch adds capability parsing for it.

Signed-off-by: Fabio Pricoco <fabio.pric...@intel.com>
Signed-off-by: Ian Stokes <ian.sto...@intel.com>
---
 drivers/net/ice/base/ice_adminq_cmd.h | 1 +
 drivers/net/ice/base/ice_common.c     | 5 +++++
 drivers/net/ice/base/ice_type.h       | 2 ++
 3 files changed, 8 insertions(+)

diff --git a/drivers/net/ice/base/ice_adminq_cmd.h 
b/drivers/net/ice/base/ice_adminq_cmd.h
index ab3dfd8685..fe82df747c 100644
--- a/drivers/net/ice/base/ice_adminq_cmd.h
+++ b/drivers/net/ice/base/ice_adminq_cmd.h
@@ -129,6 +129,7 @@ struct ice_aqc_list_caps_elem {
 #define ICE_AQC_CAPS_EXT_TOPO_DEV_IMG3                 0x0084
 #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_ROCEV2_LAG                                0x0092
 
        u8 major_ver;
diff --git a/drivers/net/ice/base/ice_common.c 
b/drivers/net/ice/base/ice_common.c
index 34a4b74956..ca9a6baef7 100644
--- a/drivers/net/ice/base/ice_common.c
+++ b/drivers/net/ice/base/ice_common.c
@@ -2502,6 +2502,11 @@ ice_parse_common_caps(struct ice_hw *hw, struct 
ice_hw_common_caps *caps,
        case ICE_AQC_CAPS_TX_SCHED_TOPO_COMP_MODE:
                caps->tx_sched_topo_comp_mode_en = (number == 1);
                break;
+       case ICE_AQC_CAPS_OROM_RECOVERY_UPDATE:
+               caps->orom_recovery_update = (number == 1);
+               ice_debug(hw, ICE_DBG_INIT, "%s: orom_recovery_update = %d\n",
+                         prefix, caps->orom_recovery_update);
+               break;
        default:
                /* Not one of the recognized common capabilities */
                found = false;
diff --git a/drivers/net/ice/base/ice_type.h b/drivers/net/ice/base/ice_type.h
index b2f093c84b..239b1a018e 100644
--- a/drivers/net/ice/base/ice_type.h
+++ b/drivers/net/ice/base/ice_type.h
@@ -719,6 +719,8 @@ struct ice_hw_common_caps {
        bool ext_topo_dev_img_ver_schema[ICE_EXT_TOPO_DEV_IMG_COUNT];
 #define ICE_EXT_TOPO_DEV_IMG_VER_SCHEMA        BIT(2)
        bool tx_sched_topo_comp_mode_en;
+       /* Support for OROM update in Recovery Mode */
+       bool orom_recovery_update;
 };
 
 /* IEEE 1588 TIME_SYNC specific info */
-- 
2.43.0

Reply via email to