aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/i40evf
diff options
context:
space:
mode:
authorShannon Nelson <shannon.nelson@intel.com>2015-08-28 17:55:50 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2015-09-17 17:49:42 -0700
commite4c83c20f87fe1d3da6b3a7ecaf40ae8717c7842 (patch)
tree6819274ad3013ef392e7a99fe8022f79448cf843 /drivers/net/ethernet/intel/i40evf
parenti40e/i40evf: add wait states to NVM state machine (diff)
downloadlinux-e4c83c20f87fe1d3da6b3a7ecaf40ae8717c7842.tar.gz
linux-e4c83c20f87fe1d3da6b3a7ecaf40ae8717c7842.zip
i40e/i40evf: add exec_aq command to nvmupdate utility
Add a facility to run AQ commands through the nvmupdate utility in order to allow the update tools to interact with the FW and do special commands needed for updates and configuration changes. Change-ID: I5c41523e4055b37f8e4ee479f7a0574368f4a588 Signed-off-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>
Diffstat (limited to 'drivers/net/ethernet/intel/i40evf')
-rw-r--r--drivers/net/ethernet/intel/i40evf/i40e_adminq.c3
-rw-r--r--drivers/net/ethernet/intel/i40evf/i40e_type.h2
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40e_adminq.c b/drivers/net/ethernet/intel/i40evf/i40e_adminq.c
index 15c8ac892704..0940db731382 100644
--- a/drivers/net/ethernet/intel/i40evf/i40e_adminq.c
+++ b/drivers/net/ethernet/intel/i40evf/i40e_adminq.c
@@ -596,6 +596,9 @@ i40e_status i40evf_shutdown_adminq(struct i40e_hw *hw)
/* destroy the locks */
+ if (hw->nvm_buff.va)
+ i40e_free_virt_mem(hw, &hw->nvm_buff);
+
return ret_code;
}
diff --git a/drivers/net/ethernet/intel/i40evf/i40e_type.h b/drivers/net/ethernet/intel/i40evf/i40e_type.h
index 439a4e1f2689..4d36615403f5 100644
--- a/drivers/net/ethernet/intel/i40evf/i40e_type.h
+++ b/drivers/net/ethernet/intel/i40evf/i40e_type.h
@@ -305,6 +305,7 @@ enum i40e_nvmupd_cmd {
I40E_NVMUPD_CSUM_SA,
I40E_NVMUPD_CSUM_LCB,
I40E_NVMUPD_STATUS,
+ I40E_NVMUPD_EXEC_AQ,
};
enum i40e_nvmupd_state {
@@ -491,6 +492,7 @@ struct i40e_hw {
/* state of nvm update process */
enum i40e_nvmupd_state nvmupd_state;
struct i40e_aq_desc nvm_wb_desc;
+ struct i40e_virt_mem nvm_buff;
/* HMC info */
struct i40e_hmc_info hmc; /* HMC info struct */