summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/nic.h
diff options
context:
space:
mode:
authorDaniel Pieczko <dpieczko@solarflare.com>2015-05-06 01:56:55 +0200
committerDavid S. Miller <davem@davemloft.net>2015-05-09 22:16:47 +0200
commit8d9f9dd4487e4792601759b4376441bcc9e54f95 (patch)
tree75d78610bfa86e9679bf5e60bc468151efe8137a /drivers/net/ethernet/sfc/nic.h
parentsfc: Use MCDI to set FILTER_OP_IN_TX_DOMAIN (diff)
downloadlinux-8d9f9dd4487e4792601759b4376441bcc9e54f95.tar.xz
linux-8d9f9dd4487e4792601759b4376441bcc9e54f95.zip
sfc: Record [rt]x_dpcpu_fw_id in EF10 nic_data
The (future) code to add/remove vswitches and vports will be dependent on the firmware variant. To simplify the checking of the firmware variant, record values for rx_dpcpu_fw_id and tx_dpcpu_fw_id in EF10 nic_data. There was only one place where this was previously used: efx_mcdi_print_fwver() in ethtool.c. The MC_CMD_GET_CAPABILITIES can be replaced and the values from nic_data used instead. Note that the printing of "?" if the MC command fails or if the outlength is incorrect no longer apply, because errors are returned in efx_ef10_init_datapath_caps() in both of these cases. Signed-off-by: Shradha Shah <sshah@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/sfc/nic.h')
-rw-r--r--drivers/net/ethernet/sfc/nic.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/sfc/nic.h b/drivers/net/ethernet/sfc/nic.h
index 65dcbc7f3d83..17ee3ae9eb73 100644
--- a/drivers/net/ethernet/sfc/nic.h
+++ b/drivers/net/ethernet/sfc/nic.h
@@ -491,6 +491,8 @@ enum {
* after MC reboot
* @datapath_caps: Capabilities of datapath firmware (FLAGS1 field of
* %MC_CMD_GET_CAPABILITIES response)
+ * @rx_dpcpu_fw_id: Firmware ID of the RxDPCPU
+ * @tx_dpcpu_fw_id: Firmware ID of the TxDPCPU
*/
struct efx_ef10_nic_data {
struct efx_buffer mcdi_buf;
@@ -509,6 +511,8 @@ struct efx_ef10_nic_data {
bool workaround_35388;
bool must_check_datapath_caps;
u32 datapath_caps;
+ unsigned int rx_dpcpu_fw_id;
+ unsigned int tx_dpcpu_fw_id;
};
int efx_init_sriov(void);