]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
ice: Update NVM AQ command functions
authorAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Mon, 16 Apr 2018 16:55:36 +0000 (09:55 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 17 May 2018 16:14:09 +0000 (09:14 -0700)
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>
drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
drivers/net/ethernet/intel/ice/ice_nvm.c

index 7dc5f045e969aaa164bc20c05e63fb22e848ced2..7541ec2270b3708d4e5e9362d0ae8a1f5e09318d 100644 (file)
@@ -1049,7 +1049,9 @@ struct ice_aqc_set_event_mask {
  * NVM Update commands (indirect 0x0703)
  */
 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_PCIR_REQ           BIT(0)  /* Used by NVM Update reply */
 #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_SELECTED  (3 << CSR_AQ_NVM_PRESERVATION_S)
 #define ICE_AQC_NVM_FLASH_ONLY         BIT(7)
-       u8      module_typeid;
-       __le16  length;
+       __le16 module_typeid;
+       __le16 length;
 #define ICE_AQC_NVM_ERASE_LEN  0xFFFF
-       __le32  offset;
-       __le32  addr_high;
-       __le32  addr_low;
+       __le32 addr_high;
+       __le32 addr_low;
 };
 
 /* Get/Set RSS key (indirect 0x0B04/0x0B02) */
index fa7a69ac92b07ce6ae883d8fa429a829c4de4bbc..92da0a626ce0b38395633ff90df504f8f88f40c8 100644 (file)
@@ -16,7 +16,7 @@
  * Read the NVM using the admin queue commands (0x0701)
  */
 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)
 {
        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 (last_command)
                cmd->cmd_flags |= ICE_AQC_NVM_LAST_CMD;
-       cmd->module_typeid = module_typeid;
-       cmd->offset = cpu_to_le32(offset);
+       cmd->module_typeid = cpu_to_le16(module_typeid);
+       cmd->offset_low = cpu_to_le16(offset & 0xFFFF);
+       cmd->offset_high = (offset >> 16) & 0xFF;
        cmd->length = cpu_to_le16(length);
 
        return ice_aq_send_cmd(hw, &desc, data, length, cd);