aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/igb/e1000_82575.h
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2009-02-19 23:40:07 -0500
committerDavid S. Miller <davem@davemloft.net>2009-02-20 03:22:54 -0500
commit4ae196dfd61d06b061c069edcdd7c73121e60a21 (patch)
tree68111629e73751b6200cc9bdd8b769246fe0d540 /drivers/net/igb/e1000_82575.h
parente173952257d7a3d3c64de3039d9fc02d1fbf49c3 (diff)
igb: Add support for enabling VFs to PF driver.
This patch adds the support to handle requests from the VF to perform operations such as completing resets, setting/reading mac address, adding vlans, adding multicast addresses, setting rlpml, and general communications between the PF and all VFs. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/igb/e1000_82575.h')
-rw-r--r--drivers/net/igb/e1000_82575.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/net/igb/e1000_82575.h b/drivers/net/igb/e1000_82575.h
index 116714f346bb..eaf977050368 100644
--- a/drivers/net/igb/e1000_82575.h
+++ b/drivers/net/igb/e1000_82575.h
@@ -162,6 +162,10 @@ struct e1000_adv_tx_context_desc {
162#define E1000_DCA_TXCTRL_CPUID_SHIFT 24 /* Tx CPUID now in the last byte */ 162#define E1000_DCA_TXCTRL_CPUID_SHIFT 24 /* Tx CPUID now in the last byte */
163#define E1000_DCA_RXCTRL_CPUID_SHIFT 24 /* Rx CPUID now in the last byte */ 163#define E1000_DCA_RXCTRL_CPUID_SHIFT 24 /* Rx CPUID now in the last byte */
164 164
165#define MAX_NUM_VFS 8
166
167#define E1000_DTXSWC_VMDQ_LOOPBACK_EN (1 << 31) /* global VF LB enable */
168
165/* Easy defines for setting default pool, would normally be left a zero */ 169/* Easy defines for setting default pool, would normally be left a zero */
166#define E1000_VT_CTL_DEFAULT_POOL_SHIFT 7 170#define E1000_VT_CTL_DEFAULT_POOL_SHIFT 7
167#define E1000_VT_CTL_DEFAULT_POOL_MASK (0x7 << E1000_VT_CTL_DEFAULT_POOL_SHIFT) 171#define E1000_VT_CTL_DEFAULT_POOL_MASK (0x7 << E1000_VT_CTL_DEFAULT_POOL_SHIFT)
@@ -181,8 +185,21 @@ struct e1000_adv_tx_context_desc {
181#define E1000_VMOLR_BAM 0x08000000 /* Accept Broadcast packets */ 185#define E1000_VMOLR_BAM 0x08000000 /* Accept Broadcast packets */
182#define E1000_VMOLR_MPME 0x10000000 /* Multicast promiscuous mode */ 186#define E1000_VMOLR_MPME 0x10000000 /* Multicast promiscuous mode */
183#define E1000_VMOLR_STRVLAN 0x40000000 /* Vlan stripping enable */ 187#define E1000_VMOLR_STRVLAN 0x40000000 /* Vlan stripping enable */
188#define E1000_VMOLR_STRCRC 0x80000000 /* CRC stripping enable */
189
190#define E1000_VLVF_ARRAY_SIZE 32
191#define E1000_VLVF_VLANID_MASK 0x00000FFF
192#define E1000_VLVF_POOLSEL_SHIFT 12
193#define E1000_VLVF_POOLSEL_MASK (0xFF << E1000_VLVF_POOLSEL_SHIFT)
194#define E1000_VLVF_LVLAN 0x00100000
195#define E1000_VLVF_VLANID_ENABLE 0x80000000
196
197#define E1000_IOVCTL 0x05BBC
198#define E1000_IOVCTL_REUSE_VFQ 0x00000001
184 199
185#define ALL_QUEUES 0xFFFF 200#define ALL_QUEUES 0xFFFF
186 201
202void igb_vmdq_set_loopback_pf(struct e1000_hw *, bool);
203void igb_vmdq_set_replication_pf(struct e1000_hw *, bool);
187 204
188#endif 205#endif