net/i40e/base: move NVM update status field to HW struct
This patch centralizes all NVM update status info into a single structure, by moving nvm_release_on_done from struct i40e_adminq_info to struct i40e_hw, for better management. Signed-off-by: Helin Zhang <helin.zhang@intel.com> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
This commit is contained in:
parent
742f28fb9f
commit
c906def269
@ -680,7 +680,7 @@ enum i40e_status_code i40e_init_adminq(struct i40e_hw *hw)
|
||||
|
||||
/* pre-emptive resource lock release */
|
||||
i40e_aq_release_resource(hw, I40E_NVM_RESOURCE_ID, 0, NULL);
|
||||
hw->aq.nvm_release_on_done = false;
|
||||
hw->nvm_release_on_done = false;
|
||||
hw->nvmupd_state = I40E_NVMUPD_STATE_INIT;
|
||||
|
||||
#endif /* PF_DRIVER */
|
||||
@ -1117,9 +1117,9 @@ enum i40e_status_code i40e_clean_arq_element(struct i40e_hw *hw,
|
||||
|
||||
#ifdef PF_DRIVER
|
||||
if (i40e_is_nvm_update_op(&e->desc)) {
|
||||
if (hw->aq.nvm_release_on_done) {
|
||||
if (hw->nvm_release_on_done) {
|
||||
i40e_release_nvm(hw);
|
||||
hw->aq.nvm_release_on_done = false;
|
||||
hw->nvm_release_on_done = false;
|
||||
}
|
||||
|
||||
switch (hw->nvmupd_state) {
|
||||
|
@ -104,7 +104,6 @@ struct i40e_adminq_info {
|
||||
u32 fw_build; /* firmware build number */
|
||||
u16 api_maj_ver; /* api major version */
|
||||
u16 api_min_ver; /* api minor version */
|
||||
bool nvm_release_on_done;
|
||||
|
||||
struct i40e_spinlock asq_spinlock; /* Send queue spinlock */
|
||||
struct i40e_spinlock arq_spinlock; /* Receive queue spinlock */
|
||||
|
@ -875,7 +875,7 @@ enum i40e_status_code i40e_nvmupd_command(struct i40e_hw *hw,
|
||||
i40e_debug(hw, I40E_DEBUG_NVM, "%s state %d nvm_release_on_hold %d cmd 0x%08x config 0x%08x offset 0x%08x data_size 0x%08x\n",
|
||||
i40e_nvm_update_state_str[upd_cmd],
|
||||
hw->nvmupd_state,
|
||||
hw->aq.nvm_release_on_done,
|
||||
hw->nvm_release_on_done,
|
||||
cmd->command, cmd->config, cmd->offset, cmd->data_size);
|
||||
|
||||
if (upd_cmd == I40E_NVMUPD_INVALID) {
|
||||
@ -980,7 +980,7 @@ STATIC enum i40e_status_code i40e_nvmupd_state_init(struct i40e_hw *hw,
|
||||
if (status) {
|
||||
i40e_release_nvm(hw);
|
||||
} else {
|
||||
hw->aq.nvm_release_on_done = true;
|
||||
hw->nvm_release_on_done = true;
|
||||
hw->nvmupd_state = I40E_NVMUPD_STATE_INIT_WAIT;
|
||||
}
|
||||
}
|
||||
@ -996,7 +996,7 @@ STATIC enum i40e_status_code i40e_nvmupd_state_init(struct i40e_hw *hw,
|
||||
if (status) {
|
||||
i40e_release_nvm(hw);
|
||||
} else {
|
||||
hw->aq.nvm_release_on_done = true;
|
||||
hw->nvm_release_on_done = true;
|
||||
hw->nvmupd_state = I40E_NVMUPD_STATE_INIT_WAIT;
|
||||
}
|
||||
}
|
||||
@ -1030,7 +1030,7 @@ STATIC enum i40e_status_code i40e_nvmupd_state_init(struct i40e_hw *hw,
|
||||
-EIO;
|
||||
i40e_release_nvm(hw);
|
||||
} else {
|
||||
hw->aq.nvm_release_on_done = true;
|
||||
hw->nvm_release_on_done = true;
|
||||
hw->nvmupd_state = I40E_NVMUPD_STATE_INIT_WAIT;
|
||||
}
|
||||
}
|
||||
@ -1138,7 +1138,7 @@ STATIC enum i40e_status_code i40e_nvmupd_state_writing(struct i40e_hw *hw,
|
||||
-EIO;
|
||||
hw->nvmupd_state = I40E_NVMUPD_STATE_INIT;
|
||||
} else {
|
||||
hw->aq.nvm_release_on_done = true;
|
||||
hw->nvm_release_on_done = true;
|
||||
hw->nvmupd_state = I40E_NVMUPD_STATE_INIT_WAIT;
|
||||
}
|
||||
break;
|
||||
@ -1167,7 +1167,7 @@ STATIC enum i40e_status_code i40e_nvmupd_state_writing(struct i40e_hw *hw,
|
||||
-EIO;
|
||||
hw->nvmupd_state = I40E_NVMUPD_STATE_INIT;
|
||||
} else {
|
||||
hw->aq.nvm_release_on_done = true;
|
||||
hw->nvm_release_on_done = true;
|
||||
hw->nvmupd_state = I40E_NVMUPD_STATE_INIT_WAIT;
|
||||
}
|
||||
break;
|
||||
|
@ -655,6 +655,7 @@ struct i40e_hw {
|
||||
enum i40e_nvmupd_state nvmupd_state;
|
||||
struct i40e_aq_desc nvm_wb_desc;
|
||||
struct i40e_virt_mem nvm_buff;
|
||||
bool nvm_release_on_done;
|
||||
|
||||
/* HMC info */
|
||||
struct i40e_hmc_info hmc; /* HMC info struct */
|
||||
|
Loading…
Reference in New Issue
Block a user