diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2009-02-19 23:40:07 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-02-20 03:22:54 -0500 |
commit | 4ae196dfd61d06b061c069edcdd7c73121e60a21 (patch) | |
tree | 68111629e73751b6200cc9bdd8b769246fe0d540 /drivers/net/igb/e1000_82575.h | |
parent | e173952257d7a3d3c64de3039d9fc02d1fbf49c3 (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.h | 17 |
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 | ||
202 | void igb_vmdq_set_loopback_pf(struct e1000_hw *, bool); | ||
203 | void igb_vmdq_set_replication_pf(struct e1000_hw *, bool); | ||
187 | 204 | ||
188 | #endif | 205 | #endif |