net/ice/base: support init RXDID descs fields
[dpdk.git] / drivers / net / ice / base / ice_adminq_cmd.h
index 7b0aa8a..b5faa5b 100644 (file)
@@ -52,9 +52,9 @@ struct ice_aqc_driver_ver {
 
 /* Queue Shutdown (direct 0x0003) */
 struct ice_aqc_q_shutdown {
-       __le32 driver_unloading;
+       u8 driver_unloading;
 #define ICE_AQC_DRIVER_UNLOADING       BIT(0)
-       u8 reserved[12];
+       u8 reserved[15];
 };
 
 
@@ -110,6 +110,7 @@ struct ice_aqc_list_caps {
 struct ice_aqc_list_caps_elem {
        __le16 cap;
 #define ICE_AQC_CAPS_VALID_FUNCTIONS                   0x0005
+#define ICE_AQC_MAX_VALID_FUNCTIONS                    0x8
 #define ICE_AQC_CAPS_VSI                               0x0017
 #define ICE_AQC_CAPS_DCB                               0x0018
 #define ICE_AQC_CAPS_RSS                               0x0040
@@ -141,13 +142,13 @@ struct ice_aqc_manage_mac_read {
 #define ICE_AQC_MAN_MAC_SAN_ADDR_VALID         BIT(5)
 #define ICE_AQC_MAN_MAC_PORT_ADDR_VALID                BIT(6)
 #define ICE_AQC_MAN_MAC_WOL_ADDR_VALID         BIT(7)
+#define ICE_AQC_MAN_MAC_MC_MAG_EN              BIT(8)
+#define ICE_AQC_MAN_MAC_WOL_PRESERVE_ON_PFR    BIT(9)
 #define ICE_AQC_MAN_MAC_READ_S                 4
 #define ICE_AQC_MAN_MAC_READ_M                 (0xF << ICE_AQC_MAN_MAC_READ_S)
-       u8 lport_num;
-       u8 lport_num_valid;
-#define ICE_AQC_MAN_MAC_PORT_NUM_IS_VALID      BIT(0)
+       u8 rsvd[2];
        u8 num_addr; /* Used in response */
-       u8 reserved[3];
+       u8 rsvd1[3];
        __le32 addr_high;
        __le32 addr_low;
 };
@@ -165,7 +166,7 @@ struct ice_aqc_manage_mac_read_resp {
 
 /* Manage MAC address, write command - direct (0x0108) */
 struct ice_aqc_manage_mac_write {
-       u8 port_num;
+       u8 rsvd;
        u8 flags;
 #define ICE_AQC_MAN_MAC_WR_MC_MAG_EN           BIT(0)
 #define ICE_AQC_MAN_MAC_WR_WOL_LAA_PFR_KEEP    BIT(1)
@@ -481,8 +482,8 @@ struct ice_aqc_vsi_props {
 #define ICE_AQ_VSI_VLAN_MODE_TAGGED    0x2
 #define ICE_AQ_VSI_VLAN_MODE_ALL       0x3
 #define ICE_AQ_VSI_PVLAN_INSERT_PVID   BIT(2)
-#define ICE_AQ_VSI_VLAN_EMOD_S 3
-#define ICE_AQ_VSI_VLAN_EMOD_M (0x3 << ICE_AQ_VSI_VLAN_EMOD_S)
+#define ICE_AQ_VSI_VLAN_EMOD_S         3
+#define ICE_AQ_VSI_VLAN_EMOD_M         (0x3 << ICE_AQ_VSI_VLAN_EMOD_S)
 #define ICE_AQ_VSI_VLAN_EMOD_STR_BOTH  (0x0 << ICE_AQ_VSI_VLAN_EMOD_S)
 #define ICE_AQ_VSI_VLAN_EMOD_STR_UP    (0x1 << ICE_AQ_VSI_VLAN_EMOD_S)
 #define ICE_AQ_VSI_VLAN_EMOD_STR       (0x2 << ICE_AQ_VSI_VLAN_EMOD_S)
@@ -710,6 +711,7 @@ struct ice_aqc_recipe_content {
 #define ICE_AQ_RECIPE_ID_S             0
 #define ICE_AQ_RECIPE_ID_M             (0x3F << ICE_AQ_RECIPE_ID_S)
 #define ICE_AQ_RECIPE_ID_IS_ROOT       BIT(7)
+#define ICE_AQ_SW_ID_LKUP_IDX          0
        u8 lkup_indx[5];
 #define ICE_AQ_RECIPE_LKUP_DATA_S      0
 #define ICE_AQ_RECIPE_LKUP_DATA_M      (0x3F << ICE_AQ_RECIPE_LKUP_DATA_S)
@@ -1425,6 +1427,7 @@ struct ice_aqc_get_phy_caps_data {
 #define ICE_AQC_PHY_FEC_25G_RS_CLAUSE91_EN             BIT(6)
 #define ICE_AQC_PHY_FEC_25G_KR_CLAUSE74_EN             BIT(7)
 #define ICE_AQC_PHY_FEC_MASK                           MAKEMASK(0xdf, 0)
+       u8 rsvd1;       /* Byte 35 reserved */
        u8 extended_compliance_code;
 #define ICE_MODULE_TYPE_TOTAL_BYTE                     3
        u8 module_type[ICE_MODULE_TYPE_TOTAL_BYTE];
@@ -1439,13 +1442,14 @@ struct ice_aqc_get_phy_caps_data {
 #define ICE_AQC_MOD_TYPE_BYTE2_SFP_PLUS                        0xA0
 #define ICE_AQC_MOD_TYPE_BYTE2_QSFP_PLUS               0x86
        u8 qualified_module_count;
+       u8 rsvd2[7];    /* Bytes 47:41 reserved */
 #define ICE_AQC_QUAL_MOD_COUNT_MAX                     16
        struct {
                u8 v_oui[3];
                u8 rsvd3;
                u8 v_part[16];
                __le32 v_rev;
-               __le64 rsvd8;
+               __le64 rsvd4;
        } qual_modules[ICE_AQC_QUAL_MOD_COUNT_MAX];
 };
 
@@ -1680,6 +1684,28 @@ struct ice_aqc_nvm {
        __le32 addr_low;
 };
 
+/* NVM Module_Type ID, needed offset and read_len for struct ice_aqc_nvm. */
+#define ICE_AQC_NVM_SECTOR_UNIT                        4096 /* In Bytes */
+#define ICE_AQC_NVM_WORD_UNIT                  2 /* In Bytes */
+
+#define ICE_AQC_NVM_START_POINT                        0
+#define ICE_AQC_NVM_EMP_SR_PTR_OFFSET          0x90
+#define ICE_AQC_NVM_EMP_SR_PTR_RD_LEN          2 /* In Bytes */
+#define ICE_AQC_NVM_EMP_SR_PTR_M               MAKEMASK(0x7FFF, 0)
+#define ICE_AQC_NVM_EMP_SR_PTR_TYPE_S          15
+#define ICE_AQC_NVM_EMP_SR_PTR_TYPE_M          BIT(15)
+#define ICE_AQC_NVM_EMP_SR_PTR_TYPE_SECTOR     1
+
+#define ICE_AQC_NVM_LLDP_CFG_PTR_OFFSET                0x46
+#define ICE_AQC_NVM_LLDP_CFG_HEADER_LEN                2 /* In Bytes */
+#define ICE_AQC_NVM_LLDP_CFG_PTR_RD_LEN                2 /* In Bytes */
+
+#define ICE_AQC_NVM_LLDP_PRESERVED_MOD_ID      0x129
+#define ICE_AQC_NVM_CUR_LLDP_PERSIST_RD_OFFSET 2 /* In Bytes */
+#define ICE_AQC_NVM_LLDP_STATUS_M              MAKEMASK(0xF, 0)
+#define ICE_AQC_NVM_LLDP_STATUS_M_LEN          4 /* In Bits */
+#define ICE_AQC_NVM_LLDP_STATUS_RD_LEN         4 /* In Bytes */
+
 
 /* Used for 0x0704 as well as for 0x0705 commands */
 struct ice_aqc_nvm_cfg {
@@ -1831,7 +1857,7 @@ struct ice_aqc_get_cee_dcb_cfg_resp {
 };
 
 /* Set Local LLDP MIB (indirect 0x0A08)
- * Used to replace the local MIB of a given LLDP agent. e.g. DCBx
+ * Used to replace the local MIB of a given LLDP agent. e.g. DCBX
  */
 struct ice_aqc_lldp_set_local_mib {
        u8 type;
@@ -1856,7 +1882,7 @@ struct ice_aqc_lldp_set_local_mib_resp {
 };
 
 /* Stop/Start LLDP Agent (direct 0x0A09)
- * Used for stopping/starting specific LLDP agent. e.g. DCBx.
+ * Used for stopping/starting specific LLDP agent. e.g. DCBX.
  * The same structure is used for the response, with the command field
  * being used as the status field.
  */
@@ -2196,6 +2222,7 @@ enum ice_aqc_fw_logging_mod {
        ICE_AQC_FW_LOG_ID_WATCHDOG,
        ICE_AQC_FW_LOG_ID_TASK_DISPATCH,
        ICE_AQC_FW_LOG_ID_MNG,
+       ICE_AQC_FW_LOG_ID_SYNCE,
        ICE_AQC_FW_LOG_ID_MAX,
 };
 
@@ -2387,6 +2414,7 @@ enum ice_aq_err {
        ICE_AQ_RC_ESVN          = 26, /* SVN number prohibits this package */
        ICE_AQ_RC_EBADMAN       = 27, /* Manifest hash mismatch */
        ICE_AQ_RC_EBADBUF       = 28, /* Buffer hash mismatches manifest */
+       ICE_AQ_RC_EACCES_BMCU   = 29, /* BMC Update in progress */
 };
 
 /* Admin Queue command opcodes */