i40e: Opcode and structures required by OEM Post Update AQ command and add new NVM arq message
This is a part of implementation which contains data structures and opcode for new AQ command. There's a new ARQ message that gets sent near the end of the NVM update process that the driver should recognize and ignore, rather than printing an Unknown Event error. Change-ID: I04830a5bcae14823e16b9424cc4165e169336c1f Signed-off-by: Michal Kosiarz <michal.kosiarz@intel.com> Acked-by: Shannon Nelson <shannon.nelson@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
6621e4b251
commit
00ada50d89
|
@ -227,6 +227,7 @@ enum i40e_admin_queue_opc {
|
|||
i40e_aqc_opc_nvm_update = 0x0703,
|
||||
i40e_aqc_opc_nvm_config_read = 0x0704,
|
||||
i40e_aqc_opc_nvm_config_write = 0x0705,
|
||||
i40e_aqc_opc_oem_post_update = 0x0720,
|
||||
|
||||
/* virtualization commands */
|
||||
i40e_aqc_opc_send_msg_to_pf = 0x0801,
|
||||
|
@ -1891,6 +1892,26 @@ struct i40e_aqc_nvm_config_data_immediate_field {
|
|||
|
||||
I40E_CHECK_STRUCT_LEN(0xc, i40e_aqc_nvm_config_data_immediate_field);
|
||||
|
||||
/* OEM Post Update (indirect 0x0720)
|
||||
* no command data struct used
|
||||
*/
|
||||
struct i40e_aqc_nvm_oem_post_update {
|
||||
#define I40E_AQ_NVM_OEM_POST_UPDATE_EXTERNAL_DATA 0x01
|
||||
u8 sel_data;
|
||||
u8 reserved[7];
|
||||
};
|
||||
|
||||
I40E_CHECK_STRUCT_LEN(0x8, i40e_aqc_nvm_oem_post_update);
|
||||
|
||||
struct i40e_aqc_nvm_oem_post_update_buffer {
|
||||
u8 str_len;
|
||||
u8 dev_addr;
|
||||
__le16 eeprom_addr;
|
||||
u8 data[36];
|
||||
};
|
||||
|
||||
I40E_CHECK_STRUCT_LEN(0x28, i40e_aqc_nvm_oem_post_update_buffer);
|
||||
|
||||
/* Send to PF command (indirect 0x0801) id is only used by PF
|
||||
* Send to VF command (indirect 0x0802) id is only used by PF
|
||||
* Send to Peer PF command (indirect 0x0803)
|
||||
|
|
|
@ -6295,6 +6295,7 @@ static void i40e_clean_adminq_subtask(struct i40e_pf *pf)
|
|||
break;
|
||||
case i40e_aqc_opc_nvm_erase:
|
||||
case i40e_aqc_opc_nvm_update:
|
||||
case i40e_aqc_opc_oem_post_update:
|
||||
i40e_debug(&pf->hw, I40E_DEBUG_NVM, "ARQ NVM operation completed\n");
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -227,6 +227,7 @@ enum i40e_admin_queue_opc {
|
|||
i40e_aqc_opc_nvm_update = 0x0703,
|
||||
i40e_aqc_opc_nvm_config_read = 0x0704,
|
||||
i40e_aqc_opc_nvm_config_write = 0x0705,
|
||||
i40e_aqc_opc_oem_post_update = 0x0720,
|
||||
|
||||
/* virtualization commands */
|
||||
i40e_aqc_opc_send_msg_to_pf = 0x0801,
|
||||
|
@ -1888,6 +1889,26 @@ struct i40e_aqc_nvm_config_data_immediate_field {
|
|||
|
||||
I40E_CHECK_STRUCT_LEN(0xc, i40e_aqc_nvm_config_data_immediate_field);
|
||||
|
||||
/* OEM Post Update (indirect 0x0720)
|
||||
* no command data struct used
|
||||
*/
|
||||
struct i40e_aqc_nvm_oem_post_update {
|
||||
#define I40E_AQ_NVM_OEM_POST_UPDATE_EXTERNAL_DATA 0x01
|
||||
u8 sel_data;
|
||||
u8 reserved[7];
|
||||
};
|
||||
|
||||
I40E_CHECK_STRUCT_LEN(0x8, i40e_aqc_nvm_oem_post_update);
|
||||
|
||||
struct i40e_aqc_nvm_oem_post_update_buffer {
|
||||
u8 str_len;
|
||||
u8 dev_addr;
|
||||
__le16 eeprom_addr;
|
||||
u8 data[36];
|
||||
};
|
||||
|
||||
I40E_CHECK_STRUCT_LEN(0x28, i40e_aqc_nvm_oem_post_update_buffer);
|
||||
|
||||
/* Send to PF command (indirect 0x0801) id is only used by PF
|
||||
* Send to VF command (indirect 0x0802) id is only used by PF
|
||||
* Send to Peer PF command (indirect 0x0803)
|
||||
|
|
Loading…
Reference in New Issue