diff options
author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2011-03-25 11:41:20 -0400 |
---|---|---|
committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2011-03-25 11:41:20 -0400 |
commit | 7bf7e370d5919112c223a269462cd0b546903829 (patch) | |
tree | 03ccc715239df14ae168277dbccc9d9cf4d8a2c8 /drivers/net/ixgbevf | |
parent | 68b1a1e786f29c900fa1c516a402e24f0ece622a (diff) | |
parent | d39dd11c3e6a7af5c20bfac40594db36cf270f42 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus-1
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6: (9356 commits)
[media] rc: update for bitop name changes
fs: simplify iget & friends
fs: pull inode->i_lock up out of writeback_single_inode
fs: rename inode_lock to inode_hash_lock
fs: move i_wb_list out from under inode_lock
fs: move i_sb_list out from under inode_lock
fs: remove inode_lock from iput_final and prune_icache
fs: Lock the inode LRU list separately
fs: factor inode disposal
fs: protect inode->i_state with inode->i_lock
lib, arch: add filter argument to show_mem and fix private implementations
SLUB: Write to per cpu data when allocating it
slub: Fix debugobjects with lockless fastpath
autofs4: Do not potentially dereference NULL pointer returned by fget() in autofs_dev_ioctl_setpipefd()
autofs4 - remove autofs4_lock
autofs4 - fix d_manage() return on rcu-walk
autofs4 - fix autofs4_expire_indirect() traversal
autofs4 - fix dentry leak in autofs4_expire_direct()
autofs4 - reinstate last used update on access
vfs - check non-mountpoint dentry might block in __follow_mount_rcu()
...
NOTE!
This merge commit was created to fix compilation error. The block
tree was merged upstream and removed the 'elv_queue_empty()'
function which the new 'mtdswap' driver is using. So a simple
merge of the mtd tree with upstream does not compile. And the
mtd tree has already be published, so re-basing it is not an option.
To fix this unfortunate situation, I had to merge upstream into the
mtd-2.6.git tree without committing, put the fixup patch on top of
this, and then commit this. The result is that we do not have commits
which do not compile.
In other words, this merge commit "merges" 3 things: the MTD tree, the
upstream tree, and the fixup patch.
Diffstat (limited to 'drivers/net/ixgbevf')
-rw-r--r-- | drivers/net/ixgbevf/defines.h | 2 | ||||
-rw-r--r-- | drivers/net/ixgbevf/ethtool.c | 4 | ||||
-rw-r--r-- | drivers/net/ixgbevf/ixgbevf.h | 1 | ||||
-rw-r--r-- | drivers/net/ixgbevf/ixgbevf_main.c | 98 | ||||
-rw-r--r-- | drivers/net/ixgbevf/regs.h | 2 |
5 files changed, 34 insertions, 73 deletions
diff --git a/drivers/net/ixgbevf/defines.h b/drivers/net/ixgbevf/defines.h index de643eb2ada6..78abb6f1a866 100644 --- a/drivers/net/ixgbevf/defines.h +++ b/drivers/net/ixgbevf/defines.h | |||
@@ -65,6 +65,8 @@ typedef u32 ixgbe_link_speed; | |||
65 | #define IXGBE_RXCTRL_DMBYPS 0x00000002 /* Descriptor Monitor Bypass */ | 65 | #define IXGBE_RXCTRL_DMBYPS 0x00000002 /* Descriptor Monitor Bypass */ |
66 | #define IXGBE_RXDCTL_ENABLE 0x02000000 /* Enable specific Rx Queue */ | 66 | #define IXGBE_RXDCTL_ENABLE 0x02000000 /* Enable specific Rx Queue */ |
67 | #define IXGBE_RXDCTL_VME 0x40000000 /* VLAN mode enable */ | 67 | #define IXGBE_RXDCTL_VME 0x40000000 /* VLAN mode enable */ |
68 | #define IXGBE_RXDCTL_RLPMLMASK 0x00003FFF /* Only supported on the X540 */ | ||
69 | #define IXGBE_RXDCTL_RLPML_EN 0x00008000 | ||
68 | 70 | ||
69 | /* DCA Control */ | 71 | /* DCA Control */ |
70 | #define IXGBE_DCA_TXCTRL_TX_WB_RO_EN (1 << 11) /* Tx Desc writeback RO bit */ | 72 | #define IXGBE_DCA_TXCTRL_TX_WB_RO_EN (1 << 11) /* Tx Desc writeback RO bit */ |
diff --git a/drivers/net/ixgbevf/ethtool.c b/drivers/net/ixgbevf/ethtool.c index fa29b3c8c464..0563ab29264e 100644 --- a/drivers/net/ixgbevf/ethtool.c +++ b/drivers/net/ixgbevf/ethtool.c | |||
@@ -172,7 +172,7 @@ static char *ixgbevf_reg_names[] = { | |||
172 | "IXGBE_VFSTATUS", | 172 | "IXGBE_VFSTATUS", |
173 | "IXGBE_VFLINKS", | 173 | "IXGBE_VFLINKS", |
174 | "IXGBE_VFRXMEMWRAP", | 174 | "IXGBE_VFRXMEMWRAP", |
175 | "IXGBE_VFRTIMER", | 175 | "IXGBE_VFFRTIMER", |
176 | "IXGBE_VTEICR", | 176 | "IXGBE_VTEICR", |
177 | "IXGBE_VTEICS", | 177 | "IXGBE_VTEICS", |
178 | "IXGBE_VTEIMS", | 178 | "IXGBE_VTEIMS", |
@@ -240,7 +240,7 @@ static void ixgbevf_get_regs(struct net_device *netdev, | |||
240 | regs_buff[1] = IXGBE_READ_REG(hw, IXGBE_VFSTATUS); | 240 | regs_buff[1] = IXGBE_READ_REG(hw, IXGBE_VFSTATUS); |
241 | regs_buff[2] = IXGBE_READ_REG(hw, IXGBE_VFLINKS); | 241 | regs_buff[2] = IXGBE_READ_REG(hw, IXGBE_VFLINKS); |
242 | regs_buff[3] = IXGBE_READ_REG(hw, IXGBE_VFRXMEMWRAP); | 242 | regs_buff[3] = IXGBE_READ_REG(hw, IXGBE_VFRXMEMWRAP); |
243 | regs_buff[4] = IXGBE_READ_REG(hw, IXGBE_VFRTIMER); | 243 | regs_buff[4] = IXGBE_READ_REG(hw, IXGBE_VFFRTIMER); |
244 | 244 | ||
245 | /* Interrupt */ | 245 | /* Interrupt */ |
246 | /* don't read EICR because it can clear interrupt causes, instead | 246 | /* don't read EICR because it can clear interrupt causes, instead |
diff --git a/drivers/net/ixgbevf/ixgbevf.h b/drivers/net/ixgbevf/ixgbevf.h index a63efcb2cf1b..b703f60be3b7 100644 --- a/drivers/net/ixgbevf/ixgbevf.h +++ b/drivers/net/ixgbevf/ixgbevf.h | |||
@@ -207,7 +207,6 @@ struct ixgbevf_adapter { | |||
207 | u64 hw_tso_ctxt; | 207 | u64 hw_tso_ctxt; |
208 | u64 hw_tso6_ctxt; | 208 | u64 hw_tso6_ctxt; |
209 | u32 tx_timeout_count; | 209 | u32 tx_timeout_count; |
210 | bool detect_tx_hung; | ||
211 | 210 | ||
212 | /* RX */ | 211 | /* RX */ |
213 | struct ixgbevf_ring *rx_ring; /* One per active queue */ | 212 | struct ixgbevf_ring *rx_ring; /* One per active queue */ |
diff --git a/drivers/net/ixgbevf/ixgbevf_main.c b/drivers/net/ixgbevf/ixgbevf_main.c index 464e6c9d3fc2..054ab05b7c6a 100644 --- a/drivers/net/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ixgbevf/ixgbevf_main.c | |||
@@ -49,9 +49,9 @@ | |||
49 | 49 | ||
50 | char ixgbevf_driver_name[] = "ixgbevf"; | 50 | char ixgbevf_driver_name[] = "ixgbevf"; |
51 | static const char ixgbevf_driver_string[] = | 51 | static const char ixgbevf_driver_string[] = |
52 | "Intel(R) 82599 Virtual Function"; | 52 | "Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver"; |
53 | 53 | ||
54 | #define DRV_VERSION "1.0.19-k0" | 54 | #define DRV_VERSION "2.0.0-k2" |
55 | const char ixgbevf_driver_version[] = DRV_VERSION; | 55 | const char ixgbevf_driver_version[] = DRV_VERSION; |
56 | static char ixgbevf_copyright[] = | 56 | static char ixgbevf_copyright[] = |
57 | "Copyright (c) 2009 - 2010 Intel Corporation."; | 57 | "Copyright (c) 2009 - 2010 Intel Corporation."; |
@@ -107,7 +107,7 @@ static inline void ixgbevf_release_rx_desc(struct ixgbe_hw *hw, | |||
107 | } | 107 | } |
108 | 108 | ||
109 | /* | 109 | /* |
110 | * ixgbe_set_ivar - set the IVAR registers, mapping interrupt causes to vectors | 110 | * ixgbevf_set_ivar - set IVAR registers - maps interrupt causes to vectors |
111 | * @adapter: pointer to adapter struct | 111 | * @adapter: pointer to adapter struct |
112 | * @direction: 0 for Rx, 1 for Tx, -1 for other causes | 112 | * @direction: 0 for Rx, 1 for Tx, -1 for other causes |
113 | * @queue: queue to map the corresponding interrupt to | 113 | * @queue: queue to map the corresponding interrupt to |
@@ -162,42 +162,6 @@ static void ixgbevf_unmap_and_free_tx_resource(struct ixgbevf_adapter *adapter, | |||
162 | /* tx_buffer_info must be completely set up in the transmit path */ | 162 | /* tx_buffer_info must be completely set up in the transmit path */ |
163 | } | 163 | } |
164 | 164 | ||
165 | static inline bool ixgbevf_check_tx_hang(struct ixgbevf_adapter *adapter, | ||
166 | struct ixgbevf_ring *tx_ring, | ||
167 | unsigned int eop) | ||
168 | { | ||
169 | struct ixgbe_hw *hw = &adapter->hw; | ||
170 | u32 head, tail; | ||
171 | |||
172 | /* Detect a transmit hang in hardware, this serializes the | ||
173 | * check with the clearing of time_stamp and movement of eop */ | ||
174 | head = readl(hw->hw_addr + tx_ring->head); | ||
175 | tail = readl(hw->hw_addr + tx_ring->tail); | ||
176 | adapter->detect_tx_hung = false; | ||
177 | if ((head != tail) && | ||
178 | tx_ring->tx_buffer_info[eop].time_stamp && | ||
179 | time_after(jiffies, tx_ring->tx_buffer_info[eop].time_stamp + HZ)) { | ||
180 | /* detected Tx unit hang */ | ||
181 | union ixgbe_adv_tx_desc *tx_desc; | ||
182 | tx_desc = IXGBE_TX_DESC_ADV(*tx_ring, eop); | ||
183 | printk(KERN_ERR "Detected Tx Unit Hang\n" | ||
184 | " Tx Queue <%d>\n" | ||
185 | " TDH, TDT <%x>, <%x>\n" | ||
186 | " next_to_use <%x>\n" | ||
187 | " next_to_clean <%x>\n" | ||
188 | "tx_buffer_info[next_to_clean]\n" | ||
189 | " time_stamp <%lx>\n" | ||
190 | " jiffies <%lx>\n", | ||
191 | tx_ring->queue_index, | ||
192 | head, tail, | ||
193 | tx_ring->next_to_use, eop, | ||
194 | tx_ring->tx_buffer_info[eop].time_stamp, jiffies); | ||
195 | return true; | ||
196 | } | ||
197 | |||
198 | return false; | ||
199 | } | ||
200 | |||
201 | #define IXGBE_MAX_TXD_PWR 14 | 165 | #define IXGBE_MAX_TXD_PWR 14 |
202 | #define IXGBE_MAX_DATA_PER_TXD (1 << IXGBE_MAX_TXD_PWR) | 166 | #define IXGBE_MAX_DATA_PER_TXD (1 << IXGBE_MAX_TXD_PWR) |
203 | 167 | ||
@@ -293,16 +257,6 @@ static bool ixgbevf_clean_tx_irq(struct ixgbevf_adapter *adapter, | |||
293 | #endif | 257 | #endif |
294 | } | 258 | } |
295 | 259 | ||
296 | if (adapter->detect_tx_hung) { | ||
297 | if (ixgbevf_check_tx_hang(adapter, tx_ring, i)) { | ||
298 | /* schedule immediate reset if we believe we hung */ | ||
299 | printk(KERN_INFO | ||
300 | "tx hang %d detected, resetting adapter\n", | ||
301 | adapter->tx_timeout_count + 1); | ||
302 | ixgbevf_tx_timeout(adapter->netdev); | ||
303 | } | ||
304 | } | ||
305 | |||
306 | /* re-arm the interrupt */ | 260 | /* re-arm the interrupt */ |
307 | if ((count >= tx_ring->work_limit) && | 261 | if ((count >= tx_ring->work_limit) && |
308 | (!test_bit(__IXGBEVF_DOWN, &adapter->state))) { | 262 | (!test_bit(__IXGBEVF_DOWN, &adapter->state))) { |
@@ -334,7 +288,6 @@ static void ixgbevf_receive_skb(struct ixgbevf_q_vector *q_vector, | |||
334 | struct ixgbevf_adapter *adapter = q_vector->adapter; | 288 | struct ixgbevf_adapter *adapter = q_vector->adapter; |
335 | bool is_vlan = (status & IXGBE_RXD_STAT_VP); | 289 | bool is_vlan = (status & IXGBE_RXD_STAT_VP); |
336 | u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan); | 290 | u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan); |
337 | int ret; | ||
338 | 291 | ||
339 | if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL)) { | 292 | if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL)) { |
340 | if (adapter->vlgrp && is_vlan) | 293 | if (adapter->vlgrp && is_vlan) |
@@ -345,9 +298,9 @@ static void ixgbevf_receive_skb(struct ixgbevf_q_vector *q_vector, | |||
345 | napi_gro_receive(&q_vector->napi, skb); | 298 | napi_gro_receive(&q_vector->napi, skb); |
346 | } else { | 299 | } else { |
347 | if (adapter->vlgrp && is_vlan) | 300 | if (adapter->vlgrp && is_vlan) |
348 | ret = vlan_hwaccel_rx(skb, adapter->vlgrp, tag); | 301 | vlan_hwaccel_rx(skb, adapter->vlgrp, tag); |
349 | else | 302 | else |
350 | ret = netif_rx(skb); | 303 | netif_rx(skb); |
351 | } | 304 | } |
352 | } | 305 | } |
353 | 306 | ||
@@ -1017,7 +970,7 @@ static irqreturn_t ixgbevf_msix_clean_tx(int irq, void *data) | |||
1017 | } | 970 | } |
1018 | 971 | ||
1019 | /** | 972 | /** |
1020 | * ixgbe_msix_clean_rx - single unshared vector rx clean (all queues) | 973 | * ixgbevf_msix_clean_rx - single unshared vector rx clean (all queues) |
1021 | * @irq: unused | 974 | * @irq: unused |
1022 | * @data: pointer to our q_vector struct for this interrupt vector | 975 | * @data: pointer to our q_vector struct for this interrupt vector |
1023 | **/ | 976 | **/ |
@@ -1665,6 +1618,11 @@ static int ixgbevf_up_complete(struct ixgbevf_adapter *adapter) | |||
1665 | j = adapter->rx_ring[i].reg_idx; | 1618 | j = adapter->rx_ring[i].reg_idx; |
1666 | rxdctl = IXGBE_READ_REG(hw, IXGBE_VFRXDCTL(j)); | 1619 | rxdctl = IXGBE_READ_REG(hw, IXGBE_VFRXDCTL(j)); |
1667 | rxdctl |= IXGBE_RXDCTL_ENABLE; | 1620 | rxdctl |= IXGBE_RXDCTL_ENABLE; |
1621 | if (hw->mac.type == ixgbe_mac_X540_vf) { | ||
1622 | rxdctl &= ~IXGBE_RXDCTL_RLPMLMASK; | ||
1623 | rxdctl |= ((netdev->mtu + ETH_HLEN + ETH_FCS_LEN) | | ||
1624 | IXGBE_RXDCTL_RLPML_EN); | ||
1625 | } | ||
1668 | IXGBE_WRITE_REG(hw, IXGBE_VFRXDCTL(j), rxdctl); | 1626 | IXGBE_WRITE_REG(hw, IXGBE_VFRXDCTL(j), rxdctl); |
1669 | ixgbevf_rx_desc_queue_enable(adapter, i); | 1627 | ixgbevf_rx_desc_queue_enable(adapter, i); |
1670 | } | 1628 | } |
@@ -1967,7 +1925,7 @@ static void ixgbevf_acquire_msix_vectors(struct ixgbevf_adapter *adapter, | |||
1967 | } | 1925 | } |
1968 | 1926 | ||
1969 | /* | 1927 | /* |
1970 | * ixgbe_set_num_queues: Allocate queues for device, feature dependant | 1928 | * ixgbevf_set_num_queues: Allocate queues for device, feature dependant |
1971 | * @adapter: board private structure to initialize | 1929 | * @adapter: board private structure to initialize |
1972 | * | 1930 | * |
1973 | * This is the top level queue allocation routine. The order here is very | 1931 | * This is the top level queue allocation routine. The order here is very |
@@ -2216,7 +2174,7 @@ static int __devinit ixgbevf_sw_init(struct ixgbevf_adapter *adapter) | |||
2216 | 2174 | ||
2217 | hw->vendor_id = pdev->vendor; | 2175 | hw->vendor_id = pdev->vendor; |
2218 | hw->device_id = pdev->device; | 2176 | hw->device_id = pdev->device; |
2219 | pci_read_config_byte(pdev, PCI_REVISION_ID, &hw->revision_id); | 2177 | hw->revision_id = pdev->revision; |
2220 | hw->subsystem_vendor_id = pdev->subsystem_vendor; | 2178 | hw->subsystem_vendor_id = pdev->subsystem_vendor; |
2221 | hw->subsystem_device_id = pdev->subsystem_device; | 2179 | hw->subsystem_device_id = pdev->subsystem_device; |
2222 | 2180 | ||
@@ -2410,9 +2368,6 @@ static void ixgbevf_watchdog_task(struct work_struct *work) | |||
2410 | 10 : 1); | 2368 | 10 : 1); |
2411 | netif_carrier_on(netdev); | 2369 | netif_carrier_on(netdev); |
2412 | netif_tx_wake_all_queues(netdev); | 2370 | netif_tx_wake_all_queues(netdev); |
2413 | } else { | ||
2414 | /* Force detection of hung controller */ | ||
2415 | adapter->detect_tx_hung = true; | ||
2416 | } | 2371 | } |
2417 | } else { | 2372 | } else { |
2418 | adapter->link_up = false; | 2373 | adapter->link_up = false; |
@@ -2427,9 +2382,6 @@ static void ixgbevf_watchdog_task(struct work_struct *work) | |||
2427 | ixgbevf_update_stats(adapter); | 2382 | ixgbevf_update_stats(adapter); |
2428 | 2383 | ||
2429 | pf_has_reset: | 2384 | pf_has_reset: |
2430 | /* Force detection of hung controller every watchdog period */ | ||
2431 | adapter->detect_tx_hung = true; | ||
2432 | |||
2433 | /* Reset the timer */ | 2385 | /* Reset the timer */ |
2434 | if (!test_bit(__IXGBEVF_DOWN, &adapter->state)) | 2386 | if (!test_bit(__IXGBEVF_DOWN, &adapter->state)) |
2435 | mod_timer(&adapter->watchdog_timer, | 2387 | mod_timer(&adapter->watchdog_timer, |
@@ -3217,10 +3169,16 @@ static int ixgbevf_set_mac(struct net_device *netdev, void *p) | |||
3217 | static int ixgbevf_change_mtu(struct net_device *netdev, int new_mtu) | 3169 | static int ixgbevf_change_mtu(struct net_device *netdev, int new_mtu) |
3218 | { | 3170 | { |
3219 | struct ixgbevf_adapter *adapter = netdev_priv(netdev); | 3171 | struct ixgbevf_adapter *adapter = netdev_priv(netdev); |
3172 | struct ixgbe_hw *hw = &adapter->hw; | ||
3220 | int max_frame = new_mtu + ETH_HLEN + ETH_FCS_LEN; | 3173 | int max_frame = new_mtu + ETH_HLEN + ETH_FCS_LEN; |
3174 | int max_possible_frame = MAXIMUM_ETHERNET_VLAN_SIZE; | ||
3175 | u32 msg[2]; | ||
3176 | |||
3177 | if (adapter->hw.mac.type == ixgbe_mac_X540_vf) | ||
3178 | max_possible_frame = IXGBE_MAX_JUMBO_FRAME_SIZE; | ||
3221 | 3179 | ||
3222 | /* MTU < 68 is an error and causes problems on some kernels */ | 3180 | /* MTU < 68 is an error and causes problems on some kernels */ |
3223 | if ((new_mtu < 68) || (max_frame > MAXIMUM_ETHERNET_VLAN_SIZE)) | 3181 | if ((new_mtu < 68) || (max_frame > max_possible_frame)) |
3224 | return -EINVAL; | 3182 | return -EINVAL; |
3225 | 3183 | ||
3226 | hw_dbg(&adapter->hw, "changing MTU from %d to %d\n", | 3184 | hw_dbg(&adapter->hw, "changing MTU from %d to %d\n", |
@@ -3228,6 +3186,10 @@ static int ixgbevf_change_mtu(struct net_device *netdev, int new_mtu) | |||
3228 | /* must set new MTU before calling down or up */ | 3186 | /* must set new MTU before calling down or up */ |
3229 | netdev->mtu = new_mtu; | 3187 | netdev->mtu = new_mtu; |
3230 | 3188 | ||
3189 | msg[0] = IXGBE_VF_SET_LPE; | ||
3190 | msg[1] = max_frame; | ||
3191 | hw->mbx.ops.write_posted(hw, msg, 2); | ||
3192 | |||
3231 | if (netif_running(netdev)) | 3193 | if (netif_running(netdev)) |
3232 | ixgbevf_reinit_locked(adapter); | 3194 | ixgbevf_reinit_locked(adapter); |
3233 | 3195 | ||
@@ -3272,8 +3234,6 @@ static const struct net_device_ops ixgbe_netdev_ops = { | |||
3272 | 3234 | ||
3273 | static void ixgbevf_assign_netdev_ops(struct net_device *dev) | 3235 | static void ixgbevf_assign_netdev_ops(struct net_device *dev) |
3274 | { | 3236 | { |
3275 | struct ixgbevf_adapter *adapter; | ||
3276 | adapter = netdev_priv(dev); | ||
3277 | dev->netdev_ops = &ixgbe_netdev_ops; | 3237 | dev->netdev_ops = &ixgbe_netdev_ops; |
3278 | ixgbevf_set_ethtool_ops(dev); | 3238 | ixgbevf_set_ethtool_ops(dev); |
3279 | dev->watchdog_timeo = 5 * HZ; | 3239 | dev->watchdog_timeo = 5 * HZ; |
@@ -3519,9 +3479,9 @@ static struct pci_driver ixgbevf_driver = { | |||
3519 | }; | 3479 | }; |
3520 | 3480 | ||
3521 | /** | 3481 | /** |
3522 | * ixgbe_init_module - Driver Registration Routine | 3482 | * ixgbevf_init_module - Driver Registration Routine |
3523 | * | 3483 | * |
3524 | * ixgbe_init_module is the first routine called when the driver is | 3484 | * ixgbevf_init_module is the first routine called when the driver is |
3525 | * loaded. All it does is register with the PCI subsystem. | 3485 | * loaded. All it does is register with the PCI subsystem. |
3526 | **/ | 3486 | **/ |
3527 | static int __init ixgbevf_init_module(void) | 3487 | static int __init ixgbevf_init_module(void) |
@@ -3539,9 +3499,9 @@ static int __init ixgbevf_init_module(void) | |||
3539 | module_init(ixgbevf_init_module); | 3499 | module_init(ixgbevf_init_module); |
3540 | 3500 | ||
3541 | /** | 3501 | /** |
3542 | * ixgbe_exit_module - Driver Exit Cleanup Routine | 3502 | * ixgbevf_exit_module - Driver Exit Cleanup Routine |
3543 | * | 3503 | * |
3544 | * ixgbe_exit_module is called just before the driver is removed | 3504 | * ixgbevf_exit_module is called just before the driver is removed |
3545 | * from memory. | 3505 | * from memory. |
3546 | **/ | 3506 | **/ |
3547 | static void __exit ixgbevf_exit_module(void) | 3507 | static void __exit ixgbevf_exit_module(void) |
@@ -3551,7 +3511,7 @@ static void __exit ixgbevf_exit_module(void) | |||
3551 | 3511 | ||
3552 | #ifdef DEBUG | 3512 | #ifdef DEBUG |
3553 | /** | 3513 | /** |
3554 | * ixgbe_get_hw_dev_name - return device name string | 3514 | * ixgbevf_get_hw_dev_name - return device name string |
3555 | * used by hardware layer to print debugging information | 3515 | * used by hardware layer to print debugging information |
3556 | **/ | 3516 | **/ |
3557 | char *ixgbevf_get_hw_dev_name(struct ixgbe_hw *hw) | 3517 | char *ixgbevf_get_hw_dev_name(struct ixgbe_hw *hw) |
diff --git a/drivers/net/ixgbevf/regs.h b/drivers/net/ixgbevf/regs.h index fb80ca1bcc93..189200eeca26 100644 --- a/drivers/net/ixgbevf/regs.h +++ b/drivers/net/ixgbevf/regs.h | |||
@@ -31,7 +31,7 @@ | |||
31 | #define IXGBE_VFCTRL 0x00000 | 31 | #define IXGBE_VFCTRL 0x00000 |
32 | #define IXGBE_VFSTATUS 0x00008 | 32 | #define IXGBE_VFSTATUS 0x00008 |
33 | #define IXGBE_VFLINKS 0x00010 | 33 | #define IXGBE_VFLINKS 0x00010 |
34 | #define IXGBE_VFRTIMER 0x00048 | 34 | #define IXGBE_VFFRTIMER 0x00048 |
35 | #define IXGBE_VFRXMEMWRAP 0x03190 | 35 | #define IXGBE_VFRXMEMWRAP 0x03190 |
36 | #define IXGBE_VTEICR 0x00100 | 36 | #define IXGBE_VTEICR 0x00100 |
37 | #define IXGBE_VTEICS 0x00104 | 37 | #define IXGBE_VTEICS 0x00104 |