mirror of https://gitee.com/openkylin/linux.git
ice: Update NVM AQ command functions
This patch updates the NVM read/erase/update AQ commands to align with the latest specification. Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com> Tested-by: Tony Brelinski <tonyx.brelinski@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
6e7d0ba1e5
commit
43c89b1642
|
@ -1049,7 +1049,9 @@ struct ice_aqc_set_event_mask {
|
||||||
* NVM Update commands (indirect 0x0703)
|
* NVM Update commands (indirect 0x0703)
|
||||||
*/
|
*/
|
||||||
struct ice_aqc_nvm {
|
struct ice_aqc_nvm {
|
||||||
u8 cmd_flags;
|
__le16 offset_low;
|
||||||
|
u8 offset_high;
|
||||||
|
u8 cmd_flags;
|
||||||
#define ICE_AQC_NVM_LAST_CMD BIT(0)
|
#define ICE_AQC_NVM_LAST_CMD BIT(0)
|
||||||
#define ICE_AQC_NVM_PCIR_REQ BIT(0) /* Used by NVM Update reply */
|
#define ICE_AQC_NVM_PCIR_REQ BIT(0) /* Used by NVM Update reply */
|
||||||
#define ICE_AQC_NVM_PRESERVATION_S 1
|
#define ICE_AQC_NVM_PRESERVATION_S 1
|
||||||
|
@ -1058,12 +1060,11 @@ struct ice_aqc_nvm {
|
||||||
#define ICE_AQC_NVM_PRESERVE_ALL BIT(1)
|
#define ICE_AQC_NVM_PRESERVE_ALL BIT(1)
|
||||||
#define ICE_AQC_NVM_PRESERVE_SELECTED (3 << CSR_AQ_NVM_PRESERVATION_S)
|
#define ICE_AQC_NVM_PRESERVE_SELECTED (3 << CSR_AQ_NVM_PRESERVATION_S)
|
||||||
#define ICE_AQC_NVM_FLASH_ONLY BIT(7)
|
#define ICE_AQC_NVM_FLASH_ONLY BIT(7)
|
||||||
u8 module_typeid;
|
__le16 module_typeid;
|
||||||
__le16 length;
|
__le16 length;
|
||||||
#define ICE_AQC_NVM_ERASE_LEN 0xFFFF
|
#define ICE_AQC_NVM_ERASE_LEN 0xFFFF
|
||||||
__le32 offset;
|
__le32 addr_high;
|
||||||
__le32 addr_high;
|
__le32 addr_low;
|
||||||
__le32 addr_low;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Get/Set RSS key (indirect 0x0B04/0x0B02) */
|
/* Get/Set RSS key (indirect 0x0B04/0x0B02) */
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* Read the NVM using the admin queue commands (0x0701)
|
* Read the NVM using the admin queue commands (0x0701)
|
||||||
*/
|
*/
|
||||||
static enum ice_status
|
static enum ice_status
|
||||||
ice_aq_read_nvm(struct ice_hw *hw, u8 module_typeid, u32 offset, u16 length,
|
ice_aq_read_nvm(struct ice_hw *hw, u16 module_typeid, u32 offset, u16 length,
|
||||||
void *data, bool last_command, struct ice_sq_cd *cd)
|
void *data, bool last_command, struct ice_sq_cd *cd)
|
||||||
{
|
{
|
||||||
struct ice_aq_desc desc;
|
struct ice_aq_desc desc;
|
||||||
|
@ -33,8 +33,9 @@ ice_aq_read_nvm(struct ice_hw *hw, u8 module_typeid, u32 offset, u16 length,
|
||||||
/* If this is the last command in a series, set the proper flag. */
|
/* If this is the last command in a series, set the proper flag. */
|
||||||
if (last_command)
|
if (last_command)
|
||||||
cmd->cmd_flags |= ICE_AQC_NVM_LAST_CMD;
|
cmd->cmd_flags |= ICE_AQC_NVM_LAST_CMD;
|
||||||
cmd->module_typeid = module_typeid;
|
cmd->module_typeid = cpu_to_le16(module_typeid);
|
||||||
cmd->offset = cpu_to_le32(offset);
|
cmd->offset_low = cpu_to_le16(offset & 0xFFFF);
|
||||||
|
cmd->offset_high = (offset >> 16) & 0xFF;
|
||||||
cmd->length = cpu_to_le16(length);
|
cmd->length = cpu_to_le16(length);
|
||||||
|
|
||||||
return ice_aq_send_cmd(hw, &desc, data, length, cd);
|
return ice_aq_send_cmd(hw, &desc, data, length, cd);
|
||||||
|
|
Loading…
Reference in New Issue