aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/nic.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/sfc/nic.h')
-rw-r--r--drivers/net/ethernet/sfc/nic.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/net/ethernet/sfc/nic.h b/drivers/net/ethernet/sfc/nic.h
index f77cce034ad4..b5fe1f2c7d88 100644
--- a/drivers/net/ethernet/sfc/nic.h
+++ b/drivers/net/ethernet/sfc/nic.h
@@ -378,12 +378,30 @@ enum {
378 378
379/** 379/**
380 * struct siena_nic_data - Siena NIC state 380 * struct siena_nic_data - Siena NIC state
381 * @efx: Pointer back to main interface structure
381 * @wol_filter_id: Wake-on-LAN packet filter id 382 * @wol_filter_id: Wake-on-LAN packet filter id
382 * @stats: Hardware statistics 383 * @stats: Hardware statistics
384 * @vf_buftbl_base: The zeroth buffer table index used to back VF queues.
385 * @vfdi_status: Common VFDI status page to be dmad to VF address space.
386 * @local_addr_list: List of local addresses. Protected by %local_lock.
387 * @local_page_list: List of DMA addressable pages used to broadcast
388 * %local_addr_list. Protected by %local_lock.
389 * @local_lock: Mutex protecting %local_addr_list and %local_page_list.
390 * @peer_work: Work item to broadcast peer addresses to VMs.
383 */ 391 */
384struct siena_nic_data { 392struct siena_nic_data {
393 struct efx_nic *efx;
385 int wol_filter_id; 394 int wol_filter_id;
386 u64 stats[SIENA_STAT_COUNT]; 395 u64 stats[SIENA_STAT_COUNT];
396#ifdef CONFIG_SFC_SRIOV
397 struct efx_channel *vfdi_channel;
398 unsigned vf_buftbl_base;
399 struct efx_buffer vfdi_status;
400 struct list_head local_addr_list;
401 struct list_head local_page_list;
402 struct mutex local_lock;
403 struct work_struct peer_work;
404#endif
387}; 405};
388 406
389enum { 407enum {