diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/e1000/e1000_ethtool.c | 175 | ||||
-rw-r--r-- | drivers/net/e1000/e1000_hw.c | 558 | ||||
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 307 | ||||
-rw-r--r-- | drivers/net/e1000/e1000_param.c | 16 |
4 files changed, 385 insertions, 671 deletions
diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c index a3f6a9c72ec8..4bcfa374f4d6 100644 --- a/drivers/net/e1000/e1000_ethtool.c +++ b/drivers/net/e1000/e1000_ethtool.c | |||
@@ -112,8 +112,8 @@ static const char e1000_gstrings_test[][ETH_GSTRING_LEN] = { | |||
112 | }; | 112 | }; |
113 | #define E1000_TEST_LEN ARRAY_SIZE(e1000_gstrings_test) | 113 | #define E1000_TEST_LEN ARRAY_SIZE(e1000_gstrings_test) |
114 | 114 | ||
115 | static int | 115 | static int e1000_get_settings(struct net_device *netdev, |
116 | e1000_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) | 116 | struct ethtool_cmd *ecmd) |
117 | { | 117 | { |
118 | struct e1000_adapter *adapter = netdev_priv(netdev); | 118 | struct e1000_adapter *adapter = netdev_priv(netdev); |
119 | struct e1000_hw *hw = &adapter->hw; | 119 | struct e1000_hw *hw = &adapter->hw; |
@@ -185,8 +185,8 @@ e1000_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) | |||
185 | return 0; | 185 | return 0; |
186 | } | 186 | } |
187 | 187 | ||
188 | static int | 188 | static int e1000_set_settings(struct net_device *netdev, |
189 | e1000_set_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) | 189 | struct ethtool_cmd *ecmd) |
190 | { | 190 | { |
191 | struct e1000_adapter *adapter = netdev_priv(netdev); | 191 | struct e1000_adapter *adapter = netdev_priv(netdev); |
192 | struct e1000_hw *hw = &adapter->hw; | 192 | struct e1000_hw *hw = &adapter->hw; |
@@ -231,9 +231,8 @@ e1000_set_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) | |||
231 | return 0; | 231 | return 0; |
232 | } | 232 | } |
233 | 233 | ||
234 | static void | 234 | static void e1000_get_pauseparam(struct net_device *netdev, |
235 | e1000_get_pauseparam(struct net_device *netdev, | 235 | struct ethtool_pauseparam *pause) |
236 | struct ethtool_pauseparam *pause) | ||
237 | { | 236 | { |
238 | struct e1000_adapter *adapter = netdev_priv(netdev); | 237 | struct e1000_adapter *adapter = netdev_priv(netdev); |
239 | struct e1000_hw *hw = &adapter->hw; | 238 | struct e1000_hw *hw = &adapter->hw; |
@@ -251,9 +250,8 @@ e1000_get_pauseparam(struct net_device *netdev, | |||
251 | } | 250 | } |
252 | } | 251 | } |
253 | 252 | ||
254 | static int | 253 | static int e1000_set_pauseparam(struct net_device *netdev, |
255 | e1000_set_pauseparam(struct net_device *netdev, | 254 | struct ethtool_pauseparam *pause) |
256 | struct ethtool_pauseparam *pause) | ||
257 | { | 255 | { |
258 | struct e1000_adapter *adapter = netdev_priv(netdev); | 256 | struct e1000_adapter *adapter = netdev_priv(netdev); |
259 | struct e1000_hw *hw = &adapter->hw; | 257 | struct e1000_hw *hw = &adapter->hw; |
@@ -289,15 +287,13 @@ e1000_set_pauseparam(struct net_device *netdev, | |||
289 | return retval; | 287 | return retval; |
290 | } | 288 | } |
291 | 289 | ||
292 | static u32 | 290 | static u32 e1000_get_rx_csum(struct net_device *netdev) |
293 | e1000_get_rx_csum(struct net_device *netdev) | ||
294 | { | 291 | { |
295 | struct e1000_adapter *adapter = netdev_priv(netdev); | 292 | struct e1000_adapter *adapter = netdev_priv(netdev); |
296 | return adapter->rx_csum; | 293 | return adapter->rx_csum; |
297 | } | 294 | } |
298 | 295 | ||
299 | static int | 296 | static int e1000_set_rx_csum(struct net_device *netdev, u32 data) |
300 | e1000_set_rx_csum(struct net_device *netdev, u32 data) | ||
301 | { | 297 | { |
302 | struct e1000_adapter *adapter = netdev_priv(netdev); | 298 | struct e1000_adapter *adapter = netdev_priv(netdev); |
303 | adapter->rx_csum = data; | 299 | adapter->rx_csum = data; |
@@ -309,14 +305,12 @@ e1000_set_rx_csum(struct net_device *netdev, u32 data) | |||
309 | return 0; | 305 | return 0; |
310 | } | 306 | } |
311 | 307 | ||
312 | static u32 | 308 | static u32 e1000_get_tx_csum(struct net_device *netdev) |
313 | e1000_get_tx_csum(struct net_device *netdev) | ||
314 | { | 309 | { |
315 | return (netdev->features & NETIF_F_HW_CSUM) != 0; | 310 | return (netdev->features & NETIF_F_HW_CSUM) != 0; |
316 | } | 311 | } |
317 | 312 | ||
318 | static int | 313 | static int e1000_set_tx_csum(struct net_device *netdev, u32 data) |
319 | e1000_set_tx_csum(struct net_device *netdev, u32 data) | ||
320 | { | 314 | { |
321 | struct e1000_adapter *adapter = netdev_priv(netdev); | 315 | struct e1000_adapter *adapter = netdev_priv(netdev); |
322 | 316 | ||
@@ -334,8 +328,7 @@ e1000_set_tx_csum(struct net_device *netdev, u32 data) | |||
334 | return 0; | 328 | return 0; |
335 | } | 329 | } |
336 | 330 | ||
337 | static int | 331 | static int e1000_set_tso(struct net_device *netdev, u32 data) |
338 | e1000_set_tso(struct net_device *netdev, u32 data) | ||
339 | { | 332 | { |
340 | struct e1000_adapter *adapter = netdev_priv(netdev); | 333 | struct e1000_adapter *adapter = netdev_priv(netdev); |
341 | if ((adapter->hw.mac_type < e1000_82544) || | 334 | if ((adapter->hw.mac_type < e1000_82544) || |
@@ -357,30 +350,26 @@ e1000_set_tso(struct net_device *netdev, u32 data) | |||
357 | return 0; | 350 | return 0; |
358 | } | 351 | } |
359 | 352 | ||
360 | static u32 | 353 | static u32 e1000_get_msglevel(struct net_device *netdev) |
361 | e1000_get_msglevel(struct net_device *netdev) | ||
362 | { | 354 | { |
363 | struct e1000_adapter *adapter = netdev_priv(netdev); | 355 | struct e1000_adapter *adapter = netdev_priv(netdev); |
364 | return adapter->msg_enable; | 356 | return adapter->msg_enable; |
365 | } | 357 | } |
366 | 358 | ||
367 | static void | 359 | static void e1000_set_msglevel(struct net_device *netdev, u32 data) |
368 | e1000_set_msglevel(struct net_device *netdev, u32 data) | ||
369 | { | 360 | { |
370 | struct e1000_adapter *adapter = netdev_priv(netdev); | 361 | struct e1000_adapter *adapter = netdev_priv(netdev); |
371 | adapter->msg_enable = data; | 362 | adapter->msg_enable = data; |
372 | } | 363 | } |
373 | 364 | ||
374 | static int | 365 | static int e1000_get_regs_len(struct net_device *netdev) |
375 | e1000_get_regs_len(struct net_device *netdev) | ||
376 | { | 366 | { |
377 | #define E1000_REGS_LEN 32 | 367 | #define E1000_REGS_LEN 32 |
378 | return E1000_REGS_LEN * sizeof(u32); | 368 | return E1000_REGS_LEN * sizeof(u32); |
379 | } | 369 | } |
380 | 370 | ||
381 | static void | 371 | static void e1000_get_regs(struct net_device *netdev, struct ethtool_regs *regs, |
382 | e1000_get_regs(struct net_device *netdev, | 372 | void *p) |
383 | struct ethtool_regs *regs, void *p) | ||
384 | { | 373 | { |
385 | struct e1000_adapter *adapter = netdev_priv(netdev); | 374 | struct e1000_adapter *adapter = netdev_priv(netdev); |
386 | struct e1000_hw *hw = &adapter->hw; | 375 | struct e1000_hw *hw = &adapter->hw; |
@@ -468,16 +457,14 @@ e1000_get_regs(struct net_device *netdev, | |||
468 | } | 457 | } |
469 | } | 458 | } |
470 | 459 | ||
471 | static int | 460 | static int e1000_get_eeprom_len(struct net_device *netdev) |
472 | e1000_get_eeprom_len(struct net_device *netdev) | ||
473 | { | 461 | { |
474 | struct e1000_adapter *adapter = netdev_priv(netdev); | 462 | struct e1000_adapter *adapter = netdev_priv(netdev); |
475 | return adapter->hw.eeprom.word_size * 2; | 463 | return adapter->hw.eeprom.word_size * 2; |
476 | } | 464 | } |
477 | 465 | ||
478 | static int | 466 | static int e1000_get_eeprom(struct net_device *netdev, |
479 | e1000_get_eeprom(struct net_device *netdev, | 467 | struct ethtool_eeprom *eeprom, u8 *bytes) |
480 | struct ethtool_eeprom *eeprom, u8 *bytes) | ||
481 | { | 468 | { |
482 | struct e1000_adapter *adapter = netdev_priv(netdev); | 469 | struct e1000_adapter *adapter = netdev_priv(netdev); |
483 | struct e1000_hw *hw = &adapter->hw; | 470 | struct e1000_hw *hw = &adapter->hw; |
@@ -521,9 +508,8 @@ e1000_get_eeprom(struct net_device *netdev, | |||
521 | return ret_val; | 508 | return ret_val; |
522 | } | 509 | } |
523 | 510 | ||
524 | static int | 511 | static int e1000_set_eeprom(struct net_device *netdev, |
525 | e1000_set_eeprom(struct net_device *netdev, | 512 | struct ethtool_eeprom *eeprom, u8 *bytes) |
526 | struct ethtool_eeprom *eeprom, u8 *bytes) | ||
527 | { | 513 | { |
528 | struct e1000_adapter *adapter = netdev_priv(netdev); | 514 | struct e1000_adapter *adapter = netdev_priv(netdev); |
529 | struct e1000_hw *hw = &adapter->hw; | 515 | struct e1000_hw *hw = &adapter->hw; |
@@ -584,9 +570,8 @@ e1000_set_eeprom(struct net_device *netdev, | |||
584 | return ret_val; | 570 | return ret_val; |
585 | } | 571 | } |
586 | 572 | ||
587 | static void | 573 | static void e1000_get_drvinfo(struct net_device *netdev, |
588 | e1000_get_drvinfo(struct net_device *netdev, | 574 | struct ethtool_drvinfo *drvinfo) |
589 | struct ethtool_drvinfo *drvinfo) | ||
590 | { | 575 | { |
591 | struct e1000_adapter *adapter = netdev_priv(netdev); | 576 | struct e1000_adapter *adapter = netdev_priv(netdev); |
592 | char firmware_version[32]; | 577 | char firmware_version[32]; |
@@ -619,9 +604,8 @@ e1000_get_drvinfo(struct net_device *netdev, | |||
619 | drvinfo->eedump_len = e1000_get_eeprom_len(netdev); | 604 | drvinfo->eedump_len = e1000_get_eeprom_len(netdev); |
620 | } | 605 | } |
621 | 606 | ||
622 | static void | 607 | static void e1000_get_ringparam(struct net_device *netdev, |
623 | e1000_get_ringparam(struct net_device *netdev, | 608 | struct ethtool_ringparam *ring) |
624 | struct ethtool_ringparam *ring) | ||
625 | { | 609 | { |
626 | struct e1000_adapter *adapter = netdev_priv(netdev); | 610 | struct e1000_adapter *adapter = netdev_priv(netdev); |
627 | e1000_mac_type mac_type = adapter->hw.mac_type; | 611 | e1000_mac_type mac_type = adapter->hw.mac_type; |
@@ -640,9 +624,8 @@ e1000_get_ringparam(struct net_device *netdev, | |||
640 | ring->rx_jumbo_pending = 0; | 624 | ring->rx_jumbo_pending = 0; |
641 | } | 625 | } |
642 | 626 | ||
643 | static int | 627 | static int e1000_set_ringparam(struct net_device *netdev, |
644 | e1000_set_ringparam(struct net_device *netdev, | 628 | struct ethtool_ringparam *ring) |
645 | struct ethtool_ringparam *ring) | ||
646 | { | 629 | { |
647 | struct e1000_adapter *adapter = netdev_priv(netdev); | 630 | struct e1000_adapter *adapter = netdev_priv(netdev); |
648 | e1000_mac_type mac_type = adapter->hw.mac_type; | 631 | e1000_mac_type mac_type = adapter->hw.mac_type; |
@@ -728,8 +711,8 @@ err_setup: | |||
728 | return err; | 711 | return err; |
729 | } | 712 | } |
730 | 713 | ||
731 | static bool reg_pattern_test(struct e1000_adapter *adapter, u64 *data, | 714 | static bool reg_pattern_test(struct e1000_adapter *adapter, u64 *data, int reg, |
732 | int reg, u32 mask, u32 write) | 715 | u32 mask, u32 write) |
733 | { | 716 | { |
734 | static const u32 test[] = | 717 | static const u32 test[] = |
735 | {0x5A5A5A5A, 0xA5A5A5A5, 0x00000000, 0xFFFFFFFF}; | 718 | {0x5A5A5A5A, 0xA5A5A5A5, 0x00000000, 0xFFFFFFFF}; |
@@ -751,8 +734,8 @@ static bool reg_pattern_test(struct e1000_adapter *adapter, u64 *data, | |||
751 | return false; | 734 | return false; |
752 | } | 735 | } |
753 | 736 | ||
754 | static bool reg_set_and_check(struct e1000_adapter *adapter, u64 *data, | 737 | static bool reg_set_and_check(struct e1000_adapter *adapter, u64 *data, int reg, |
755 | int reg, u32 mask, u32 write) | 738 | u32 mask, u32 write) |
756 | { | 739 | { |
757 | u8 __iomem *address = adapter->hw.hw_addr + reg; | 740 | u8 __iomem *address = adapter->hw.hw_addr + reg; |
758 | u32 read; | 741 | u32 read; |
@@ -787,8 +770,7 @@ static bool reg_set_and_check(struct e1000_adapter *adapter, u64 *data, | |||
787 | return 1; \ | 770 | return 1; \ |
788 | } while (0) | 771 | } while (0) |
789 | 772 | ||
790 | static int | 773 | static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data) |
791 | e1000_reg_test(struct e1000_adapter *adapter, u64 *data) | ||
792 | { | 774 | { |
793 | u32 value, before, after; | 775 | u32 value, before, after; |
794 | u32 i, toggle; | 776 | u32 i, toggle; |
@@ -883,8 +865,7 @@ e1000_reg_test(struct e1000_adapter *adapter, u64 *data) | |||
883 | return 0; | 865 | return 0; |
884 | } | 866 | } |
885 | 867 | ||
886 | static int | 868 | static int e1000_eeprom_test(struct e1000_adapter *adapter, u64 *data) |
887 | e1000_eeprom_test(struct e1000_adapter *adapter, u64 *data) | ||
888 | { | 869 | { |
889 | u16 temp; | 870 | u16 temp; |
890 | u16 checksum = 0; | 871 | u16 checksum = 0; |
@@ -907,8 +888,7 @@ e1000_eeprom_test(struct e1000_adapter *adapter, u64 *data) | |||
907 | return *data; | 888 | return *data; |
908 | } | 889 | } |
909 | 890 | ||
910 | static irqreturn_t | 891 | static irqreturn_t e1000_test_intr(int irq, void *data) |
911 | e1000_test_intr(int irq, void *data) | ||
912 | { | 892 | { |
913 | struct net_device *netdev = (struct net_device *) data; | 893 | struct net_device *netdev = (struct net_device *) data; |
914 | struct e1000_adapter *adapter = netdev_priv(netdev); | 894 | struct e1000_adapter *adapter = netdev_priv(netdev); |
@@ -918,8 +898,7 @@ e1000_test_intr(int irq, void *data) | |||
918 | return IRQ_HANDLED; | 898 | return IRQ_HANDLED; |
919 | } | 899 | } |
920 | 900 | ||
921 | static int | 901 | static int e1000_intr_test(struct e1000_adapter *adapter, u64 *data) |
922 | e1000_intr_test(struct e1000_adapter *adapter, u64 *data) | ||
923 | { | 902 | { |
924 | struct net_device *netdev = adapter->netdev; | 903 | struct net_device *netdev = adapter->netdev; |
925 | u32 mask, i = 0; | 904 | u32 mask, i = 0; |
@@ -1017,8 +996,7 @@ e1000_intr_test(struct e1000_adapter *adapter, u64 *data) | |||
1017 | return *data; | 996 | return *data; |
1018 | } | 997 | } |
1019 | 998 | ||
1020 | static void | 999 | static void e1000_free_desc_rings(struct e1000_adapter *adapter) |
1021 | e1000_free_desc_rings(struct e1000_adapter *adapter) | ||
1022 | { | 1000 | { |
1023 | struct e1000_tx_ring *txdr = &adapter->test_tx_ring; | 1001 | struct e1000_tx_ring *txdr = &adapter->test_tx_ring; |
1024 | struct e1000_rx_ring *rxdr = &adapter->test_rx_ring; | 1002 | struct e1000_rx_ring *rxdr = &adapter->test_rx_ring; |
@@ -1064,8 +1042,7 @@ e1000_free_desc_rings(struct e1000_adapter *adapter) | |||
1064 | return; | 1042 | return; |
1065 | } | 1043 | } |
1066 | 1044 | ||
1067 | static int | 1045 | static int e1000_setup_desc_rings(struct e1000_adapter *adapter) |
1068 | e1000_setup_desc_rings(struct e1000_adapter *adapter) | ||
1069 | { | 1046 | { |
1070 | struct e1000_tx_ring *txdr = &adapter->test_tx_ring; | 1047 | struct e1000_tx_ring *txdr = &adapter->test_tx_ring; |
1071 | struct e1000_rx_ring *rxdr = &adapter->test_rx_ring; | 1048 | struct e1000_rx_ring *rxdr = &adapter->test_rx_ring; |
@@ -1189,8 +1166,7 @@ err_nomem: | |||
1189 | return ret_val; | 1166 | return ret_val; |
1190 | } | 1167 | } |
1191 | 1168 | ||
1192 | static void | 1169 | static void e1000_phy_disable_receiver(struct e1000_adapter *adapter) |
1193 | e1000_phy_disable_receiver(struct e1000_adapter *adapter) | ||
1194 | { | 1170 | { |
1195 | /* Write out to PHY registers 29 and 30 to disable the Receiver. */ | 1171 | /* Write out to PHY registers 29 and 30 to disable the Receiver. */ |
1196 | e1000_write_phy_reg(&adapter->hw, 29, 0x001F); | 1172 | e1000_write_phy_reg(&adapter->hw, 29, 0x001F); |
@@ -1199,8 +1175,7 @@ e1000_phy_disable_receiver(struct e1000_adapter *adapter) | |||
1199 | e1000_write_phy_reg(&adapter->hw, 30, 0x8FF0); | 1175 | e1000_write_phy_reg(&adapter->hw, 30, 0x8FF0); |
1200 | } | 1176 | } |
1201 | 1177 | ||
1202 | static void | 1178 | static void e1000_phy_reset_clk_and_crs(struct e1000_adapter *adapter) |
1203 | e1000_phy_reset_clk_and_crs(struct e1000_adapter *adapter) | ||
1204 | { | 1179 | { |
1205 | u16 phy_reg; | 1180 | u16 phy_reg; |
1206 | 1181 | ||
@@ -1223,8 +1198,7 @@ e1000_phy_reset_clk_and_crs(struct e1000_adapter *adapter) | |||
1223 | M88E1000_PHY_SPEC_CTRL, phy_reg); | 1198 | M88E1000_PHY_SPEC_CTRL, phy_reg); |
1224 | } | 1199 | } |
1225 | 1200 | ||
1226 | static int | 1201 | static int e1000_nonintegrated_phy_loopback(struct e1000_adapter *adapter) |
1227 | e1000_nonintegrated_phy_loopback(struct e1000_adapter *adapter) | ||
1228 | { | 1202 | { |
1229 | u32 ctrl_reg; | 1203 | u32 ctrl_reg; |
1230 | u16 phy_reg; | 1204 | u16 phy_reg; |
@@ -1290,8 +1264,7 @@ e1000_nonintegrated_phy_loopback(struct e1000_adapter *adapter) | |||
1290 | return 0; | 1264 | return 0; |
1291 | } | 1265 | } |
1292 | 1266 | ||
1293 | static int | 1267 | static int e1000_integrated_phy_loopback(struct e1000_adapter *adapter) |
1294 | e1000_integrated_phy_loopback(struct e1000_adapter *adapter) | ||
1295 | { | 1268 | { |
1296 | u32 ctrl_reg = 0; | 1269 | u32 ctrl_reg = 0; |
1297 | u32 stat_reg = 0; | 1270 | u32 stat_reg = 0; |
@@ -1360,8 +1333,7 @@ e1000_integrated_phy_loopback(struct e1000_adapter *adapter) | |||
1360 | return 0; | 1333 | return 0; |
1361 | } | 1334 | } |
1362 | 1335 | ||
1363 | static int | 1336 | static int e1000_set_phy_loopback(struct e1000_adapter *adapter) |
1364 | e1000_set_phy_loopback(struct e1000_adapter *adapter) | ||
1365 | { | 1337 | { |
1366 | u16 phy_reg = 0; | 1338 | u16 phy_reg = 0; |
1367 | u16 count = 0; | 1339 | u16 count = 0; |
@@ -1412,8 +1384,7 @@ e1000_set_phy_loopback(struct e1000_adapter *adapter) | |||
1412 | return 8; | 1384 | return 8; |
1413 | } | 1385 | } |
1414 | 1386 | ||
1415 | static int | 1387 | static int e1000_setup_loopback_test(struct e1000_adapter *adapter) |
1416 | e1000_setup_loopback_test(struct e1000_adapter *adapter) | ||
1417 | { | 1388 | { |
1418 | struct e1000_hw *hw = &adapter->hw; | 1389 | struct e1000_hw *hw = &adapter->hw; |
1419 | u32 rctl; | 1390 | u32 rctl; |
@@ -1447,8 +1418,7 @@ e1000_setup_loopback_test(struct e1000_adapter *adapter) | |||
1447 | return 7; | 1418 | return 7; |
1448 | } | 1419 | } |
1449 | 1420 | ||
1450 | static void | 1421 | static void e1000_loopback_cleanup(struct e1000_adapter *adapter) |
1451 | e1000_loopback_cleanup(struct e1000_adapter *adapter) | ||
1452 | { | 1422 | { |
1453 | struct e1000_hw *hw = &adapter->hw; | 1423 | struct e1000_hw *hw = &adapter->hw; |
1454 | u32 rctl; | 1424 | u32 rctl; |
@@ -1489,8 +1459,8 @@ e1000_loopback_cleanup(struct e1000_adapter *adapter) | |||
1489 | } | 1459 | } |
1490 | } | 1460 | } |
1491 | 1461 | ||
1492 | static void | 1462 | static void e1000_create_lbtest_frame(struct sk_buff *skb, |
1493 | e1000_create_lbtest_frame(struct sk_buff *skb, unsigned int frame_size) | 1463 | unsigned int frame_size) |
1494 | { | 1464 | { |
1495 | memset(skb->data, 0xFF, frame_size); | 1465 | memset(skb->data, 0xFF, frame_size); |
1496 | frame_size &= ~1; | 1466 | frame_size &= ~1; |
@@ -1499,8 +1469,8 @@ e1000_create_lbtest_frame(struct sk_buff *skb, unsigned int frame_size) | |||
1499 | memset(&skb->data[frame_size / 2 + 12], 0xAF, 1); | 1469 | memset(&skb->data[frame_size / 2 + 12], 0xAF, 1); |
1500 | } | 1470 | } |
1501 | 1471 | ||
1502 | static int | 1472 | static int e1000_check_lbtest_frame(struct sk_buff *skb, |
1503 | e1000_check_lbtest_frame(struct sk_buff *skb, unsigned int frame_size) | 1473 | unsigned int frame_size) |
1504 | { | 1474 | { |
1505 | frame_size &= ~1; | 1475 | frame_size &= ~1; |
1506 | if (*(skb->data + 3) == 0xFF) { | 1476 | if (*(skb->data + 3) == 0xFF) { |
@@ -1512,8 +1482,7 @@ e1000_check_lbtest_frame(struct sk_buff *skb, unsigned int frame_size) | |||
1512 | return 13; | 1482 | return 13; |
1513 | } | 1483 | } |
1514 | 1484 | ||
1515 | static int | 1485 | static int e1000_run_loopback_test(struct e1000_adapter *adapter) |
1516 | e1000_run_loopback_test(struct e1000_adapter *adapter) | ||
1517 | { | 1486 | { |
1518 | struct e1000_tx_ring *txdr = &adapter->test_tx_ring; | 1487 | struct e1000_tx_ring *txdr = &adapter->test_tx_ring; |
1519 | struct e1000_rx_ring *rxdr = &adapter->test_rx_ring; | 1488 | struct e1000_rx_ring *rxdr = &adapter->test_rx_ring; |
@@ -1577,8 +1546,7 @@ e1000_run_loopback_test(struct e1000_adapter *adapter) | |||
1577 | return ret_val; | 1546 | return ret_val; |
1578 | } | 1547 | } |
1579 | 1548 | ||
1580 | static int | 1549 | static int e1000_loopback_test(struct e1000_adapter *adapter, u64 *data) |
1581 | e1000_loopback_test(struct e1000_adapter *adapter, u64 *data) | ||
1582 | { | 1550 | { |
1583 | /* PHY loopback cannot be performed if SoL/IDER | 1551 | /* PHY loopback cannot be performed if SoL/IDER |
1584 | * sessions are active */ | 1552 | * sessions are active */ |
@@ -1602,8 +1570,7 @@ out: | |||
1602 | return *data; | 1570 | return *data; |
1603 | } | 1571 | } |
1604 | 1572 | ||
1605 | static int | 1573 | static int e1000_link_test(struct e1000_adapter *adapter, u64 *data) |
1606 | e1000_link_test(struct e1000_adapter *adapter, u64 *data) | ||
1607 | { | 1574 | { |
1608 | *data = 0; | 1575 | *data = 0; |
1609 | if (adapter->hw.media_type == e1000_media_type_internal_serdes) { | 1576 | if (adapter->hw.media_type == e1000_media_type_internal_serdes) { |
@@ -1632,8 +1599,7 @@ e1000_link_test(struct e1000_adapter *adapter, u64 *data) | |||
1632 | return *data; | 1599 | return *data; |
1633 | } | 1600 | } |
1634 | 1601 | ||
1635 | static int | 1602 | static int e1000_get_sset_count(struct net_device *netdev, int sset) |
1636 | e1000_get_sset_count(struct net_device *netdev, int sset) | ||
1637 | { | 1603 | { |
1638 | switch (sset) { | 1604 | switch (sset) { |
1639 | case ETH_SS_TEST: | 1605 | case ETH_SS_TEST: |
@@ -1645,9 +1611,8 @@ e1000_get_sset_count(struct net_device *netdev, int sset) | |||
1645 | } | 1611 | } |
1646 | } | 1612 | } |
1647 | 1613 | ||
1648 | static void | 1614 | static void e1000_diag_test(struct net_device *netdev, |
1649 | e1000_diag_test(struct net_device *netdev, | 1615 | struct ethtool_test *eth_test, u64 *data) |
1650 | struct ethtool_test *eth_test, u64 *data) | ||
1651 | { | 1616 | { |
1652 | struct e1000_adapter *adapter = netdev_priv(netdev); | 1617 | struct e1000_adapter *adapter = netdev_priv(netdev); |
1653 | bool if_running = netif_running(netdev); | 1618 | bool if_running = netif_running(netdev); |
@@ -1717,7 +1682,8 @@ e1000_diag_test(struct net_device *netdev, | |||
1717 | msleep_interruptible(4 * 1000); | 1682 | msleep_interruptible(4 * 1000); |
1718 | } | 1683 | } |
1719 | 1684 | ||
1720 | static int e1000_wol_exclusion(struct e1000_adapter *adapter, struct ethtool_wolinfo *wol) | 1685 | static int e1000_wol_exclusion(struct e1000_adapter *adapter, |
1686 | struct ethtool_wolinfo *wol) | ||
1721 | { | 1687 | { |
1722 | struct e1000_hw *hw = &adapter->hw; | 1688 | struct e1000_hw *hw = &adapter->hw; |
1723 | int retval = 1; /* fail by default */ | 1689 | int retval = 1; /* fail by default */ |
@@ -1778,8 +1744,8 @@ static int e1000_wol_exclusion(struct e1000_adapter *adapter, struct ethtool_wol | |||
1778 | return retval; | 1744 | return retval; |
1779 | } | 1745 | } |
1780 | 1746 | ||
1781 | static void | 1747 | static void e1000_get_wol(struct net_device *netdev, |
1782 | e1000_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) | 1748 | struct ethtool_wolinfo *wol) |
1783 | { | 1749 | { |
1784 | struct e1000_adapter *adapter = netdev_priv(netdev); | 1750 | struct e1000_adapter *adapter = netdev_priv(netdev); |
1785 | 1751 | ||
@@ -1818,8 +1784,7 @@ e1000_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) | |||
1818 | return; | 1784 | return; |
1819 | } | 1785 | } |
1820 | 1786 | ||
1821 | static int | 1787 | static int e1000_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) |
1822 | e1000_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) | ||
1823 | { | 1788 | { |
1824 | struct e1000_adapter *adapter = netdev_priv(netdev); | 1789 | struct e1000_adapter *adapter = netdev_priv(netdev); |
1825 | struct e1000_hw *hw = &adapter->hw; | 1790 | struct e1000_hw *hw = &adapter->hw; |
@@ -1863,8 +1828,7 @@ e1000_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) | |||
1863 | /* bit defines for adapter->led_status */ | 1828 | /* bit defines for adapter->led_status */ |
1864 | #define E1000_LED_ON 0 | 1829 | #define E1000_LED_ON 0 |
1865 | 1830 | ||
1866 | static void | 1831 | static void e1000_led_blink_callback(unsigned long data) |
1867 | e1000_led_blink_callback(unsigned long data) | ||
1868 | { | 1832 | { |
1869 | struct e1000_adapter *adapter = (struct e1000_adapter *) data; | 1833 | struct e1000_adapter *adapter = (struct e1000_adapter *) data; |
1870 | 1834 | ||
@@ -1876,8 +1840,7 @@ e1000_led_blink_callback(unsigned long data) | |||
1876 | mod_timer(&adapter->blink_timer, jiffies + E1000_ID_INTERVAL); | 1840 | mod_timer(&adapter->blink_timer, jiffies + E1000_ID_INTERVAL); |
1877 | } | 1841 | } |
1878 | 1842 | ||
1879 | static int | 1843 | static int e1000_phys_id(struct net_device *netdev, u32 data) |
1880 | e1000_phys_id(struct net_device *netdev, u32 data) | ||
1881 | { | 1844 | { |
1882 | struct e1000_adapter *adapter = netdev_priv(netdev); | 1845 | struct e1000_adapter *adapter = netdev_priv(netdev); |
1883 | 1846 | ||
@@ -1916,8 +1879,7 @@ e1000_phys_id(struct net_device *netdev, u32 data) | |||
1916 | return 0; | 1879 | return 0; |
1917 | } | 1880 | } |
1918 | 1881 | ||
1919 | static int | 1882 | static int e1000_nway_reset(struct net_device *netdev) |
1920 | e1000_nway_reset(struct net_device *netdev) | ||
1921 | { | 1883 | { |
1922 | struct e1000_adapter *adapter = netdev_priv(netdev); | 1884 | struct e1000_adapter *adapter = netdev_priv(netdev); |
1923 | if (netif_running(netdev)) | 1885 | if (netif_running(netdev)) |
@@ -1925,9 +1887,8 @@ e1000_nway_reset(struct net_device *netdev) | |||
1925 | return 0; | 1887 | return 0; |
1926 | } | 1888 | } |
1927 | 1889 | ||
1928 | static void | 1890 | static void e1000_get_ethtool_stats(struct net_device *netdev, |
1929 | e1000_get_ethtool_stats(struct net_device *netdev, | 1891 | struct ethtool_stats *stats, u64 *data) |
1930 | struct ethtool_stats *stats, u64 *data) | ||
1931 | { | 1892 | { |
1932 | struct e1000_adapter *adapter = netdev_priv(netdev); | 1893 | struct e1000_adapter *adapter = netdev_priv(netdev); |
1933 | int i; | 1894 | int i; |
@@ -1941,8 +1902,8 @@ e1000_get_ethtool_stats(struct net_device *netdev, | |||
1941 | /* BUG_ON(i != E1000_STATS_LEN); */ | 1902 | /* BUG_ON(i != E1000_STATS_LEN); */ |
1942 | } | 1903 | } |
1943 | 1904 | ||
1944 | static void | 1905 | static void e1000_get_strings(struct net_device *netdev, u32 stringset, |
1945 | e1000_get_strings(struct net_device *netdev, u32 stringset, u8 *data) | 1906 | u8 *data) |
1946 | { | 1907 | { |
1947 | u8 *p = data; | 1908 | u8 *p = data; |
1948 | int i; | 1909 | int i; |
diff --git a/drivers/net/e1000/e1000_hw.c b/drivers/net/e1000/e1000_hw.c index 9a4b6cbddf2c..d6c272ae437f 100644 --- a/drivers/net/e1000/e1000_hw.c +++ b/drivers/net/e1000/e1000_hw.c | |||
@@ -42,48 +42,65 @@ static void e1000_release_software_semaphore(struct e1000_hw *hw); | |||
42 | 42 | ||
43 | static u8 e1000_arc_subsystem_valid(struct e1000_hw *hw); | 43 | static u8 e1000_arc_subsystem_valid(struct e1000_hw *hw); |
44 | static s32 e1000_check_downshift(struct e1000_hw *hw); | 44 | static s32 e1000_check_downshift(struct e1000_hw *hw); |
45 | static s32 e1000_check_polarity(struct e1000_hw *hw, e1000_rev_polarity *polarity); | 45 | static s32 e1000_check_polarity(struct e1000_hw *hw, |
46 | e1000_rev_polarity *polarity); | ||
46 | static void e1000_clear_hw_cntrs(struct e1000_hw *hw); | 47 | static void e1000_clear_hw_cntrs(struct e1000_hw *hw); |
47 | static void e1000_clear_vfta(struct e1000_hw *hw); | 48 | static void e1000_clear_vfta(struct e1000_hw *hw); |
48 | static s32 e1000_commit_shadow_ram(struct e1000_hw *hw); | 49 | static s32 e1000_commit_shadow_ram(struct e1000_hw *hw); |
49 | static s32 e1000_config_dsp_after_link_change(struct e1000_hw *hw, | 50 | static s32 e1000_config_dsp_after_link_change(struct e1000_hw *hw, |
50 | bool link_up); | 51 | bool link_up); |
51 | static s32 e1000_config_fc_after_link_up(struct e1000_hw *hw); | 52 | static s32 e1000_config_fc_after_link_up(struct e1000_hw *hw); |
52 | static s32 e1000_detect_gig_phy(struct e1000_hw *hw); | 53 | static s32 e1000_detect_gig_phy(struct e1000_hw *hw); |
53 | static s32 e1000_erase_ich8_4k_segment(struct e1000_hw *hw, u32 bank); | 54 | static s32 e1000_erase_ich8_4k_segment(struct e1000_hw *hw, u32 bank); |
54 | static s32 e1000_get_auto_rd_done(struct e1000_hw *hw); | 55 | static s32 e1000_get_auto_rd_done(struct e1000_hw *hw); |
55 | static s32 e1000_get_cable_length(struct e1000_hw *hw, u16 *min_length, u16 *max_length); | 56 | static s32 e1000_get_cable_length(struct e1000_hw *hw, u16 *min_length, |
57 | u16 *max_length); | ||
56 | static s32 e1000_get_hw_eeprom_semaphore(struct e1000_hw *hw); | 58 | static s32 e1000_get_hw_eeprom_semaphore(struct e1000_hw *hw); |
57 | static s32 e1000_get_phy_cfg_done(struct e1000_hw *hw); | 59 | static s32 e1000_get_phy_cfg_done(struct e1000_hw *hw); |
58 | static s32 e1000_get_software_flag(struct e1000_hw *hw); | 60 | static s32 e1000_get_software_flag(struct e1000_hw *hw); |
59 | static s32 e1000_ich8_cycle_init(struct e1000_hw *hw); | 61 | static s32 e1000_ich8_cycle_init(struct e1000_hw *hw); |
60 | static s32 e1000_ich8_flash_cycle(struct e1000_hw *hw, u32 timeout); | 62 | static s32 e1000_ich8_flash_cycle(struct e1000_hw *hw, u32 timeout); |
61 | static s32 e1000_id_led_init(struct e1000_hw *hw); | 63 | static s32 e1000_id_led_init(struct e1000_hw *hw); |
62 | static s32 e1000_init_lcd_from_nvm_config_region(struct e1000_hw *hw, u32 cnf_base_addr, u32 cnf_size); | 64 | static s32 e1000_init_lcd_from_nvm_config_region(struct e1000_hw *hw, |
65 | u32 cnf_base_addr, | ||
66 | u32 cnf_size); | ||
63 | static s32 e1000_init_lcd_from_nvm(struct e1000_hw *hw); | 67 | static s32 e1000_init_lcd_from_nvm(struct e1000_hw *hw); |
64 | static void e1000_init_rx_addrs(struct e1000_hw *hw); | 68 | static void e1000_init_rx_addrs(struct e1000_hw *hw); |
65 | static void e1000_initialize_hardware_bits(struct e1000_hw *hw); | 69 | static void e1000_initialize_hardware_bits(struct e1000_hw *hw); |
66 | static bool e1000_is_onboard_nvm_eeprom(struct e1000_hw *hw); | 70 | static bool e1000_is_onboard_nvm_eeprom(struct e1000_hw *hw); |
67 | static s32 e1000_kumeran_lock_loss_workaround(struct e1000_hw *hw); | 71 | static s32 e1000_kumeran_lock_loss_workaround(struct e1000_hw *hw); |
68 | static s32 e1000_mng_enable_host_if(struct e1000_hw *hw); | 72 | static s32 e1000_mng_enable_host_if(struct e1000_hw *hw); |
69 | static s32 e1000_mng_host_if_write(struct e1000_hw *hw, u8 *buffer, u16 length, u16 offset, u8 *sum); | 73 | static s32 e1000_mng_host_if_write(struct e1000_hw *hw, u8 *buffer, u16 length, |
70 | static s32 e1000_mng_write_cmd_header(struct e1000_hw* hw, struct e1000_host_mng_command_header* hdr); | 74 | u16 offset, u8 *sum); |
75 | static s32 e1000_mng_write_cmd_header(struct e1000_hw* hw, | ||
76 | struct e1000_host_mng_command_header | ||
77 | *hdr); | ||
71 | static s32 e1000_mng_write_commit(struct e1000_hw *hw); | 78 | static s32 e1000_mng_write_commit(struct e1000_hw *hw); |
72 | static s32 e1000_phy_ife_get_info(struct e1000_hw *hw, struct e1000_phy_info *phy_info); | 79 | static s32 e1000_phy_ife_get_info(struct e1000_hw *hw, |
73 | static s32 e1000_phy_igp_get_info(struct e1000_hw *hw, struct e1000_phy_info *phy_info); | 80 | struct e1000_phy_info *phy_info); |
74 | static s32 e1000_read_eeprom_eerd(struct e1000_hw *hw, u16 offset, u16 words, u16 *data); | 81 | static s32 e1000_phy_igp_get_info(struct e1000_hw *hw, |
75 | static s32 e1000_write_eeprom_eewr(struct e1000_hw *hw, u16 offset, u16 words, u16 *data); | 82 | struct e1000_phy_info *phy_info); |
83 | static s32 e1000_read_eeprom_eerd(struct e1000_hw *hw, u16 offset, u16 words, | ||
84 | u16 *data); | ||
85 | static s32 e1000_write_eeprom_eewr(struct e1000_hw *hw, u16 offset, u16 words, | ||
86 | u16 *data); | ||
76 | static s32 e1000_poll_eerd_eewr_done(struct e1000_hw *hw, int eerd); | 87 | static s32 e1000_poll_eerd_eewr_done(struct e1000_hw *hw, int eerd); |
77 | static s32 e1000_phy_m88_get_info(struct e1000_hw *hw, struct e1000_phy_info *phy_info); | 88 | static s32 e1000_phy_m88_get_info(struct e1000_hw *hw, |
89 | struct e1000_phy_info *phy_info); | ||
78 | static void e1000_put_hw_eeprom_semaphore(struct e1000_hw *hw); | 90 | static void e1000_put_hw_eeprom_semaphore(struct e1000_hw *hw); |
79 | static s32 e1000_read_ich8_byte(struct e1000_hw *hw, u32 index, u8 *data); | 91 | static s32 e1000_read_ich8_byte(struct e1000_hw *hw, u32 index, u8 *data); |
80 | static s32 e1000_verify_write_ich8_byte(struct e1000_hw *hw, u32 index, u8 byte); | 92 | static s32 e1000_verify_write_ich8_byte(struct e1000_hw *hw, u32 index, |
93 | u8 byte); | ||
81 | static s32 e1000_write_ich8_byte(struct e1000_hw *hw, u32 index, u8 byte); | 94 | static s32 e1000_write_ich8_byte(struct e1000_hw *hw, u32 index, u8 byte); |
82 | static s32 e1000_read_ich8_word(struct e1000_hw *hw, u32 index, u16 *data); | 95 | static s32 e1000_read_ich8_word(struct e1000_hw *hw, u32 index, u16 *data); |
83 | static s32 e1000_read_ich8_data(struct e1000_hw *hw, u32 index, u32 size, u16 *data); | 96 | static s32 e1000_read_ich8_data(struct e1000_hw *hw, u32 index, u32 size, |
84 | static s32 e1000_write_ich8_data(struct e1000_hw *hw, u32 index, u32 size, u16 data); | 97 | u16 *data); |
85 | static s32 e1000_read_eeprom_ich8(struct e1000_hw *hw, u16 offset, u16 words, u16 *data); | 98 | static s32 e1000_write_ich8_data(struct e1000_hw *hw, u32 index, u32 size, |
86 | static s32 e1000_write_eeprom_ich8(struct e1000_hw *hw, u16 offset, u16 words, u16 *data); | 99 | u16 data); |
100 | static s32 e1000_read_eeprom_ich8(struct e1000_hw *hw, u16 offset, u16 words, | ||
101 | u16 *data); | ||
102 | static s32 e1000_write_eeprom_ich8(struct e1000_hw *hw, u16 offset, u16 words, | ||
103 | u16 *data); | ||
87 | static void e1000_release_software_flag(struct e1000_hw *hw); | 104 | static void e1000_release_software_flag(struct e1000_hw *hw); |
88 | static s32 e1000_set_d3_lplu_state(struct e1000_hw *hw, bool active); | 105 | static s32 e1000_set_d3_lplu_state(struct e1000_hw *hw, bool active); |
89 | static s32 e1000_set_d0_lplu_state(struct e1000_hw *hw, bool active); | 106 | static s32 e1000_set_d0_lplu_state(struct e1000_hw *hw, bool active); |
@@ -101,23 +118,21 @@ static s32 e1000_config_mac_to_phy(struct e1000_hw *hw); | |||
101 | static void e1000_raise_mdi_clk(struct e1000_hw *hw, u32 *ctrl); | 118 | static void e1000_raise_mdi_clk(struct e1000_hw *hw, u32 *ctrl); |
102 | static void e1000_lower_mdi_clk(struct e1000_hw *hw, u32 *ctrl); | 119 | static void e1000_lower_mdi_clk(struct e1000_hw *hw, u32 *ctrl); |
103 | static void e1000_shift_out_mdi_bits(struct e1000_hw *hw, u32 data, | 120 | static void e1000_shift_out_mdi_bits(struct e1000_hw *hw, u32 data, |
104 | u16 count); | 121 | u16 count); |
105 | static u16 e1000_shift_in_mdi_bits(struct e1000_hw *hw); | 122 | static u16 e1000_shift_in_mdi_bits(struct e1000_hw *hw); |
106 | static s32 e1000_phy_reset_dsp(struct e1000_hw *hw); | 123 | static s32 e1000_phy_reset_dsp(struct e1000_hw *hw); |
107 | static s32 e1000_write_eeprom_spi(struct e1000_hw *hw, u16 offset, | 124 | static s32 e1000_write_eeprom_spi(struct e1000_hw *hw, u16 offset, |
108 | u16 words, u16 *data); | 125 | u16 words, u16 *data); |
109 | static s32 e1000_write_eeprom_microwire(struct e1000_hw *hw, | 126 | static s32 e1000_write_eeprom_microwire(struct e1000_hw *hw, u16 offset, |
110 | u16 offset, u16 words, | 127 | u16 words, u16 *data); |
111 | u16 *data); | ||
112 | static s32 e1000_spi_eeprom_ready(struct e1000_hw *hw); | 128 | static s32 e1000_spi_eeprom_ready(struct e1000_hw *hw); |
113 | static void e1000_raise_ee_clk(struct e1000_hw *hw, u32 *eecd); | 129 | static void e1000_raise_ee_clk(struct e1000_hw *hw, u32 *eecd); |
114 | static void e1000_lower_ee_clk(struct e1000_hw *hw, u32 *eecd); | 130 | static void e1000_lower_ee_clk(struct e1000_hw *hw, u32 *eecd); |
115 | static void e1000_shift_out_ee_bits(struct e1000_hw *hw, u16 data, | 131 | static void e1000_shift_out_ee_bits(struct e1000_hw *hw, u16 data, u16 count); |
116 | u16 count); | ||
117 | static s32 e1000_write_phy_reg_ex(struct e1000_hw *hw, u32 reg_addr, | 132 | static s32 e1000_write_phy_reg_ex(struct e1000_hw *hw, u32 reg_addr, |
118 | u16 phy_data); | 133 | u16 phy_data); |
119 | static s32 e1000_read_phy_reg_ex(struct e1000_hw *hw,u32 reg_addr, | 134 | static s32 e1000_read_phy_reg_ex(struct e1000_hw *hw,u32 reg_addr, |
120 | u16 *phy_data); | 135 | u16 *phy_data); |
121 | static u16 e1000_shift_in_ee_bits(struct e1000_hw *hw, u16 count); | 136 | static u16 e1000_shift_in_ee_bits(struct e1000_hw *hw, u16 count); |
122 | static s32 e1000_acquire_eeprom(struct e1000_hw *hw); | 137 | static s32 e1000_acquire_eeprom(struct e1000_hw *hw); |
123 | static void e1000_release_eeprom(struct e1000_hw *hw); | 138 | static void e1000_release_eeprom(struct e1000_hw *hw); |
@@ -127,8 +142,7 @@ static s32 e1000_polarity_reversal_workaround(struct e1000_hw *hw); | |||
127 | static s32 e1000_set_phy_mode(struct e1000_hw *hw); | 142 | static s32 e1000_set_phy_mode(struct e1000_hw *hw); |
128 | static s32 e1000_host_if_read_cookie(struct e1000_hw *hw, u8 *buffer); | 143 | static s32 e1000_host_if_read_cookie(struct e1000_hw *hw, u8 *buffer); |
129 | static u8 e1000_calculate_mng_checksum(char *buffer, u32 length); | 144 | static u8 e1000_calculate_mng_checksum(char *buffer, u32 length); |
130 | static s32 e1000_configure_kmrn_for_10_100(struct e1000_hw *hw, | 145 | static s32 e1000_configure_kmrn_for_10_100(struct e1000_hw *hw, u16 duplex); |
131 | u16 duplex); | ||
132 | static s32 e1000_configure_kmrn_for_1000(struct e1000_hw *hw); | 146 | static s32 e1000_configure_kmrn_for_1000(struct e1000_hw *hw); |
133 | 147 | ||
134 | /* IGP cable length table */ | 148 | /* IGP cable length table */ |
@@ -159,8 +173,7 @@ u16 e1000_igp_2_cable_length_table[IGP02E1000_AGC_LENGTH_TABLE_SIZE] = | |||
159 | * | 173 | * |
160 | * hw - Struct containing variables accessed by shared code | 174 | * hw - Struct containing variables accessed by shared code |
161 | *****************************************************************************/ | 175 | *****************************************************************************/ |
162 | static s32 | 176 | static s32 e1000_set_phy_type(struct e1000_hw *hw) |
163 | e1000_set_phy_type(struct e1000_hw *hw) | ||
164 | { | 177 | { |
165 | DEBUGFUNC("e1000_set_phy_type"); | 178 | DEBUGFUNC("e1000_set_phy_type"); |
166 | 179 | ||
@@ -210,8 +223,7 @@ e1000_set_phy_type(struct e1000_hw *hw) | |||
210 | * | 223 | * |
211 | * hw - Struct containing variables accessed by shared code | 224 | * hw - Struct containing variables accessed by shared code |
212 | *****************************************************************************/ | 225 | *****************************************************************************/ |
213 | static void | 226 | static void e1000_phy_init_script(struct e1000_hw *hw) |
214 | e1000_phy_init_script(struct e1000_hw *hw) | ||
215 | { | 227 | { |
216 | u32 ret_val; | 228 | u32 ret_val; |
217 | u16 phy_saved_data; | 229 | u16 phy_saved_data; |
@@ -306,8 +318,7 @@ e1000_phy_init_script(struct e1000_hw *hw) | |||
306 | * | 318 | * |
307 | * hw - Struct containing variables accessed by shared code | 319 | * hw - Struct containing variables accessed by shared code |
308 | *****************************************************************************/ | 320 | *****************************************************************************/ |
309 | s32 | 321 | s32 e1000_set_mac_type(struct e1000_hw *hw) |
310 | e1000_set_mac_type(struct e1000_hw *hw) | ||
311 | { | 322 | { |
312 | DEBUGFUNC("e1000_set_mac_type"); | 323 | DEBUGFUNC("e1000_set_mac_type"); |
313 | 324 | ||
@@ -474,8 +485,7 @@ e1000_set_mac_type(struct e1000_hw *hw) | |||
474 | * | 485 | * |
475 | * hw - Struct containing variables accessed by shared code | 486 | * hw - Struct containing variables accessed by shared code |
476 | * **************************************************************************/ | 487 | * **************************************************************************/ |
477 | void | 488 | void e1000_set_media_type(struct e1000_hw *hw) |
478 | e1000_set_media_type(struct e1000_hw *hw) | ||
479 | { | 489 | { |
480 | u32 status; | 490 | u32 status; |
481 | 491 | ||
@@ -528,8 +538,7 @@ e1000_set_media_type(struct e1000_hw *hw) | |||
528 | * | 538 | * |
529 | * hw - Struct containing variables accessed by shared code | 539 | * hw - Struct containing variables accessed by shared code |
530 | *****************************************************************************/ | 540 | *****************************************************************************/ |
531 | s32 | 541 | s32 e1000_reset_hw(struct e1000_hw *hw) |
532 | e1000_reset_hw(struct e1000_hw *hw) | ||
533 | { | 542 | { |
534 | u32 ctrl; | 543 | u32 ctrl; |
535 | u32 ctrl_ext; | 544 | u32 ctrl_ext; |
@@ -747,8 +756,7 @@ e1000_reset_hw(struct e1000_hw *hw) | |||
747 | * This function contains hardware limitation workarounds for PCI-E adapters | 756 | * This function contains hardware limitation workarounds for PCI-E adapters |
748 | * | 757 | * |
749 | *****************************************************************************/ | 758 | *****************************************************************************/ |
750 | static void | 759 | static void e1000_initialize_hardware_bits(struct e1000_hw *hw) |
751 | e1000_initialize_hardware_bits(struct e1000_hw *hw) | ||
752 | { | 760 | { |
753 | if ((hw->mac_type >= e1000_82571) && (!hw->initialize_hw_bits_disable)) { | 761 | if ((hw->mac_type >= e1000_82571) && (!hw->initialize_hw_bits_disable)) { |
754 | /* Settings common to all PCI-express silicon */ | 762 | /* Settings common to all PCI-express silicon */ |
@@ -866,8 +874,7 @@ e1000_initialize_hardware_bits(struct e1000_hw *hw) | |||
866 | * configuration and flow control settings. Clears all on-chip counters. Leaves | 874 | * configuration and flow control settings. Clears all on-chip counters. Leaves |
867 | * the transmit and receive units disabled and uninitialized. | 875 | * the transmit and receive units disabled and uninitialized. |
868 | *****************************************************************************/ | 876 | *****************************************************************************/ |
869 | s32 | 877 | s32 e1000_init_hw(struct e1000_hw *hw) |
870 | e1000_init_hw(struct e1000_hw *hw) | ||
871 | { | 878 | { |
872 | u32 ctrl; | 879 | u32 ctrl; |
873 | u32 i; | 880 | u32 i; |
@@ -1054,8 +1061,7 @@ e1000_init_hw(struct e1000_hw *hw) | |||
1054 | * | 1061 | * |
1055 | * hw - Struct containing variables accessed by shared code. | 1062 | * hw - Struct containing variables accessed by shared code. |
1056 | *****************************************************************************/ | 1063 | *****************************************************************************/ |
1057 | static s32 | 1064 | static s32 e1000_adjust_serdes_amplitude(struct e1000_hw *hw) |
1058 | e1000_adjust_serdes_amplitude(struct e1000_hw *hw) | ||
1059 | { | 1065 | { |
1060 | u16 eeprom_data; | 1066 | u16 eeprom_data; |
1061 | s32 ret_val; | 1067 | s32 ret_val; |
@@ -1100,8 +1106,7 @@ e1000_adjust_serdes_amplitude(struct e1000_hw *hw) | |||
1100 | * established. Assumes the hardware has previously been reset and the | 1106 | * established. Assumes the hardware has previously been reset and the |
1101 | * transmitter and receiver are not enabled. | 1107 | * transmitter and receiver are not enabled. |
1102 | *****************************************************************************/ | 1108 | *****************************************************************************/ |
1103 | s32 | 1109 | s32 e1000_setup_link(struct e1000_hw *hw) |
1104 | e1000_setup_link(struct e1000_hw *hw) | ||
1105 | { | 1110 | { |
1106 | u32 ctrl_ext; | 1111 | u32 ctrl_ext; |
1107 | s32 ret_val; | 1112 | s32 ret_val; |
@@ -1233,8 +1238,7 @@ e1000_setup_link(struct e1000_hw *hw) | |||
1233 | * link. Assumes the hardware has been previously reset and the transmitter | 1238 | * link. Assumes the hardware has been previously reset and the transmitter |
1234 | * and receiver are not enabled. | 1239 | * and receiver are not enabled. |
1235 | *****************************************************************************/ | 1240 | *****************************************************************************/ |
1236 | static s32 | 1241 | static s32 e1000_setup_fiber_serdes_link(struct e1000_hw *hw) |
1237 | e1000_setup_fiber_serdes_link(struct e1000_hw *hw) | ||
1238 | { | 1242 | { |
1239 | u32 ctrl; | 1243 | u32 ctrl; |
1240 | u32 status; | 1244 | u32 status; |
@@ -1380,8 +1384,7 @@ e1000_setup_fiber_serdes_link(struct e1000_hw *hw) | |||
1380 | * | 1384 | * |
1381 | * hw - Struct containing variables accessed by shared code | 1385 | * hw - Struct containing variables accessed by shared code |
1382 | ******************************************************************************/ | 1386 | ******************************************************************************/ |
1383 | static s32 | 1387 | static s32 e1000_copper_link_preconfig(struct e1000_hw *hw) |
1384 | e1000_copper_link_preconfig(struct e1000_hw *hw) | ||
1385 | { | 1388 | { |
1386 | u32 ctrl; | 1389 | u32 ctrl; |
1387 | s32 ret_val; | 1390 | s32 ret_val; |
@@ -1440,8 +1443,7 @@ e1000_copper_link_preconfig(struct e1000_hw *hw) | |||
1440 | * | 1443 | * |
1441 | * hw - Struct containing variables accessed by shared code | 1444 | * hw - Struct containing variables accessed by shared code |
1442 | *********************************************************************/ | 1445 | *********************************************************************/ |
1443 | static s32 | 1446 | static s32 e1000_copper_link_igp_setup(struct e1000_hw *hw) |
1444 | e1000_copper_link_igp_setup(struct e1000_hw *hw) | ||
1445 | { | 1447 | { |
1446 | u32 led_ctrl; | 1448 | u32 led_ctrl; |
1447 | s32 ret_val; | 1449 | s32 ret_val; |
@@ -1587,8 +1589,7 @@ e1000_copper_link_igp_setup(struct e1000_hw *hw) | |||
1587 | * | 1589 | * |
1588 | * hw - Struct containing variables accessed by shared code | 1590 | * hw - Struct containing variables accessed by shared code |
1589 | *********************************************************************/ | 1591 | *********************************************************************/ |
1590 | static s32 | 1592 | static s32 e1000_copper_link_ggp_setup(struct e1000_hw *hw) |
1591 | e1000_copper_link_ggp_setup(struct e1000_hw *hw) | ||
1592 | { | 1593 | { |
1593 | s32 ret_val; | 1594 | s32 ret_val; |
1594 | u16 phy_data; | 1595 | u16 phy_data; |
@@ -1735,8 +1736,7 @@ e1000_copper_link_ggp_setup(struct e1000_hw *hw) | |||
1735 | * | 1736 | * |
1736 | * hw - Struct containing variables accessed by shared code | 1737 | * hw - Struct containing variables accessed by shared code |
1737 | *********************************************************************/ | 1738 | *********************************************************************/ |
1738 | static s32 | 1739 | static s32 e1000_copper_link_mgp_setup(struct e1000_hw *hw) |
1739 | e1000_copper_link_mgp_setup(struct e1000_hw *hw) | ||
1740 | { | 1740 | { |
1741 | s32 ret_val; | 1741 | s32 ret_val; |
1742 | u16 phy_data; | 1742 | u16 phy_data; |
@@ -1839,8 +1839,7 @@ e1000_copper_link_mgp_setup(struct e1000_hw *hw) | |||
1839 | * | 1839 | * |
1840 | * hw - Struct containing variables accessed by shared code | 1840 | * hw - Struct containing variables accessed by shared code |
1841 | *********************************************************************/ | 1841 | *********************************************************************/ |
1842 | static s32 | 1842 | static s32 e1000_copper_link_autoneg(struct e1000_hw *hw) |
1843 | e1000_copper_link_autoneg(struct e1000_hw *hw) | ||
1844 | { | 1843 | { |
1845 | s32 ret_val; | 1844 | s32 ret_val; |
1846 | u16 phy_data; | 1845 | u16 phy_data; |
@@ -1910,8 +1909,7 @@ e1000_copper_link_autoneg(struct e1000_hw *hw) | |||
1910 | * | 1909 | * |
1911 | * hw - Struct containing variables accessed by shared code | 1910 | * hw - Struct containing variables accessed by shared code |
1912 | ******************************************************************************/ | 1911 | ******************************************************************************/ |
1913 | static s32 | 1912 | static s32 e1000_copper_link_postconfig(struct e1000_hw *hw) |
1914 | e1000_copper_link_postconfig(struct e1000_hw *hw) | ||
1915 | { | 1913 | { |
1916 | s32 ret_val; | 1914 | s32 ret_val; |
1917 | DEBUGFUNC("e1000_copper_link_postconfig"); | 1915 | DEBUGFUNC("e1000_copper_link_postconfig"); |
@@ -1948,8 +1946,7 @@ e1000_copper_link_postconfig(struct e1000_hw *hw) | |||
1948 | * | 1946 | * |
1949 | * hw - Struct containing variables accessed by shared code | 1947 | * hw - Struct containing variables accessed by shared code |
1950 | ******************************************************************************/ | 1948 | ******************************************************************************/ |
1951 | static s32 | 1949 | static s32 e1000_setup_copper_link(struct e1000_hw *hw) |
1952 | e1000_setup_copper_link(struct e1000_hw *hw) | ||
1953 | { | 1950 | { |
1954 | s32 ret_val; | 1951 | s32 ret_val; |
1955 | u16 i; | 1952 | u16 i; |
@@ -2062,8 +2059,7 @@ e1000_setup_copper_link(struct e1000_hw *hw) | |||
2062 | * | 2059 | * |
2063 | * hw - Struct containing variables accessed by shared code | 2060 | * hw - Struct containing variables accessed by shared code |
2064 | ******************************************************************************/ | 2061 | ******************************************************************************/ |
2065 | static s32 | 2062 | static s32 e1000_configure_kmrn_for_10_100(struct e1000_hw *hw, u16 duplex) |
2066 | e1000_configure_kmrn_for_10_100(struct e1000_hw *hw, u16 duplex) | ||
2067 | { | 2063 | { |
2068 | s32 ret_val = E1000_SUCCESS; | 2064 | s32 ret_val = E1000_SUCCESS; |
2069 | u32 tipg; | 2065 | u32 tipg; |
@@ -2098,8 +2094,7 @@ e1000_configure_kmrn_for_10_100(struct e1000_hw *hw, u16 duplex) | |||
2098 | return ret_val; | 2094 | return ret_val; |
2099 | } | 2095 | } |
2100 | 2096 | ||
2101 | static s32 | 2097 | static s32 e1000_configure_kmrn_for_1000(struct e1000_hw *hw) |
2102 | e1000_configure_kmrn_for_1000(struct e1000_hw *hw) | ||
2103 | { | 2098 | { |
2104 | s32 ret_val = E1000_SUCCESS; | 2099 | s32 ret_val = E1000_SUCCESS; |
2105 | u16 reg_data; | 2100 | u16 reg_data; |
@@ -2135,8 +2130,7 @@ e1000_configure_kmrn_for_1000(struct e1000_hw *hw) | |||
2135 | * | 2130 | * |
2136 | * hw - Struct containing variables accessed by shared code | 2131 | * hw - Struct containing variables accessed by shared code |
2137 | ******************************************************************************/ | 2132 | ******************************************************************************/ |
2138 | s32 | 2133 | s32 e1000_phy_setup_autoneg(struct e1000_hw *hw) |
2139 | e1000_phy_setup_autoneg(struct e1000_hw *hw) | ||
2140 | { | 2134 | { |
2141 | s32 ret_val; | 2135 | s32 ret_val; |
2142 | u16 mii_autoneg_adv_reg; | 2136 | u16 mii_autoneg_adv_reg; |
@@ -2284,8 +2278,7 @@ e1000_phy_setup_autoneg(struct e1000_hw *hw) | |||
2284 | * | 2278 | * |
2285 | * hw - Struct containing variables accessed by shared code | 2279 | * hw - Struct containing variables accessed by shared code |
2286 | ******************************************************************************/ | 2280 | ******************************************************************************/ |
2287 | static s32 | 2281 | static s32 e1000_phy_force_speed_duplex(struct e1000_hw *hw) |
2288 | e1000_phy_force_speed_duplex(struct e1000_hw *hw) | ||
2289 | { | 2282 | { |
2290 | u32 ctrl; | 2283 | u32 ctrl; |
2291 | s32 ret_val; | 2284 | s32 ret_val; |
@@ -2535,8 +2528,7 @@ e1000_phy_force_speed_duplex(struct e1000_hw *hw) | |||
2535 | * Link should have been established previously. Reads the speed and duplex | 2528 | * Link should have been established previously. Reads the speed and duplex |
2536 | * information from the Device Status register. | 2529 | * information from the Device Status register. |
2537 | ******************************************************************************/ | 2530 | ******************************************************************************/ |
2538 | void | 2531 | void e1000_config_collision_dist(struct e1000_hw *hw) |
2539 | e1000_config_collision_dist(struct e1000_hw *hw) | ||
2540 | { | 2532 | { |
2541 | u32 tctl, coll_dist; | 2533 | u32 tctl, coll_dist; |
2542 | 2534 | ||
@@ -2565,8 +2557,7 @@ e1000_config_collision_dist(struct e1000_hw *hw) | |||
2565 | * The contents of the PHY register containing the needed information need to | 2557 | * The contents of the PHY register containing the needed information need to |
2566 | * be passed in. | 2558 | * be passed in. |
2567 | ******************************************************************************/ | 2559 | ******************************************************************************/ |
2568 | static s32 | 2560 | static s32 e1000_config_mac_to_phy(struct e1000_hw *hw) |
2569 | e1000_config_mac_to_phy(struct e1000_hw *hw) | ||
2570 | { | 2561 | { |
2571 | u32 ctrl; | 2562 | u32 ctrl; |
2572 | s32 ret_val; | 2563 | s32 ret_val; |
@@ -2624,8 +2615,7 @@ e1000_config_mac_to_phy(struct e1000_hw *hw) | |||
2624 | * by the PHY rather than the MAC. Software must also configure these | 2615 | * by the PHY rather than the MAC. Software must also configure these |
2625 | * bits when link is forced on a fiber connection. | 2616 | * bits when link is forced on a fiber connection. |
2626 | *****************************************************************************/ | 2617 | *****************************************************************************/ |
2627 | s32 | 2618 | s32 e1000_force_mac_fc(struct e1000_hw *hw) |
2628 | e1000_force_mac_fc(struct e1000_hw *hw) | ||
2629 | { | 2619 | { |
2630 | u32 ctrl; | 2620 | u32 ctrl; |
2631 | 2621 | ||
@@ -2691,8 +2681,7 @@ e1000_force_mac_fc(struct e1000_hw *hw) | |||
2691 | * based on the flow control negotiated by the PHY. In TBI mode, the TFCE | 2681 | * based on the flow control negotiated by the PHY. In TBI mode, the TFCE |
2692 | * and RFCE bits will be automaticaly set to the negotiated flow control mode. | 2682 | * and RFCE bits will be automaticaly set to the negotiated flow control mode. |
2693 | *****************************************************************************/ | 2683 | *****************************************************************************/ |
2694 | static s32 | 2684 | static s32 e1000_config_fc_after_link_up(struct e1000_hw *hw) |
2695 | e1000_config_fc_after_link_up(struct e1000_hw *hw) | ||
2696 | { | 2685 | { |
2697 | s32 ret_val; | 2686 | s32 ret_val; |
2698 | u16 mii_status_reg; | 2687 | u16 mii_status_reg; |
@@ -2896,8 +2885,7 @@ e1000_config_fc_after_link_up(struct e1000_hw *hw) | |||
2896 | * | 2885 | * |
2897 | * Called by any function that needs to check the link status of the adapter. | 2886 | * Called by any function that needs to check the link status of the adapter. |
2898 | *****************************************************************************/ | 2887 | *****************************************************************************/ |
2899 | s32 | 2888 | s32 e1000_check_for_link(struct e1000_hw *hw) |
2900 | e1000_check_for_link(struct e1000_hw *hw) | ||
2901 | { | 2889 | { |
2902 | u32 rxcw = 0; | 2890 | u32 rxcw = 0; |
2903 | u32 ctrl; | 2891 | u32 ctrl; |
@@ -3132,10 +3120,7 @@ e1000_check_for_link(struct e1000_hw *hw) | |||
3132 | * speed - Speed of the connection | 3120 | * speed - Speed of the connection |
3133 | * duplex - Duplex setting of the connection | 3121 | * duplex - Duplex setting of the connection |
3134 | *****************************************************************************/ | 3122 | *****************************************************************************/ |
3135 | s32 | 3123 | s32 e1000_get_speed_and_duplex(struct e1000_hw *hw, u16 *speed, u16 *duplex) |
3136 | e1000_get_speed_and_duplex(struct e1000_hw *hw, | ||
3137 | u16 *speed, | ||
3138 | u16 *duplex) | ||
3139 | { | 3124 | { |
3140 | u32 status; | 3125 | u32 status; |
3141 | s32 ret_val; | 3126 | s32 ret_val; |
@@ -3214,8 +3199,7 @@ e1000_get_speed_and_duplex(struct e1000_hw *hw, | |||
3214 | * | 3199 | * |
3215 | * hw - Struct containing variables accessed by shared code | 3200 | * hw - Struct containing variables accessed by shared code |
3216 | ******************************************************************************/ | 3201 | ******************************************************************************/ |
3217 | static s32 | 3202 | static s32 e1000_wait_autoneg(struct e1000_hw *hw) |
3218 | e1000_wait_autoneg(struct e1000_hw *hw) | ||
3219 | { | 3203 | { |
3220 | s32 ret_val; | 3204 | s32 ret_val; |
3221 | u16 i; | 3205 | u16 i; |
@@ -3249,9 +3233,7 @@ e1000_wait_autoneg(struct e1000_hw *hw) | |||
3249 | * hw - Struct containing variables accessed by shared code | 3233 | * hw - Struct containing variables accessed by shared code |
3250 | * ctrl - Device control register's current value | 3234 | * ctrl - Device control register's current value |
3251 | ******************************************************************************/ | 3235 | ******************************************************************************/ |
3252 | static void | 3236 | static void e1000_raise_mdi_clk(struct e1000_hw *hw, u32 *ctrl) |
3253 | e1000_raise_mdi_clk(struct e1000_hw *hw, | ||
3254 | u32 *ctrl) | ||
3255 | { | 3237 | { |
3256 | /* Raise the clock input to the Management Data Clock (by setting the MDC | 3238 | /* Raise the clock input to the Management Data Clock (by setting the MDC |
3257 | * bit), and then delay 10 microseconds. | 3239 | * bit), and then delay 10 microseconds. |
@@ -3267,9 +3249,7 @@ e1000_raise_mdi_clk(struct e1000_hw *hw, | |||
3267 | * hw - Struct containing variables accessed by shared code | 3249 | * hw - Struct containing variables accessed by shared code |
3268 | * ctrl - Device control register's current value | 3250 | * ctrl - Device control register's current value |
3269 | ******************************************************************************/ | 3251 | ******************************************************************************/ |
3270 | static void | 3252 | static void e1000_lower_mdi_clk(struct e1000_hw *hw, u32 *ctrl) |
3271 | e1000_lower_mdi_clk(struct e1000_hw *hw, | ||
3272 | u32 *ctrl) | ||
3273 | { | 3253 | { |
3274 | /* Lower the clock input to the Management Data Clock (by clearing the MDC | 3254 | /* Lower the clock input to the Management Data Clock (by clearing the MDC |
3275 | * bit), and then delay 10 microseconds. | 3255 | * bit), and then delay 10 microseconds. |
@@ -3288,10 +3268,7 @@ e1000_lower_mdi_clk(struct e1000_hw *hw, | |||
3288 | * | 3268 | * |
3289 | * Bits are shifted out in MSB to LSB order. | 3269 | * Bits are shifted out in MSB to LSB order. |
3290 | ******************************************************************************/ | 3270 | ******************************************************************************/ |
3291 | static void | 3271 | static void e1000_shift_out_mdi_bits(struct e1000_hw *hw, u32 data, u16 count) |
3292 | e1000_shift_out_mdi_bits(struct e1000_hw *hw, | ||
3293 | u32 data, | ||
3294 | u16 count) | ||
3295 | { | 3272 | { |
3296 | u32 ctrl; | 3273 | u32 ctrl; |
3297 | u32 mask; | 3274 | u32 mask; |
@@ -3338,8 +3315,7 @@ e1000_shift_out_mdi_bits(struct e1000_hw *hw, | |||
3338 | * | 3315 | * |
3339 | * Bits are shifted in in MSB to LSB order. | 3316 | * Bits are shifted in in MSB to LSB order. |
3340 | ******************************************************************************/ | 3317 | ******************************************************************************/ |
3341 | static u16 | 3318 | static u16 e1000_shift_in_mdi_bits(struct e1000_hw *hw) |
3342 | e1000_shift_in_mdi_bits(struct e1000_hw *hw) | ||
3343 | { | 3319 | { |
3344 | u32 ctrl; | 3320 | u32 ctrl; |
3345 | u16 data = 0; | 3321 | u16 data = 0; |
@@ -3384,8 +3360,7 @@ e1000_shift_in_mdi_bits(struct e1000_hw *hw) | |||
3384 | return data; | 3360 | return data; |
3385 | } | 3361 | } |
3386 | 3362 | ||
3387 | static s32 | 3363 | static s32 e1000_swfw_sync_acquire(struct e1000_hw *hw, u16 mask) |
3388 | e1000_swfw_sync_acquire(struct e1000_hw *hw, u16 mask) | ||
3389 | { | 3364 | { |
3390 | u32 swfw_sync = 0; | 3365 | u32 swfw_sync = 0; |
3391 | u32 swmask = mask; | 3366 | u32 swmask = mask; |
@@ -3428,8 +3403,7 @@ e1000_swfw_sync_acquire(struct e1000_hw *hw, u16 mask) | |||
3428 | return E1000_SUCCESS; | 3403 | return E1000_SUCCESS; |
3429 | } | 3404 | } |
3430 | 3405 | ||
3431 | static void | 3406 | static void e1000_swfw_sync_release(struct e1000_hw *hw, u16 mask) |
3432 | e1000_swfw_sync_release(struct e1000_hw *hw, u16 mask) | ||
3433 | { | 3407 | { |
3434 | u32 swfw_sync; | 3408 | u32 swfw_sync; |
3435 | u32 swmask = mask; | 3409 | u32 swmask = mask; |
@@ -3464,10 +3438,7 @@ e1000_swfw_sync_release(struct e1000_hw *hw, u16 mask) | |||
3464 | * hw - Struct containing variables accessed by shared code | 3438 | * hw - Struct containing variables accessed by shared code |
3465 | * reg_addr - address of the PHY register to read | 3439 | * reg_addr - address of the PHY register to read |
3466 | ******************************************************************************/ | 3440 | ******************************************************************************/ |
3467 | s32 | 3441 | s32 e1000_read_phy_reg(struct e1000_hw *hw, u32 reg_addr, u16 *phy_data) |
3468 | e1000_read_phy_reg(struct e1000_hw *hw, | ||
3469 | u32 reg_addr, | ||
3470 | u16 *phy_data) | ||
3471 | { | 3442 | { |
3472 | u32 ret_val; | 3443 | u32 ret_val; |
3473 | u16 swfw; | 3444 | u16 swfw; |
@@ -3523,9 +3494,8 @@ e1000_read_phy_reg(struct e1000_hw *hw, | |||
3523 | return ret_val; | 3494 | return ret_val; |
3524 | } | 3495 | } |
3525 | 3496 | ||
3526 | static s32 | 3497 | static s32 e1000_read_phy_reg_ex(struct e1000_hw *hw, u32 reg_addr, |
3527 | e1000_read_phy_reg_ex(struct e1000_hw *hw, u32 reg_addr, | 3498 | u16 *phy_data) |
3528 | u16 *phy_data) | ||
3529 | { | 3499 | { |
3530 | u32 i; | 3500 | u32 i; |
3531 | u32 mdic = 0; | 3501 | u32 mdic = 0; |
@@ -3603,9 +3573,7 @@ e1000_read_phy_reg_ex(struct e1000_hw *hw, u32 reg_addr, | |||
3603 | * reg_addr - address of the PHY register to write | 3573 | * reg_addr - address of the PHY register to write |
3604 | * data - data to write to the PHY | 3574 | * data - data to write to the PHY |
3605 | ******************************************************************************/ | 3575 | ******************************************************************************/ |
3606 | s32 | 3576 | s32 e1000_write_phy_reg(struct e1000_hw *hw, u32 reg_addr, u16 phy_data) |
3607 | e1000_write_phy_reg(struct e1000_hw *hw, u32 reg_addr, | ||
3608 | u16 phy_data) | ||
3609 | { | 3577 | { |
3610 | u32 ret_val; | 3578 | u32 ret_val; |
3611 | u16 swfw; | 3579 | u16 swfw; |
@@ -3661,9 +3629,8 @@ e1000_write_phy_reg(struct e1000_hw *hw, u32 reg_addr, | |||
3661 | return ret_val; | 3629 | return ret_val; |
3662 | } | 3630 | } |
3663 | 3631 | ||
3664 | static s32 | 3632 | static s32 e1000_write_phy_reg_ex(struct e1000_hw *hw, u32 reg_addr, |
3665 | e1000_write_phy_reg_ex(struct e1000_hw *hw, u32 reg_addr, | 3633 | u16 phy_data) |
3666 | u16 phy_data) | ||
3667 | { | 3634 | { |
3668 | u32 i; | 3635 | u32 i; |
3669 | u32 mdic = 0; | 3636 | u32 mdic = 0; |
@@ -3723,10 +3690,7 @@ e1000_write_phy_reg_ex(struct e1000_hw *hw, u32 reg_addr, | |||
3723 | return E1000_SUCCESS; | 3690 | return E1000_SUCCESS; |
3724 | } | 3691 | } |
3725 | 3692 | ||
3726 | static s32 | 3693 | static s32 e1000_read_kmrn_reg(struct e1000_hw *hw, u32 reg_addr, u16 *data) |
3727 | e1000_read_kmrn_reg(struct e1000_hw *hw, | ||
3728 | u32 reg_addr, | ||
3729 | u16 *data) | ||
3730 | { | 3694 | { |
3731 | u32 reg_val; | 3695 | u32 reg_val; |
3732 | u16 swfw; | 3696 | u16 swfw; |
@@ -3756,10 +3720,7 @@ e1000_read_kmrn_reg(struct e1000_hw *hw, | |||
3756 | return E1000_SUCCESS; | 3720 | return E1000_SUCCESS; |
3757 | } | 3721 | } |
3758 | 3722 | ||
3759 | static s32 | 3723 | static s32 e1000_write_kmrn_reg(struct e1000_hw *hw, u32 reg_addr, u16 data) |
3760 | e1000_write_kmrn_reg(struct e1000_hw *hw, | ||
3761 | u32 reg_addr, | ||
3762 | u16 data) | ||
3763 | { | 3724 | { |
3764 | u32 reg_val; | 3725 | u32 reg_val; |
3765 | u16 swfw; | 3726 | u16 swfw; |
@@ -3788,8 +3749,7 @@ e1000_write_kmrn_reg(struct e1000_hw *hw, | |||
3788 | * | 3749 | * |
3789 | * hw - Struct containing variables accessed by shared code | 3750 | * hw - Struct containing variables accessed by shared code |
3790 | ******************************************************************************/ | 3751 | ******************************************************************************/ |
3791 | s32 | 3752 | s32 e1000_phy_hw_reset(struct e1000_hw *hw) |
3792 | e1000_phy_hw_reset(struct e1000_hw *hw) | ||
3793 | { | 3753 | { |
3794 | u32 ctrl, ctrl_ext; | 3754 | u32 ctrl, ctrl_ext; |
3795 | u32 led_ctrl; | 3755 | u32 led_ctrl; |
@@ -3882,8 +3842,7 @@ e1000_phy_hw_reset(struct e1000_hw *hw) | |||
3882 | * | 3842 | * |
3883 | * Sets bit 15 of the MII Control register | 3843 | * Sets bit 15 of the MII Control register |
3884 | ******************************************************************************/ | 3844 | ******************************************************************************/ |
3885 | s32 | 3845 | s32 e1000_phy_reset(struct e1000_hw *hw) |
3886 | e1000_phy_reset(struct e1000_hw *hw) | ||
3887 | { | 3846 | { |
3888 | s32 ret_val; | 3847 | s32 ret_val; |
3889 | u16 phy_data; | 3848 | u16 phy_data; |
@@ -3934,8 +3893,7 @@ e1000_phy_reset(struct e1000_hw *hw) | |||
3934 | * | 3893 | * |
3935 | * hw - struct containing variables accessed by shared code | 3894 | * hw - struct containing variables accessed by shared code |
3936 | ******************************************************************************/ | 3895 | ******************************************************************************/ |
3937 | void | 3896 | void e1000_phy_powerdown_workaround(struct e1000_hw *hw) |
3938 | e1000_phy_powerdown_workaround(struct e1000_hw *hw) | ||
3939 | { | 3897 | { |
3940 | s32 reg; | 3898 | s32 reg; |
3941 | u16 phy_data; | 3899 | u16 phy_data; |
@@ -3987,8 +3945,7 @@ e1000_phy_powerdown_workaround(struct e1000_hw *hw) | |||
3987 | * | 3945 | * |
3988 | * hw - struct containing variables accessed by shared code | 3946 | * hw - struct containing variables accessed by shared code |
3989 | ******************************************************************************/ | 3947 | ******************************************************************************/ |
3990 | static s32 | 3948 | static s32 e1000_kumeran_lock_loss_workaround(struct e1000_hw *hw) |
3991 | e1000_kumeran_lock_loss_workaround(struct e1000_hw *hw) | ||
3992 | { | 3949 | { |
3993 | s32 ret_val; | 3950 | s32 ret_val; |
3994 | s32 reg; | 3951 | s32 reg; |
@@ -4040,8 +3997,7 @@ e1000_kumeran_lock_loss_workaround(struct e1000_hw *hw) | |||
4040 | * | 3997 | * |
4041 | * hw - Struct containing variables accessed by shared code | 3998 | * hw - Struct containing variables accessed by shared code |
4042 | ******************************************************************************/ | 3999 | ******************************************************************************/ |
4043 | static s32 | 4000 | static s32 e1000_detect_gig_phy(struct e1000_hw *hw) |
4044 | e1000_detect_gig_phy(struct e1000_hw *hw) | ||
4045 | { | 4001 | { |
4046 | s32 phy_init_status, ret_val; | 4002 | s32 phy_init_status, ret_val; |
4047 | u16 phy_id_high, phy_id_low; | 4003 | u16 phy_id_high, phy_id_low; |
@@ -4136,8 +4092,7 @@ e1000_detect_gig_phy(struct e1000_hw *hw) | |||
4136 | * | 4092 | * |
4137 | * hw - Struct containing variables accessed by shared code | 4093 | * hw - Struct containing variables accessed by shared code |
4138 | ******************************************************************************/ | 4094 | ******************************************************************************/ |
4139 | static s32 | 4095 | static s32 e1000_phy_reset_dsp(struct e1000_hw *hw) |
4140 | e1000_phy_reset_dsp(struct e1000_hw *hw) | ||
4141 | { | 4096 | { |
4142 | s32 ret_val; | 4097 | s32 ret_val; |
4143 | DEBUGFUNC("e1000_phy_reset_dsp"); | 4098 | DEBUGFUNC("e1000_phy_reset_dsp"); |
@@ -4163,9 +4118,8 @@ e1000_phy_reset_dsp(struct e1000_hw *hw) | |||
4163 | * hw - Struct containing variables accessed by shared code | 4118 | * hw - Struct containing variables accessed by shared code |
4164 | * phy_info - PHY information structure | 4119 | * phy_info - PHY information structure |
4165 | ******************************************************************************/ | 4120 | ******************************************************************************/ |
4166 | static s32 | 4121 | static s32 e1000_phy_igp_get_info(struct e1000_hw *hw, |
4167 | e1000_phy_igp_get_info(struct e1000_hw *hw, | 4122 | struct e1000_phy_info *phy_info) |
4168 | struct e1000_phy_info *phy_info) | ||
4169 | { | 4123 | { |
4170 | s32 ret_val; | 4124 | s32 ret_val; |
4171 | u16 phy_data, min_length, max_length, average; | 4125 | u16 phy_data, min_length, max_length, average; |
@@ -4240,9 +4194,8 @@ e1000_phy_igp_get_info(struct e1000_hw *hw, | |||
4240 | * hw - Struct containing variables accessed by shared code | 4194 | * hw - Struct containing variables accessed by shared code |
4241 | * phy_info - PHY information structure | 4195 | * phy_info - PHY information structure |
4242 | ******************************************************************************/ | 4196 | ******************************************************************************/ |
4243 | static s32 | 4197 | static s32 e1000_phy_ife_get_info(struct e1000_hw *hw, |
4244 | e1000_phy_ife_get_info(struct e1000_hw *hw, | 4198 | struct e1000_phy_info *phy_info) |
4245 | struct e1000_phy_info *phy_info) | ||
4246 | { | 4199 | { |
4247 | s32 ret_val; | 4200 | s32 ret_val; |
4248 | u16 phy_data; | 4201 | u16 phy_data; |
@@ -4290,9 +4243,8 @@ e1000_phy_ife_get_info(struct e1000_hw *hw, | |||
4290 | * hw - Struct containing variables accessed by shared code | 4243 | * hw - Struct containing variables accessed by shared code |
4291 | * phy_info - PHY information structure | 4244 | * phy_info - PHY information structure |
4292 | ******************************************************************************/ | 4245 | ******************************************************************************/ |
4293 | static s32 | 4246 | static s32 e1000_phy_m88_get_info(struct e1000_hw *hw, |
4294 | e1000_phy_m88_get_info(struct e1000_hw *hw, | 4247 | struct e1000_phy_info *phy_info) |
4295 | struct e1000_phy_info *phy_info) | ||
4296 | { | 4248 | { |
4297 | s32 ret_val; | 4249 | s32 ret_val; |
4298 | u16 phy_data; | 4250 | u16 phy_data; |
@@ -4369,9 +4321,7 @@ e1000_phy_m88_get_info(struct e1000_hw *hw, | |||
4369 | * hw - Struct containing variables accessed by shared code | 4321 | * hw - Struct containing variables accessed by shared code |
4370 | * phy_info - PHY information structure | 4322 | * phy_info - PHY information structure |
4371 | ******************************************************************************/ | 4323 | ******************************************************************************/ |
4372 | s32 | 4324 | s32 e1000_phy_get_info(struct e1000_hw *hw, struct e1000_phy_info *phy_info) |
4373 | e1000_phy_get_info(struct e1000_hw *hw, | ||
4374 | struct e1000_phy_info *phy_info) | ||
4375 | { | 4325 | { |
4376 | s32 ret_val; | 4326 | s32 ret_val; |
4377 | u16 phy_data; | 4327 | u16 phy_data; |
@@ -4415,8 +4365,7 @@ e1000_phy_get_info(struct e1000_hw *hw, | |||
4415 | return e1000_phy_m88_get_info(hw, phy_info); | 4365 | return e1000_phy_m88_get_info(hw, phy_info); |
4416 | } | 4366 | } |
4417 | 4367 | ||
4418 | s32 | 4368 | s32 e1000_validate_mdi_setting(struct e1000_hw *hw) |
4419 | e1000_validate_mdi_setting(struct e1000_hw *hw) | ||
4420 | { | 4369 | { |
4421 | DEBUGFUNC("e1000_validate_mdi_settings"); | 4370 | DEBUGFUNC("e1000_validate_mdi_settings"); |
4422 | 4371 | ||
@@ -4436,8 +4385,7 @@ e1000_validate_mdi_setting(struct e1000_hw *hw) | |||
4436 | * | 4385 | * |
4437 | * hw - Struct containing variables accessed by shared code | 4386 | * hw - Struct containing variables accessed by shared code |
4438 | *****************************************************************************/ | 4387 | *****************************************************************************/ |
4439 | s32 | 4388 | s32 e1000_init_eeprom_params(struct e1000_hw *hw) |
4440 | e1000_init_eeprom_params(struct e1000_hw *hw) | ||
4441 | { | 4389 | { |
4442 | struct e1000_eeprom_info *eeprom = &hw->eeprom; | 4390 | struct e1000_eeprom_info *eeprom = &hw->eeprom; |
4443 | u32 eecd = E1000_READ_REG(hw, EECD); | 4391 | u32 eecd = E1000_READ_REG(hw, EECD); |
@@ -4626,9 +4574,7 @@ e1000_init_eeprom_params(struct e1000_hw *hw) | |||
4626 | * hw - Struct containing variables accessed by shared code | 4574 | * hw - Struct containing variables accessed by shared code |
4627 | * eecd - EECD's current value | 4575 | * eecd - EECD's current value |
4628 | *****************************************************************************/ | 4576 | *****************************************************************************/ |
4629 | static void | 4577 | static void e1000_raise_ee_clk(struct e1000_hw *hw, u32 *eecd) |
4630 | e1000_raise_ee_clk(struct e1000_hw *hw, | ||
4631 | u32 *eecd) | ||
4632 | { | 4578 | { |
4633 | /* Raise the clock input to the EEPROM (by setting the SK bit), and then | 4579 | /* Raise the clock input to the EEPROM (by setting the SK bit), and then |
4634 | * wait <delay> microseconds. | 4580 | * wait <delay> microseconds. |
@@ -4645,9 +4591,7 @@ e1000_raise_ee_clk(struct e1000_hw *hw, | |||
4645 | * hw - Struct containing variables accessed by shared code | 4591 | * hw - Struct containing variables accessed by shared code |
4646 | * eecd - EECD's current value | 4592 | * eecd - EECD's current value |
4647 | *****************************************************************************/ | 4593 | *****************************************************************************/ |
4648 | static void | 4594 | static void e1000_lower_ee_clk(struct e1000_hw *hw, u32 *eecd) |
4649 | e1000_lower_ee_clk(struct e1000_hw *hw, | ||
4650 | u32 *eecd) | ||
4651 | { | 4595 | { |
4652 | /* Lower the clock input to the EEPROM (by clearing the SK bit), and then | 4596 | /* Lower the clock input to the EEPROM (by clearing the SK bit), and then |
4653 | * wait 50 microseconds. | 4597 | * wait 50 microseconds. |
@@ -4665,10 +4609,7 @@ e1000_lower_ee_clk(struct e1000_hw *hw, | |||
4665 | * data - data to send to the EEPROM | 4609 | * data - data to send to the EEPROM |
4666 | * count - number of bits to shift out | 4610 | * count - number of bits to shift out |
4667 | *****************************************************************************/ | 4611 | *****************************************************************************/ |
4668 | static void | 4612 | static void e1000_shift_out_ee_bits(struct e1000_hw *hw, u16 data, u16 count) |
4669 | e1000_shift_out_ee_bits(struct e1000_hw *hw, | ||
4670 | u16 data, | ||
4671 | u16 count) | ||
4672 | { | 4613 | { |
4673 | struct e1000_eeprom_info *eeprom = &hw->eeprom; | 4614 | struct e1000_eeprom_info *eeprom = &hw->eeprom; |
4674 | u32 eecd; | 4615 | u32 eecd; |
@@ -4718,9 +4659,7 @@ e1000_shift_out_ee_bits(struct e1000_hw *hw, | |||
4718 | * | 4659 | * |
4719 | * hw - Struct containing variables accessed by shared code | 4660 | * hw - Struct containing variables accessed by shared code |
4720 | *****************************************************************************/ | 4661 | *****************************************************************************/ |
4721 | static u16 | 4662 | static u16 e1000_shift_in_ee_bits(struct e1000_hw *hw, u16 count) |
4722 | e1000_shift_in_ee_bits(struct e1000_hw *hw, | ||
4723 | u16 count) | ||
4724 | { | 4663 | { |
4725 | u32 eecd; | 4664 | u32 eecd; |
4726 | u32 i; | 4665 | u32 i; |
@@ -4762,8 +4701,7 @@ e1000_shift_in_ee_bits(struct e1000_hw *hw, | |||
4762 | * Lowers EEPROM clock. Clears input pin. Sets the chip select pin. This | 4701 | * Lowers EEPROM clock. Clears input pin. Sets the chip select pin. This |
4763 | * function should be called before issuing a command to the EEPROM. | 4702 | * function should be called before issuing a command to the EEPROM. |
4764 | *****************************************************************************/ | 4703 | *****************************************************************************/ |
4765 | static s32 | 4704 | static s32 e1000_acquire_eeprom(struct e1000_hw *hw) |
4766 | e1000_acquire_eeprom(struct e1000_hw *hw) | ||
4767 | { | 4705 | { |
4768 | struct e1000_eeprom_info *eeprom = &hw->eeprom; | 4706 | struct e1000_eeprom_info *eeprom = &hw->eeprom; |
4769 | u32 eecd, i=0; | 4707 | u32 eecd, i=0; |
@@ -4821,8 +4759,7 @@ e1000_acquire_eeprom(struct e1000_hw *hw) | |||
4821 | * | 4759 | * |
4822 | * hw - Struct containing variables accessed by shared code | 4760 | * hw - Struct containing variables accessed by shared code |
4823 | *****************************************************************************/ | 4761 | *****************************************************************************/ |
4824 | static void | 4762 | static void e1000_standby_eeprom(struct e1000_hw *hw) |
4825 | e1000_standby_eeprom(struct e1000_hw *hw) | ||
4826 | { | 4763 | { |
4827 | struct e1000_eeprom_info *eeprom = &hw->eeprom; | 4764 | struct e1000_eeprom_info *eeprom = &hw->eeprom; |
4828 | u32 eecd; | 4765 | u32 eecd; |
@@ -4870,8 +4807,7 @@ e1000_standby_eeprom(struct e1000_hw *hw) | |||
4870 | * | 4807 | * |
4871 | * hw - Struct containing variables accessed by shared code | 4808 | * hw - Struct containing variables accessed by shared code |
4872 | *****************************************************************************/ | 4809 | *****************************************************************************/ |
4873 | static void | 4810 | static void e1000_release_eeprom(struct e1000_hw *hw) |
4874 | e1000_release_eeprom(struct e1000_hw *hw) | ||
4875 | { | 4811 | { |
4876 | u32 eecd; | 4812 | u32 eecd; |
4877 | 4813 | ||
@@ -4921,8 +4857,7 @@ e1000_release_eeprom(struct e1000_hw *hw) | |||
4921 | * | 4857 | * |
4922 | * hw - Struct containing variables accessed by shared code | 4858 | * hw - Struct containing variables accessed by shared code |
4923 | *****************************************************************************/ | 4859 | *****************************************************************************/ |
4924 | static s32 | 4860 | static s32 e1000_spi_eeprom_ready(struct e1000_hw *hw) |
4925 | e1000_spi_eeprom_ready(struct e1000_hw *hw) | ||
4926 | { | 4861 | { |
4927 | u16 retry_count = 0; | 4862 | u16 retry_count = 0; |
4928 | u8 spi_stat_reg; | 4863 | u8 spi_stat_reg; |
@@ -4967,11 +4902,7 @@ e1000_spi_eeprom_ready(struct e1000_hw *hw) | |||
4967 | * data - word read from the EEPROM | 4902 | * data - word read from the EEPROM |
4968 | * words - number of words to read | 4903 | * words - number of words to read |
4969 | *****************************************************************************/ | 4904 | *****************************************************************************/ |
4970 | s32 | 4905 | s32 e1000_read_eeprom(struct e1000_hw *hw, u16 offset, u16 words, u16 *data) |
4971 | e1000_read_eeprom(struct e1000_hw *hw, | ||
4972 | u16 offset, | ||
4973 | u16 words, | ||
4974 | u16 *data) | ||
4975 | { | 4906 | { |
4976 | struct e1000_eeprom_info *eeprom = &hw->eeprom; | 4907 | struct e1000_eeprom_info *eeprom = &hw->eeprom; |
4977 | u32 i = 0; | 4908 | u32 i = 0; |
@@ -5068,11 +4999,8 @@ e1000_read_eeprom(struct e1000_hw *hw, | |||
5068 | * data - word read from the EEPROM | 4999 | * data - word read from the EEPROM |
5069 | * words - number of words to read | 5000 | * words - number of words to read |
5070 | *****************************************************************************/ | 5001 | *****************************************************************************/ |
5071 | static s32 | 5002 | static s32 e1000_read_eeprom_eerd(struct e1000_hw *hw, u16 offset, u16 words, |
5072 | e1000_read_eeprom_eerd(struct e1000_hw *hw, | 5003 | u16 *data) |
5073 | u16 offset, | ||
5074 | u16 words, | ||
5075 | u16 *data) | ||
5076 | { | 5004 | { |
5077 | u32 i, eerd = 0; | 5005 | u32 i, eerd = 0; |
5078 | s32 error = 0; | 5006 | s32 error = 0; |
@@ -5102,11 +5030,8 @@ e1000_read_eeprom_eerd(struct e1000_hw *hw, | |||
5102 | * data - word read from the EEPROM | 5030 | * data - word read from the EEPROM |
5103 | * words - number of words to read | 5031 | * words - number of words to read |
5104 | *****************************************************************************/ | 5032 | *****************************************************************************/ |
5105 | static s32 | 5033 | static s32 e1000_write_eeprom_eewr(struct e1000_hw *hw, u16 offset, u16 words, |
5106 | e1000_write_eeprom_eewr(struct e1000_hw *hw, | 5034 | u16 *data) |
5107 | u16 offset, | ||
5108 | u16 words, | ||
5109 | u16 *data) | ||
5110 | { | 5035 | { |
5111 | u32 register_value = 0; | 5036 | u32 register_value = 0; |
5112 | u32 i = 0; | 5037 | u32 i = 0; |
@@ -5143,8 +5068,7 @@ e1000_write_eeprom_eewr(struct e1000_hw *hw, | |||
5143 | * | 5068 | * |
5144 | * hw - Struct containing variables accessed by shared code | 5069 | * hw - Struct containing variables accessed by shared code |
5145 | *****************************************************************************/ | 5070 | *****************************************************************************/ |
5146 | static s32 | 5071 | static s32 e1000_poll_eerd_eewr_done(struct e1000_hw *hw, int eerd) |
5147 | e1000_poll_eerd_eewr_done(struct e1000_hw *hw, int eerd) | ||
5148 | { | 5072 | { |
5149 | u32 attempts = 100000; | 5073 | u32 attempts = 100000; |
5150 | u32 i, reg = 0; | 5074 | u32 i, reg = 0; |
@@ -5171,8 +5095,7 @@ e1000_poll_eerd_eewr_done(struct e1000_hw *hw, int eerd) | |||
5171 | * | 5095 | * |
5172 | * hw - Struct containing variables accessed by shared code | 5096 | * hw - Struct containing variables accessed by shared code |
5173 | ****************************************************************************/ | 5097 | ****************************************************************************/ |
5174 | static bool | 5098 | static bool e1000_is_onboard_nvm_eeprom(struct e1000_hw *hw) |
5175 | e1000_is_onboard_nvm_eeprom(struct e1000_hw *hw) | ||
5176 | { | 5099 | { |
5177 | u32 eecd = 0; | 5100 | u32 eecd = 0; |
5178 | 5101 | ||
@@ -5204,8 +5127,7 @@ e1000_is_onboard_nvm_eeprom(struct e1000_hw *hw) | |||
5204 | * If the the sum of the 64 16 bit words is 0xBABA, the EEPROM's checksum is | 5127 | * If the the sum of the 64 16 bit words is 0xBABA, the EEPROM's checksum is |
5205 | * valid. | 5128 | * valid. |
5206 | *****************************************************************************/ | 5129 | *****************************************************************************/ |
5207 | s32 | 5130 | s32 e1000_validate_eeprom_checksum(struct e1000_hw *hw) |
5208 | e1000_validate_eeprom_checksum(struct e1000_hw *hw) | ||
5209 | { | 5131 | { |
5210 | u16 checksum = 0; | 5132 | u16 checksum = 0; |
5211 | u16 i, eeprom_data; | 5133 | u16 i, eeprom_data; |
@@ -5268,8 +5190,7 @@ e1000_validate_eeprom_checksum(struct e1000_hw *hw) | |||
5268 | * Sums the first 63 16 bit words of the EEPROM. Subtracts the sum from 0xBABA. | 5190 | * Sums the first 63 16 bit words of the EEPROM. Subtracts the sum from 0xBABA. |
5269 | * Writes the difference to word offset 63 of the EEPROM. | 5191 | * Writes the difference to word offset 63 of the EEPROM. |
5270 | *****************************************************************************/ | 5192 | *****************************************************************************/ |
5271 | s32 | 5193 | s32 e1000_update_eeprom_checksum(struct e1000_hw *hw) |
5272 | e1000_update_eeprom_checksum(struct e1000_hw *hw) | ||
5273 | { | 5194 | { |
5274 | u32 ctrl_ext; | 5195 | u32 ctrl_ext; |
5275 | u16 checksum = 0; | 5196 | u16 checksum = 0; |
@@ -5313,11 +5234,7 @@ e1000_update_eeprom_checksum(struct e1000_hw *hw) | |||
5313 | * If e1000_update_eeprom_checksum is not called after this function, the | 5234 | * If e1000_update_eeprom_checksum is not called after this function, the |
5314 | * EEPROM will most likely contain an invalid checksum. | 5235 | * EEPROM will most likely contain an invalid checksum. |
5315 | *****************************************************************************/ | 5236 | *****************************************************************************/ |
5316 | s32 | 5237 | s32 e1000_write_eeprom(struct e1000_hw *hw, u16 offset, u16 words, u16 *data) |
5317 | e1000_write_eeprom(struct e1000_hw *hw, | ||
5318 | u16 offset, | ||
5319 | u16 words, | ||
5320 | u16 *data) | ||
5321 | { | 5238 | { |
5322 | struct e1000_eeprom_info *eeprom = &hw->eeprom; | 5239 | struct e1000_eeprom_info *eeprom = &hw->eeprom; |
5323 | s32 status = 0; | 5240 | s32 status = 0; |
@@ -5370,11 +5287,8 @@ e1000_write_eeprom(struct e1000_hw *hw, | |||
5370 | * data - pointer to array of 8 bit words to be written to the EEPROM | 5287 | * data - pointer to array of 8 bit words to be written to the EEPROM |
5371 | * | 5288 | * |
5372 | *****************************************************************************/ | 5289 | *****************************************************************************/ |
5373 | static s32 | 5290 | static s32 e1000_write_eeprom_spi(struct e1000_hw *hw, u16 offset, u16 words, |
5374 | e1000_write_eeprom_spi(struct e1000_hw *hw, | 5291 | u16 *data) |
5375 | u16 offset, | ||
5376 | u16 words, | ||
5377 | u16 *data) | ||
5378 | { | 5292 | { |
5379 | struct e1000_eeprom_info *eeprom = &hw->eeprom; | 5293 | struct e1000_eeprom_info *eeprom = &hw->eeprom; |
5380 | u16 widx = 0; | 5294 | u16 widx = 0; |
@@ -5436,11 +5350,8 @@ e1000_write_eeprom_spi(struct e1000_hw *hw, | |||
5436 | * data - pointer to array of 16 bit words to be written to the EEPROM | 5350 | * data - pointer to array of 16 bit words to be written to the EEPROM |
5437 | * | 5351 | * |
5438 | *****************************************************************************/ | 5352 | *****************************************************************************/ |
5439 | static s32 | 5353 | static s32 e1000_write_eeprom_microwire(struct e1000_hw *hw, u16 offset, |
5440 | e1000_write_eeprom_microwire(struct e1000_hw *hw, | 5354 | u16 words, u16 *data) |
5441 | u16 offset, | ||
5442 | u16 words, | ||
5443 | u16 *data) | ||
5444 | { | 5355 | { |
5445 | struct e1000_eeprom_info *eeprom = &hw->eeprom; | 5356 | struct e1000_eeprom_info *eeprom = &hw->eeprom; |
5446 | u32 eecd; | 5357 | u32 eecd; |
@@ -5523,8 +5434,7 @@ e1000_write_eeprom_microwire(struct e1000_hw *hw, | |||
5523 | * data - word read from the EEPROM | 5434 | * data - word read from the EEPROM |
5524 | * words - number of words to read | 5435 | * words - number of words to read |
5525 | *****************************************************************************/ | 5436 | *****************************************************************************/ |
5526 | static s32 | 5437 | static s32 e1000_commit_shadow_ram(struct e1000_hw *hw) |
5527 | e1000_commit_shadow_ram(struct e1000_hw *hw) | ||
5528 | { | 5438 | { |
5529 | u32 attempts = 100000; | 5439 | u32 attempts = 100000; |
5530 | u32 eecd = 0; | 5440 | u32 eecd = 0; |
@@ -5687,8 +5597,7 @@ e1000_commit_shadow_ram(struct e1000_hw *hw) | |||
5687 | * | 5597 | * |
5688 | * hw - Struct containing variables accessed by shared code | 5598 | * hw - Struct containing variables accessed by shared code |
5689 | *****************************************************************************/ | 5599 | *****************************************************************************/ |
5690 | s32 | 5600 | s32 e1000_read_mac_addr(struct e1000_hw *hw) |
5691 | e1000_read_mac_addr(struct e1000_hw * hw) | ||
5692 | { | 5601 | { |
5693 | u16 offset; | 5602 | u16 offset; |
5694 | u16 eeprom_data, i; | 5603 | u16 eeprom_data, i; |
@@ -5731,8 +5640,7 @@ e1000_read_mac_addr(struct e1000_hw * hw) | |||
5731 | * of the receive addresss registers. Clears the multicast table. Assumes | 5640 | * of the receive addresss registers. Clears the multicast table. Assumes |
5732 | * the receiver is in reset when the routine is called. | 5641 | * the receiver is in reset when the routine is called. |
5733 | *****************************************************************************/ | 5642 | *****************************************************************************/ |
5734 | static void | 5643 | static void e1000_init_rx_addrs(struct e1000_hw *hw) |
5735 | e1000_init_rx_addrs(struct e1000_hw *hw) | ||
5736 | { | 5644 | { |
5737 | u32 i; | 5645 | u32 i; |
5738 | u32 rar_num; | 5646 | u32 rar_num; |
@@ -5770,9 +5678,7 @@ e1000_init_rx_addrs(struct e1000_hw *hw) | |||
5770 | * hw - Struct containing variables accessed by shared code | 5678 | * hw - Struct containing variables accessed by shared code |
5771 | * mc_addr - the multicast address to hash | 5679 | * mc_addr - the multicast address to hash |
5772 | *****************************************************************************/ | 5680 | *****************************************************************************/ |
5773 | u32 | 5681 | u32 e1000_hash_mc_addr(struct e1000_hw *hw, u8 *mc_addr) |
5774 | e1000_hash_mc_addr(struct e1000_hw *hw, | ||
5775 | u8 *mc_addr) | ||
5776 | { | 5682 | { |
5777 | u32 hash_value = 0; | 5683 | u32 hash_value = 0; |
5778 | 5684 | ||
@@ -5835,9 +5741,7 @@ e1000_hash_mc_addr(struct e1000_hw *hw, | |||
5835 | * hw - Struct containing variables accessed by shared code | 5741 | * hw - Struct containing variables accessed by shared code |
5836 | * hash_value - Multicast address hash value | 5742 | * hash_value - Multicast address hash value |
5837 | *****************************************************************************/ | 5743 | *****************************************************************************/ |
5838 | void | 5744 | void e1000_mta_set(struct e1000_hw *hw, u32 hash_value) |
5839 | e1000_mta_set(struct e1000_hw *hw, | ||
5840 | u32 hash_value) | ||
5841 | { | 5745 | { |
5842 | u32 hash_bit, hash_reg; | 5746 | u32 hash_bit, hash_reg; |
5843 | u32 mta; | 5747 | u32 mta; |
@@ -5884,10 +5788,7 @@ e1000_mta_set(struct e1000_hw *hw, | |||
5884 | * addr - Address to put into receive address register | 5788 | * addr - Address to put into receive address register |
5885 | * index - Receive address register to write | 5789 | * index - Receive address register to write |
5886 | *****************************************************************************/ | 5790 | *****************************************************************************/ |
5887 | void | 5791 | void e1000_rar_set(struct e1000_hw *hw, u8 *addr, u32 index) |
5888 | e1000_rar_set(struct e1000_hw *hw, | ||
5889 | u8 *addr, | ||
5890 | u32 index) | ||
5891 | { | 5792 | { |
5892 | u32 rar_low, rar_high; | 5793 | u32 rar_low, rar_high; |
5893 | 5794 | ||
@@ -5942,10 +5843,7 @@ e1000_rar_set(struct e1000_hw *hw, | |||
5942 | * offset - Offset in VLAN filer table to write | 5843 | * offset - Offset in VLAN filer table to write |
5943 | * value - Value to write into VLAN filter table | 5844 | * value - Value to write into VLAN filter table |
5944 | *****************************************************************************/ | 5845 | *****************************************************************************/ |
5945 | void | 5846 | void e1000_write_vfta(struct e1000_hw *hw, u32 offset, u32 value) |
5946 | e1000_write_vfta(struct e1000_hw *hw, | ||
5947 | u32 offset, | ||
5948 | u32 value) | ||
5949 | { | 5847 | { |
5950 | u32 temp; | 5848 | u32 temp; |
5951 | 5849 | ||
@@ -5969,8 +5867,7 @@ e1000_write_vfta(struct e1000_hw *hw, | |||
5969 | * | 5867 | * |
5970 | * hw - Struct containing variables accessed by shared code | 5868 | * hw - Struct containing variables accessed by shared code |
5971 | *****************************************************************************/ | 5869 | *****************************************************************************/ |
5972 | static void | 5870 | static void e1000_clear_vfta(struct e1000_hw *hw) |
5973 | e1000_clear_vfta(struct e1000_hw *hw) | ||
5974 | { | 5871 | { |
5975 | u32 offset; | 5872 | u32 offset; |
5976 | u32 vfta_value = 0; | 5873 | u32 vfta_value = 0; |
@@ -6003,8 +5900,7 @@ e1000_clear_vfta(struct e1000_hw *hw) | |||
6003 | } | 5900 | } |
6004 | } | 5901 | } |
6005 | 5902 | ||
6006 | static s32 | 5903 | static s32 e1000_id_led_init(struct e1000_hw *hw) |
6007 | e1000_id_led_init(struct e1000_hw * hw) | ||
6008 | { | 5904 | { |
6009 | u32 ledctl; | 5905 | u32 ledctl; |
6010 | const u32 ledctl_mask = 0x000000FF; | 5906 | const u32 ledctl_mask = 0x000000FF; |
@@ -6086,8 +5982,7 @@ e1000_id_led_init(struct e1000_hw * hw) | |||
6086 | * | 5982 | * |
6087 | * hw - Struct containing variables accessed by shared code | 5983 | * hw - Struct containing variables accessed by shared code |
6088 | *****************************************************************************/ | 5984 | *****************************************************************************/ |
6089 | s32 | 5985 | s32 e1000_setup_led(struct e1000_hw *hw) |
6090 | e1000_setup_led(struct e1000_hw *hw) | ||
6091 | { | 5986 | { |
6092 | u32 ledctl; | 5987 | u32 ledctl; |
6093 | s32 ret_val = E1000_SUCCESS; | 5988 | s32 ret_val = E1000_SUCCESS; |
@@ -6145,8 +6040,7 @@ e1000_setup_led(struct e1000_hw *hw) | |||
6145 | * | 6040 | * |
6146 | * hw - Struct containing variables accessed by shared code | 6041 | * hw - Struct containing variables accessed by shared code |
6147 | *****************************************************************************/ | 6042 | *****************************************************************************/ |
6148 | s32 | 6043 | s32 e1000_blink_led_start(struct e1000_hw *hw) |
6149 | e1000_blink_led_start(struct e1000_hw *hw) | ||
6150 | { | 6044 | { |
6151 | s16 i; | 6045 | s16 i; |
6152 | u32 ledctl_blink = 0; | 6046 | u32 ledctl_blink = 0; |
@@ -6180,8 +6074,7 @@ e1000_blink_led_start(struct e1000_hw *hw) | |||
6180 | * | 6074 | * |
6181 | * hw - Struct containing variables accessed by shared code | 6075 | * hw - Struct containing variables accessed by shared code |
6182 | *****************************************************************************/ | 6076 | *****************************************************************************/ |
6183 | s32 | 6077 | s32 e1000_cleanup_led(struct e1000_hw *hw) |
6184 | e1000_cleanup_led(struct e1000_hw *hw) | ||
6185 | { | 6078 | { |
6186 | s32 ret_val = E1000_SUCCESS; | 6079 | s32 ret_val = E1000_SUCCESS; |
6187 | 6080 | ||
@@ -6222,8 +6115,7 @@ e1000_cleanup_led(struct e1000_hw *hw) | |||
6222 | * | 6115 | * |
6223 | * hw - Struct containing variables accessed by shared code | 6116 | * hw - Struct containing variables accessed by shared code |
6224 | *****************************************************************************/ | 6117 | *****************************************************************************/ |
6225 | s32 | 6118 | s32 e1000_led_on(struct e1000_hw *hw) |
6226 | e1000_led_on(struct e1000_hw *hw) | ||
6227 | { | 6119 | { |
6228 | u32 ctrl = E1000_READ_REG(hw, CTRL); | 6120 | u32 ctrl = E1000_READ_REG(hw, CTRL); |
6229 | 6121 | ||
@@ -6273,8 +6165,7 @@ e1000_led_on(struct e1000_hw *hw) | |||
6273 | * | 6165 | * |
6274 | * hw - Struct containing variables accessed by shared code | 6166 | * hw - Struct containing variables accessed by shared code |
6275 | *****************************************************************************/ | 6167 | *****************************************************************************/ |
6276 | s32 | 6168 | s32 e1000_led_off(struct e1000_hw *hw) |
6277 | e1000_led_off(struct e1000_hw *hw) | ||
6278 | { | 6169 | { |
6279 | u32 ctrl = E1000_READ_REG(hw, CTRL); | 6170 | u32 ctrl = E1000_READ_REG(hw, CTRL); |
6280 | 6171 | ||
@@ -6324,8 +6215,7 @@ e1000_led_off(struct e1000_hw *hw) | |||
6324 | * | 6215 | * |
6325 | * hw - Struct containing variables accessed by shared code | 6216 | * hw - Struct containing variables accessed by shared code |
6326 | *****************************************************************************/ | 6217 | *****************************************************************************/ |
6327 | static void | 6218 | static void e1000_clear_hw_cntrs(struct e1000_hw *hw) |
6328 | e1000_clear_hw_cntrs(struct e1000_hw *hw) | ||
6329 | { | 6219 | { |
6330 | volatile u32 temp; | 6220 | volatile u32 temp; |
6331 | 6221 | ||
@@ -6428,8 +6318,7 @@ e1000_clear_hw_cntrs(struct e1000_hw *hw) | |||
6428 | * current_ifs_val, ifs_min_val, ifs_max_val, ifs_step_size, and ifs_ratio | 6318 | * current_ifs_val, ifs_min_val, ifs_max_val, ifs_step_size, and ifs_ratio |
6429 | * before calling this function. | 6319 | * before calling this function. |
6430 | *****************************************************************************/ | 6320 | *****************************************************************************/ |
6431 | void | 6321 | void e1000_reset_adaptive(struct e1000_hw *hw) |
6432 | e1000_reset_adaptive(struct e1000_hw *hw) | ||
6433 | { | 6322 | { |
6434 | DEBUGFUNC("e1000_reset_adaptive"); | 6323 | DEBUGFUNC("e1000_reset_adaptive"); |
6435 | 6324 | ||
@@ -6456,8 +6345,7 @@ e1000_reset_adaptive(struct e1000_hw *hw) | |||
6456 | * tx_packets - Number of transmits since last callback | 6345 | * tx_packets - Number of transmits since last callback |
6457 | * total_collisions - Number of collisions since last callback | 6346 | * total_collisions - Number of collisions since last callback |
6458 | *****************************************************************************/ | 6347 | *****************************************************************************/ |
6459 | void | 6348 | void e1000_update_adaptive(struct e1000_hw *hw) |
6460 | e1000_update_adaptive(struct e1000_hw *hw) | ||
6461 | { | 6349 | { |
6462 | DEBUGFUNC("e1000_update_adaptive"); | 6350 | DEBUGFUNC("e1000_update_adaptive"); |
6463 | 6351 | ||
@@ -6492,11 +6380,8 @@ e1000_update_adaptive(struct e1000_hw *hw) | |||
6492 | * frame_len - The length of the frame in question | 6380 | * frame_len - The length of the frame in question |
6493 | * mac_addr - The Ethernet destination address of the frame in question | 6381 | * mac_addr - The Ethernet destination address of the frame in question |
6494 | *****************************************************************************/ | 6382 | *****************************************************************************/ |
6495 | void | 6383 | void e1000_tbi_adjust_stats(struct e1000_hw *hw, struct e1000_hw_stats *stats, |
6496 | e1000_tbi_adjust_stats(struct e1000_hw *hw, | 6384 | u32 frame_len, u8 *mac_addr) |
6497 | struct e1000_hw_stats *stats, | ||
6498 | u32 frame_len, | ||
6499 | u8 *mac_addr) | ||
6500 | { | 6385 | { |
6501 | u64 carry_bit; | 6386 | u64 carry_bit; |
6502 | 6387 | ||
@@ -6570,8 +6455,7 @@ e1000_tbi_adjust_stats(struct e1000_hw *hw, | |||
6570 | * | 6455 | * |
6571 | * hw - Struct containing variables accessed by shared code | 6456 | * hw - Struct containing variables accessed by shared code |
6572 | *****************************************************************************/ | 6457 | *****************************************************************************/ |
6573 | void | 6458 | void e1000_get_bus_info(struct e1000_hw *hw) |
6574 | e1000_get_bus_info(struct e1000_hw *hw) | ||
6575 | { | 6459 | { |
6576 | s32 ret_val; | 6460 | s32 ret_val; |
6577 | u16 pci_ex_link_status; | 6461 | u16 pci_ex_link_status; |
@@ -6645,10 +6529,7 @@ e1000_get_bus_info(struct e1000_hw *hw) | |||
6645 | * offset - offset to write to | 6529 | * offset - offset to write to |
6646 | * value - value to write | 6530 | * value - value to write |
6647 | *****************************************************************************/ | 6531 | *****************************************************************************/ |
6648 | static void | 6532 | static void e1000_write_reg_io(struct e1000_hw *hw, u32 offset, u32 value) |
6649 | e1000_write_reg_io(struct e1000_hw *hw, | ||
6650 | u32 offset, | ||
6651 | u32 value) | ||
6652 | { | 6533 | { |
6653 | unsigned long io_addr = hw->io_base; | 6534 | unsigned long io_addr = hw->io_base; |
6654 | unsigned long io_data = hw->io_base + 4; | 6535 | unsigned long io_data = hw->io_base + 4; |
@@ -6672,10 +6553,8 @@ e1000_write_reg_io(struct e1000_hw *hw, | |||
6672 | * register to the minimum and maximum range. | 6553 | * register to the minimum and maximum range. |
6673 | * For IGP phy's, the function calculates the range by the AGC registers. | 6554 | * For IGP phy's, the function calculates the range by the AGC registers. |
6674 | *****************************************************************************/ | 6555 | *****************************************************************************/ |
6675 | static s32 | 6556 | static s32 e1000_get_cable_length(struct e1000_hw *hw, u16 *min_length, |
6676 | e1000_get_cable_length(struct e1000_hw *hw, | 6557 | u16 *max_length) |
6677 | u16 *min_length, | ||
6678 | u16 *max_length) | ||
6679 | { | 6558 | { |
6680 | s32 ret_val; | 6559 | s32 ret_val; |
6681 | u16 agc_value = 0; | 6560 | u16 agc_value = 0; |
@@ -6863,9 +6742,8 @@ e1000_get_cable_length(struct e1000_hw *hw, | |||
6863 | * return 0. If the link speed is 1000 Mbps the polarity status is in the | 6742 | * return 0. If the link speed is 1000 Mbps the polarity status is in the |
6864 | * IGP01E1000_PHY_PCS_INIT_REG. | 6743 | * IGP01E1000_PHY_PCS_INIT_REG. |
6865 | *****************************************************************************/ | 6744 | *****************************************************************************/ |
6866 | static s32 | 6745 | static s32 e1000_check_polarity(struct e1000_hw *hw, |
6867 | e1000_check_polarity(struct e1000_hw *hw, | 6746 | e1000_rev_polarity *polarity) |
6868 | e1000_rev_polarity *polarity) | ||
6869 | { | 6747 | { |
6870 | s32 ret_val; | 6748 | s32 ret_val; |
6871 | u16 phy_data; | 6749 | u16 phy_data; |
@@ -6939,8 +6817,7 @@ e1000_check_polarity(struct e1000_hw *hw, | |||
6939 | * Link Health register. In IGP this bit is latched high, so the driver must | 6817 | * Link Health register. In IGP this bit is latched high, so the driver must |
6940 | * read it immediately after link is established. | 6818 | * read it immediately after link is established. |
6941 | *****************************************************************************/ | 6819 | *****************************************************************************/ |
6942 | static s32 | 6820 | static s32 e1000_check_downshift(struct e1000_hw *hw) |
6943 | e1000_check_downshift(struct e1000_hw *hw) | ||
6944 | { | 6821 | { |
6945 | s32 ret_val; | 6822 | s32 ret_val; |
6946 | u16 phy_data; | 6823 | u16 phy_data; |
@@ -6985,9 +6862,7 @@ e1000_check_downshift(struct e1000_hw *hw) | |||
6985 | * | 6862 | * |
6986 | ****************************************************************************/ | 6863 | ****************************************************************************/ |
6987 | 6864 | ||
6988 | static s32 | 6865 | static s32 e1000_config_dsp_after_link_change(struct e1000_hw *hw, bool link_up) |
6989 | e1000_config_dsp_after_link_change(struct e1000_hw *hw, | ||
6990 | bool link_up) | ||
6991 | { | 6866 | { |
6992 | s32 ret_val; | 6867 | s32 ret_val; |
6993 | u16 phy_data, phy_saved_data, speed, duplex, i; | 6868 | u16 phy_data, phy_saved_data, speed, duplex, i; |
@@ -7173,8 +7048,7 @@ e1000_config_dsp_after_link_change(struct e1000_hw *hw, | |||
7173 | * | 7048 | * |
7174 | * hw - Struct containing variables accessed by shared code | 7049 | * hw - Struct containing variables accessed by shared code |
7175 | ****************************************************************************/ | 7050 | ****************************************************************************/ |
7176 | static s32 | 7051 | static s32 e1000_set_phy_mode(struct e1000_hw *hw) |
7177 | e1000_set_phy_mode(struct e1000_hw *hw) | ||
7178 | { | 7052 | { |
7179 | s32 ret_val; | 7053 | s32 ret_val; |
7180 | u16 eeprom_data; | 7054 | u16 eeprom_data; |
@@ -7218,9 +7092,7 @@ e1000_set_phy_mode(struct e1000_hw *hw) | |||
7218 | * | 7092 | * |
7219 | ****************************************************************************/ | 7093 | ****************************************************************************/ |
7220 | 7094 | ||
7221 | static s32 | 7095 | static s32 e1000_set_d3_lplu_state(struct e1000_hw *hw, bool active) |
7222 | e1000_set_d3_lplu_state(struct e1000_hw *hw, | ||
7223 | bool active) | ||
7224 | { | 7096 | { |
7225 | u32 phy_ctrl = 0; | 7097 | u32 phy_ctrl = 0; |
7226 | s32 ret_val; | 7098 | s32 ret_val; |
@@ -7348,9 +7220,7 @@ e1000_set_d3_lplu_state(struct e1000_hw *hw, | |||
7348 | * | 7220 | * |
7349 | ****************************************************************************/ | 7221 | ****************************************************************************/ |
7350 | 7222 | ||
7351 | static s32 | 7223 | static s32 e1000_set_d0_lplu_state(struct e1000_hw *hw, bool active) |
7352 | e1000_set_d0_lplu_state(struct e1000_hw *hw, | ||
7353 | bool active) | ||
7354 | { | 7224 | { |
7355 | u32 phy_ctrl = 0; | 7225 | u32 phy_ctrl = 0; |
7356 | s32 ret_val; | 7226 | s32 ret_val; |
@@ -7439,8 +7309,7 @@ e1000_set_d0_lplu_state(struct e1000_hw *hw, | |||
7439 | * | 7309 | * |
7440 | * hw - Struct containing variables accessed by shared code | 7310 | * hw - Struct containing variables accessed by shared code |
7441 | *****************************************************************************/ | 7311 | *****************************************************************************/ |
7442 | static s32 | 7312 | static s32 e1000_set_vco_speed(struct e1000_hw *hw) |
7443 | e1000_set_vco_speed(struct e1000_hw *hw) | ||
7444 | { | 7313 | { |
7445 | s32 ret_val; | 7314 | s32 ret_val; |
7446 | u16 default_page = 0; | 7315 | u16 default_page = 0; |
@@ -7503,8 +7372,7 @@ e1000_set_vco_speed(struct e1000_hw *hw) | |||
7503 | * | 7372 | * |
7504 | * returns: - E1000_SUCCESS . | 7373 | * returns: - E1000_SUCCESS . |
7505 | ****************************************************************************/ | 7374 | ****************************************************************************/ |
7506 | static s32 | 7375 | static s32 e1000_host_if_read_cookie(struct e1000_hw *hw, u8 *buffer) |
7507 | e1000_host_if_read_cookie(struct e1000_hw * hw, u8 *buffer) | ||
7508 | { | 7376 | { |
7509 | u8 i; | 7377 | u8 i; |
7510 | u32 offset = E1000_MNG_DHCP_COOKIE_OFFSET; | 7378 | u32 offset = E1000_MNG_DHCP_COOKIE_OFFSET; |
@@ -7530,8 +7398,7 @@ e1000_host_if_read_cookie(struct e1000_hw * hw, u8 *buffer) | |||
7530 | * timeout | 7398 | * timeout |
7531 | * - E1000_SUCCESS for success. | 7399 | * - E1000_SUCCESS for success. |
7532 | ****************************************************************************/ | 7400 | ****************************************************************************/ |
7533 | static s32 | 7401 | static s32 e1000_mng_enable_host_if(struct e1000_hw *hw) |
7534 | e1000_mng_enable_host_if(struct e1000_hw * hw) | ||
7535 | { | 7402 | { |
7536 | u32 hicr; | 7403 | u32 hicr; |
7537 | u8 i; | 7404 | u8 i; |
@@ -7564,9 +7431,8 @@ e1000_mng_enable_host_if(struct e1000_hw * hw) | |||
7564 | * | 7431 | * |
7565 | * returns - E1000_SUCCESS for success. | 7432 | * returns - E1000_SUCCESS for success. |
7566 | ****************************************************************************/ | 7433 | ****************************************************************************/ |
7567 | static s32 | 7434 | static s32 e1000_mng_host_if_write(struct e1000_hw *hw, u8 *buffer, u16 length, |
7568 | e1000_mng_host_if_write(struct e1000_hw * hw, u8 *buffer, | 7435 | u16 offset, u8 *sum) |
7569 | u16 length, u16 offset, u8 *sum) | ||
7570 | { | 7436 | { |
7571 | u8 *tmp; | 7437 | u8 *tmp; |
7572 | u8 *bufptr = buffer; | 7438 | u8 *bufptr = buffer; |
@@ -7632,9 +7498,8 @@ e1000_mng_host_if_write(struct e1000_hw * hw, u8 *buffer, | |||
7632 | * | 7498 | * |
7633 | * returns - E1000_SUCCESS for success. | 7499 | * returns - E1000_SUCCESS for success. |
7634 | ****************************************************************************/ | 7500 | ****************************************************************************/ |
7635 | static s32 | 7501 | static s32 e1000_mng_write_cmd_header(struct e1000_hw *hw, |
7636 | e1000_mng_write_cmd_header(struct e1000_hw * hw, | 7502 | struct e1000_host_mng_command_header *hdr) |
7637 | struct e1000_host_mng_command_header * hdr) | ||
7638 | { | 7503 | { |
7639 | u16 i; | 7504 | u16 i; |
7640 | u8 sum; | 7505 | u8 sum; |
@@ -7672,8 +7537,7 @@ e1000_mng_write_cmd_header(struct e1000_hw * hw, | |||
7672 | * | 7537 | * |
7673 | * returns - E1000_SUCCESS for success. | 7538 | * returns - E1000_SUCCESS for success. |
7674 | ****************************************************************************/ | 7539 | ****************************************************************************/ |
7675 | static s32 | 7540 | static s32 e1000_mng_write_commit(struct e1000_hw *hw) |
7676 | e1000_mng_write_commit(struct e1000_hw * hw) | ||
7677 | { | 7541 | { |
7678 | u32 hicr; | 7542 | u32 hicr; |
7679 | 7543 | ||
@@ -7690,8 +7554,7 @@ e1000_mng_write_commit(struct e1000_hw * hw) | |||
7690 | * | 7554 | * |
7691 | * returns - true when the mode is IAMT or false. | 7555 | * returns - true when the mode is IAMT or false. |
7692 | ****************************************************************************/ | 7556 | ****************************************************************************/ |
7693 | bool | 7557 | bool e1000_check_mng_mode(struct e1000_hw *hw) |
7694 | e1000_check_mng_mode(struct e1000_hw *hw) | ||
7695 | { | 7558 | { |
7696 | u32 fwsm; | 7559 | u32 fwsm; |
7697 | 7560 | ||
@@ -7712,9 +7575,7 @@ e1000_check_mng_mode(struct e1000_hw *hw) | |||
7712 | /***************************************************************************** | 7575 | /***************************************************************************** |
7713 | * This function writes the dhcp info . | 7576 | * This function writes the dhcp info . |
7714 | ****************************************************************************/ | 7577 | ****************************************************************************/ |
7715 | s32 | 7578 | s32 e1000_mng_write_dhcp_info(struct e1000_hw *hw, u8 *buffer, u16 length) |
7716 | e1000_mng_write_dhcp_info(struct e1000_hw * hw, u8 *buffer, | ||
7717 | u16 length) | ||
7718 | { | 7579 | { |
7719 | s32 ret_val; | 7580 | s32 ret_val; |
7720 | struct e1000_host_mng_command_header hdr; | 7581 | struct e1000_host_mng_command_header hdr; |
@@ -7744,8 +7605,7 @@ e1000_mng_write_dhcp_info(struct e1000_hw * hw, u8 *buffer, | |||
7744 | * | 7605 | * |
7745 | * returns - checksum of buffer contents. | 7606 | * returns - checksum of buffer contents. |
7746 | ****************************************************************************/ | 7607 | ****************************************************************************/ |
7747 | static u8 | 7608 | static u8 e1000_calculate_mng_checksum(char *buffer, u32 length) |
7748 | e1000_calculate_mng_checksum(char *buffer, u32 length) | ||
7749 | { | 7609 | { |
7750 | u8 sum = 0; | 7610 | u8 sum = 0; |
7751 | u32 i; | 7611 | u32 i; |
@@ -7764,8 +7624,7 @@ e1000_calculate_mng_checksum(char *buffer, u32 length) | |||
7764 | * | 7624 | * |
7765 | * returns - true for packet filtering or false. | 7625 | * returns - true for packet filtering or false. |
7766 | ****************************************************************************/ | 7626 | ****************************************************************************/ |
7767 | bool | 7627 | bool e1000_enable_tx_pkt_filtering(struct e1000_hw *hw) |
7768 | e1000_enable_tx_pkt_filtering(struct e1000_hw *hw) | ||
7769 | { | 7628 | { |
7770 | /* called in init as well as watchdog timer functions */ | 7629 | /* called in init as well as watchdog timer functions */ |
7771 | 7630 | ||
@@ -7806,8 +7665,7 @@ e1000_enable_tx_pkt_filtering(struct e1000_hw *hw) | |||
7806 | * returns: - true/false | 7665 | * returns: - true/false |
7807 | * | 7666 | * |
7808 | *****************************************************************************/ | 7667 | *****************************************************************************/ |
7809 | u32 | 7668 | u32 e1000_enable_mng_pass_thru(struct e1000_hw *hw) |
7810 | e1000_enable_mng_pass_thru(struct e1000_hw *hw) | ||
7811 | { | 7669 | { |
7812 | u32 manc; | 7670 | u32 manc; |
7813 | u32 fwsm, factps; | 7671 | u32 fwsm, factps; |
@@ -7832,8 +7690,7 @@ e1000_enable_mng_pass_thru(struct e1000_hw *hw) | |||
7832 | return false; | 7690 | return false; |
7833 | } | 7691 | } |
7834 | 7692 | ||
7835 | static s32 | 7693 | static s32 e1000_polarity_reversal_workaround(struct e1000_hw *hw) |
7836 | e1000_polarity_reversal_workaround(struct e1000_hw *hw) | ||
7837 | { | 7694 | { |
7838 | s32 ret_val; | 7695 | s32 ret_val; |
7839 | u16 mii_status_reg; | 7696 | u16 mii_status_reg; |
@@ -7926,8 +7783,7 @@ e1000_polarity_reversal_workaround(struct e1000_hw *hw) | |||
7926 | * returns: - none. | 7783 | * returns: - none. |
7927 | * | 7784 | * |
7928 | ***************************************************************************/ | 7785 | ***************************************************************************/ |
7929 | static void | 7786 | static void e1000_set_pci_express_master_disable(struct e1000_hw *hw) |
7930 | e1000_set_pci_express_master_disable(struct e1000_hw *hw) | ||
7931 | { | 7787 | { |
7932 | u32 ctrl; | 7788 | u32 ctrl; |
7933 | 7789 | ||
@@ -7952,8 +7808,7 @@ e1000_set_pci_express_master_disable(struct e1000_hw *hw) | |||
7952 | * E1000_SUCCESS master requests disabled. | 7808 | * E1000_SUCCESS master requests disabled. |
7953 | * | 7809 | * |
7954 | ******************************************************************************/ | 7810 | ******************************************************************************/ |
7955 | s32 | 7811 | s32 e1000_disable_pciex_master(struct e1000_hw *hw) |
7956 | e1000_disable_pciex_master(struct e1000_hw *hw) | ||
7957 | { | 7812 | { |
7958 | s32 timeout = MASTER_DISABLE_TIMEOUT; /* 80ms */ | 7813 | s32 timeout = MASTER_DISABLE_TIMEOUT; /* 80ms */ |
7959 | 7814 | ||
@@ -7990,8 +7845,7 @@ e1000_disable_pciex_master(struct e1000_hw *hw) | |||
7990 | * E1000_SUCCESS at any other case. | 7845 | * E1000_SUCCESS at any other case. |
7991 | * | 7846 | * |
7992 | ******************************************************************************/ | 7847 | ******************************************************************************/ |
7993 | static s32 | 7848 | static s32 e1000_get_auto_rd_done(struct e1000_hw *hw) |
7994 | e1000_get_auto_rd_done(struct e1000_hw *hw) | ||
7995 | { | 7849 | { |
7996 | s32 timeout = AUTO_READ_DONE_TIMEOUT; | 7850 | s32 timeout = AUTO_READ_DONE_TIMEOUT; |
7997 | 7851 | ||
@@ -8038,8 +7892,7 @@ e1000_get_auto_rd_done(struct e1000_hw *hw) | |||
8038 | * E1000_SUCCESS at any other case. | 7892 | * E1000_SUCCESS at any other case. |
8039 | * | 7893 | * |
8040 | ***************************************************************************/ | 7894 | ***************************************************************************/ |
8041 | static s32 | 7895 | static s32 e1000_get_phy_cfg_done(struct e1000_hw *hw) |
8042 | e1000_get_phy_cfg_done(struct e1000_hw *hw) | ||
8043 | { | 7896 | { |
8044 | s32 timeout = PHY_CFG_TIMEOUT; | 7897 | s32 timeout = PHY_CFG_TIMEOUT; |
8045 | u32 cfg_mask = E1000_EEPROM_CFG_DONE; | 7898 | u32 cfg_mask = E1000_EEPROM_CFG_DONE; |
@@ -8085,8 +7938,7 @@ e1000_get_phy_cfg_done(struct e1000_hw *hw) | |||
8085 | * E1000_SUCCESS at any other case. | 7938 | * E1000_SUCCESS at any other case. |
8086 | * | 7939 | * |
8087 | ***************************************************************************/ | 7940 | ***************************************************************************/ |
8088 | static s32 | 7941 | static s32 e1000_get_hw_eeprom_semaphore(struct e1000_hw *hw) |
8089 | e1000_get_hw_eeprom_semaphore(struct e1000_hw *hw) | ||
8090 | { | 7942 | { |
8091 | s32 timeout; | 7943 | s32 timeout; |
8092 | u32 swsm; | 7944 | u32 swsm; |
@@ -8135,8 +7987,7 @@ e1000_get_hw_eeprom_semaphore(struct e1000_hw *hw) | |||
8135 | * returns: - None. | 7987 | * returns: - None. |
8136 | * | 7988 | * |
8137 | ***************************************************************************/ | 7989 | ***************************************************************************/ |
8138 | static void | 7990 | static void e1000_put_hw_eeprom_semaphore(struct e1000_hw *hw) |
8139 | e1000_put_hw_eeprom_semaphore(struct e1000_hw *hw) | ||
8140 | { | 7991 | { |
8141 | u32 swsm; | 7992 | u32 swsm; |
8142 | 7993 | ||
@@ -8164,8 +8015,7 @@ e1000_put_hw_eeprom_semaphore(struct e1000_hw *hw) | |||
8164 | * E1000_SUCCESS at any other case. | 8015 | * E1000_SUCCESS at any other case. |
8165 | * | 8016 | * |
8166 | ***************************************************************************/ | 8017 | ***************************************************************************/ |
8167 | static s32 | 8018 | static s32 e1000_get_software_semaphore(struct e1000_hw *hw) |
8168 | e1000_get_software_semaphore(struct e1000_hw *hw) | ||
8169 | { | 8019 | { |
8170 | s32 timeout = hw->eeprom.word_size + 1; | 8020 | s32 timeout = hw->eeprom.word_size + 1; |
8171 | u32 swsm; | 8021 | u32 swsm; |
@@ -8200,8 +8050,7 @@ e1000_get_software_semaphore(struct e1000_hw *hw) | |||
8200 | * hw: Struct containing variables accessed by shared code | 8050 | * hw: Struct containing variables accessed by shared code |
8201 | * | 8051 | * |
8202 | ***************************************************************************/ | 8052 | ***************************************************************************/ |
8203 | static void | 8053 | static void e1000_release_software_semaphore(struct e1000_hw *hw) |
8204 | e1000_release_software_semaphore(struct e1000_hw *hw) | ||
8205 | { | 8054 | { |
8206 | u32 swsm; | 8055 | u32 swsm; |
8207 | 8056 | ||
@@ -8228,8 +8077,7 @@ e1000_release_software_semaphore(struct e1000_hw *hw) | |||
8228 | * E1000_SUCCESS | 8077 | * E1000_SUCCESS |
8229 | * | 8078 | * |
8230 | *****************************************************************************/ | 8079 | *****************************************************************************/ |
8231 | s32 | 8080 | s32 e1000_check_phy_reset_block(struct e1000_hw *hw) |
8232 | e1000_check_phy_reset_block(struct e1000_hw *hw) | ||
8233 | { | 8081 | { |
8234 | u32 manc = 0; | 8082 | u32 manc = 0; |
8235 | u32 fwsm = 0; | 8083 | u32 fwsm = 0; |
@@ -8246,8 +8094,7 @@ e1000_check_phy_reset_block(struct e1000_hw *hw) | |||
8246 | E1000_BLK_PHY_RESET : E1000_SUCCESS; | 8094 | E1000_BLK_PHY_RESET : E1000_SUCCESS; |
8247 | } | 8095 | } |
8248 | 8096 | ||
8249 | static u8 | 8097 | static u8 e1000_arc_subsystem_valid(struct e1000_hw *hw) |
8250 | e1000_arc_subsystem_valid(struct e1000_hw *hw) | ||
8251 | { | 8098 | { |
8252 | u32 fwsm; | 8099 | u32 fwsm; |
8253 | 8100 | ||
@@ -8283,8 +8130,7 @@ e1000_arc_subsystem_valid(struct e1000_hw *hw) | |||
8283 | * returns: E1000_SUCCESS | 8130 | * returns: E1000_SUCCESS |
8284 | * | 8131 | * |
8285 | *****************************************************************************/ | 8132 | *****************************************************************************/ |
8286 | static s32 | 8133 | static s32 e1000_set_pci_ex_no_snoop(struct e1000_hw *hw, u32 no_snoop) |
8287 | e1000_set_pci_ex_no_snoop(struct e1000_hw *hw, u32 no_snoop) | ||
8288 | { | 8134 | { |
8289 | u32 gcr_reg = 0; | 8135 | u32 gcr_reg = 0; |
8290 | 8136 | ||
@@ -8324,8 +8170,7 @@ e1000_set_pci_ex_no_snoop(struct e1000_hw *hw, u32 no_snoop) | |||
8324 | * hw: Struct containing variables accessed by shared code | 8170 | * hw: Struct containing variables accessed by shared code |
8325 | * | 8171 | * |
8326 | ***************************************************************************/ | 8172 | ***************************************************************************/ |
8327 | static s32 | 8173 | static s32 e1000_get_software_flag(struct e1000_hw *hw) |
8328 | e1000_get_software_flag(struct e1000_hw *hw) | ||
8329 | { | 8174 | { |
8330 | s32 timeout = PHY_CFG_TIMEOUT; | 8175 | s32 timeout = PHY_CFG_TIMEOUT; |
8331 | u32 extcnf_ctrl; | 8176 | u32 extcnf_ctrl; |
@@ -8363,8 +8208,7 @@ e1000_get_software_flag(struct e1000_hw *hw) | |||
8363 | * hw: Struct containing variables accessed by shared code | 8208 | * hw: Struct containing variables accessed by shared code |
8364 | * | 8209 | * |
8365 | ***************************************************************************/ | 8210 | ***************************************************************************/ |
8366 | static void | 8211 | static void e1000_release_software_flag(struct e1000_hw *hw) |
8367 | e1000_release_software_flag(struct e1000_hw *hw) | ||
8368 | { | 8212 | { |
8369 | u32 extcnf_ctrl; | 8213 | u32 extcnf_ctrl; |
8370 | 8214 | ||
@@ -8388,9 +8232,8 @@ e1000_release_software_flag(struct e1000_hw *hw) | |||
8388 | * data - word read from the EEPROM | 8232 | * data - word read from the EEPROM |
8389 | * words - number of words to read | 8233 | * words - number of words to read |
8390 | *****************************************************************************/ | 8234 | *****************************************************************************/ |
8391 | static s32 | 8235 | static s32 e1000_read_eeprom_ich8(struct e1000_hw *hw, u16 offset, u16 words, |
8392 | e1000_read_eeprom_ich8(struct e1000_hw *hw, u16 offset, u16 words, | 8236 | u16 *data) |
8393 | u16 *data) | ||
8394 | { | 8237 | { |
8395 | s32 error = E1000_SUCCESS; | 8238 | s32 error = E1000_SUCCESS; |
8396 | u32 flash_bank = 0; | 8239 | u32 flash_bank = 0; |
@@ -8444,9 +8287,8 @@ e1000_read_eeprom_ich8(struct e1000_hw *hw, u16 offset, u16 words, | |||
8444 | * words - number of words to write | 8287 | * words - number of words to write |
8445 | * data - words to write to the EEPROM | 8288 | * data - words to write to the EEPROM |
8446 | *****************************************************************************/ | 8289 | *****************************************************************************/ |
8447 | static s32 | 8290 | static s32 e1000_write_eeprom_ich8(struct e1000_hw *hw, u16 offset, u16 words, |
8448 | e1000_write_eeprom_ich8(struct e1000_hw *hw, u16 offset, u16 words, | 8291 | u16 *data) |
8449 | u16 *data) | ||
8450 | { | 8292 | { |
8451 | u32 i = 0; | 8293 | u32 i = 0; |
8452 | s32 error = E1000_SUCCESS; | 8294 | s32 error = E1000_SUCCESS; |
@@ -8491,8 +8333,7 @@ e1000_write_eeprom_ich8(struct e1000_hw *hw, u16 offset, u16 words, | |||
8491 | * | 8333 | * |
8492 | * hw - The pointer to the hw structure | 8334 | * hw - The pointer to the hw structure |
8493 | ****************************************************************************/ | 8335 | ****************************************************************************/ |
8494 | static s32 | 8336 | static s32 e1000_ich8_cycle_init(struct e1000_hw *hw) |
8495 | e1000_ich8_cycle_init(struct e1000_hw *hw) | ||
8496 | { | 8337 | { |
8497 | union ich8_hws_flash_status hsfsts; | 8338 | union ich8_hws_flash_status hsfsts; |
8498 | s32 error = E1000_ERR_EEPROM; | 8339 | s32 error = E1000_ERR_EEPROM; |
@@ -8558,8 +8399,7 @@ e1000_ich8_cycle_init(struct e1000_hw *hw) | |||
8558 | * | 8399 | * |
8559 | * hw - The pointer to the hw structure | 8400 | * hw - The pointer to the hw structure |
8560 | ****************************************************************************/ | 8401 | ****************************************************************************/ |
8561 | static s32 | 8402 | static s32 e1000_ich8_flash_cycle(struct e1000_hw *hw, u32 timeout) |
8562 | e1000_ich8_flash_cycle(struct e1000_hw *hw, u32 timeout) | ||
8563 | { | 8403 | { |
8564 | union ich8_hws_flash_ctrl hsflctl; | 8404 | union ich8_hws_flash_ctrl hsflctl; |
8565 | union ich8_hws_flash_status hsfsts; | 8405 | union ich8_hws_flash_status hsfsts; |
@@ -8593,9 +8433,8 @@ e1000_ich8_flash_cycle(struct e1000_hw *hw, u32 timeout) | |||
8593 | * size - Size of data to read, 1=byte 2=word | 8433 | * size - Size of data to read, 1=byte 2=word |
8594 | * data - Pointer to the word to store the value read. | 8434 | * data - Pointer to the word to store the value read. |
8595 | *****************************************************************************/ | 8435 | *****************************************************************************/ |
8596 | static s32 | 8436 | static s32 e1000_read_ich8_data(struct e1000_hw *hw, u32 index, u32 size, |
8597 | e1000_read_ich8_data(struct e1000_hw *hw, u32 index, | 8437 | u16 *data) |
8598 | u32 size, u16* data) | ||
8599 | { | 8438 | { |
8600 | union ich8_hws_flash_status hsfsts; | 8439 | union ich8_hws_flash_status hsfsts; |
8601 | union ich8_hws_flash_ctrl hsflctl; | 8440 | union ich8_hws_flash_ctrl hsflctl; |
@@ -8672,9 +8511,8 @@ e1000_read_ich8_data(struct e1000_hw *hw, u32 index, | |||
8672 | * size - Size of data to read, 1=byte 2=word | 8511 | * size - Size of data to read, 1=byte 2=word |
8673 | * data - The byte(s) to write to the NVM. | 8512 | * data - The byte(s) to write to the NVM. |
8674 | *****************************************************************************/ | 8513 | *****************************************************************************/ |
8675 | static s32 | 8514 | static s32 e1000_write_ich8_data(struct e1000_hw *hw, u32 index, u32 size, |
8676 | e1000_write_ich8_data(struct e1000_hw *hw, u32 index, u32 size, | 8515 | u16 data) |
8677 | u16 data) | ||
8678 | { | 8516 | { |
8679 | union ich8_hws_flash_status hsfsts; | 8517 | union ich8_hws_flash_status hsfsts; |
8680 | union ich8_hws_flash_ctrl hsflctl; | 8518 | union ich8_hws_flash_ctrl hsflctl; |
@@ -8747,8 +8585,7 @@ e1000_write_ich8_data(struct e1000_hw *hw, u32 index, u32 size, | |||
8747 | * index - The index of the byte to read. | 8585 | * index - The index of the byte to read. |
8748 | * data - Pointer to a byte to store the value read. | 8586 | * data - Pointer to a byte to store the value read. |
8749 | *****************************************************************************/ | 8587 | *****************************************************************************/ |
8750 | static s32 | 8588 | static s32 e1000_read_ich8_byte(struct e1000_hw *hw, u32 index, u8 *data) |
8751 | e1000_read_ich8_byte(struct e1000_hw *hw, u32 index, u8* data) | ||
8752 | { | 8589 | { |
8753 | s32 status = E1000_SUCCESS; | 8590 | s32 status = E1000_SUCCESS; |
8754 | u16 word = 0; | 8591 | u16 word = 0; |
@@ -8770,8 +8607,7 @@ e1000_read_ich8_byte(struct e1000_hw *hw, u32 index, u8* data) | |||
8770 | * index - The index of the byte to write. | 8607 | * index - The index of the byte to write. |
8771 | * byte - The byte to write to the NVM. | 8608 | * byte - The byte to write to the NVM. |
8772 | *****************************************************************************/ | 8609 | *****************************************************************************/ |
8773 | static s32 | 8610 | static s32 e1000_verify_write_ich8_byte(struct e1000_hw *hw, u32 index, u8 byte) |
8774 | e1000_verify_write_ich8_byte(struct e1000_hw *hw, u32 index, u8 byte) | ||
8775 | { | 8611 | { |
8776 | s32 error = E1000_SUCCESS; | 8612 | s32 error = E1000_SUCCESS; |
8777 | s32 program_retries = 0; | 8613 | s32 program_retries = 0; |
@@ -8803,8 +8639,7 @@ e1000_verify_write_ich8_byte(struct e1000_hw *hw, u32 index, u8 byte) | |||
8803 | * index - The index of the byte to read. | 8639 | * index - The index of the byte to read. |
8804 | * data - The byte to write to the NVM. | 8640 | * data - The byte to write to the NVM. |
8805 | *****************************************************************************/ | 8641 | *****************************************************************************/ |
8806 | static s32 | 8642 | static s32 e1000_write_ich8_byte(struct e1000_hw *hw, u32 index, u8 data) |
8807 | e1000_write_ich8_byte(struct e1000_hw *hw, u32 index, u8 data) | ||
8808 | { | 8643 | { |
8809 | s32 status = E1000_SUCCESS; | 8644 | s32 status = E1000_SUCCESS; |
8810 | u16 word = (u16)data; | 8645 | u16 word = (u16)data; |
@@ -8821,8 +8656,7 @@ e1000_write_ich8_byte(struct e1000_hw *hw, u32 index, u8 data) | |||
8821 | * index - The starting byte index of the word to read. | 8656 | * index - The starting byte index of the word to read. |
8822 | * data - Pointer to a word to store the value read. | 8657 | * data - Pointer to a word to store the value read. |
8823 | *****************************************************************************/ | 8658 | *****************************************************************************/ |
8824 | static s32 | 8659 | static s32 e1000_read_ich8_word(struct e1000_hw *hw, u32 index, u16 *data) |
8825 | e1000_read_ich8_word(struct e1000_hw *hw, u32 index, u16 *data) | ||
8826 | { | 8660 | { |
8827 | s32 status = E1000_SUCCESS; | 8661 | s32 status = E1000_SUCCESS; |
8828 | status = e1000_read_ich8_data(hw, index, 2, data); | 8662 | status = e1000_read_ich8_data(hw, index, 2, data); |
@@ -8840,8 +8674,7 @@ e1000_read_ich8_word(struct e1000_hw *hw, u32 index, u16 *data) | |||
8840 | * amount of NVM used in each bank is a *minimum* of 4 KBytes, but in fact the | 8674 | * amount of NVM used in each bank is a *minimum* of 4 KBytes, but in fact the |
8841 | * bank size may be 4, 8 or 64 KBytes | 8675 | * bank size may be 4, 8 or 64 KBytes |
8842 | *****************************************************************************/ | 8676 | *****************************************************************************/ |
8843 | static s32 | 8677 | static s32 e1000_erase_ich8_4k_segment(struct e1000_hw *hw, u32 bank) |
8844 | e1000_erase_ich8_4k_segment(struct e1000_hw *hw, u32 bank) | ||
8845 | { | 8678 | { |
8846 | union ich8_hws_flash_status hsfsts; | 8679 | union ich8_hws_flash_status hsfsts; |
8847 | union ich8_hws_flash_ctrl hsflctl; | 8680 | union ich8_hws_flash_ctrl hsflctl; |
@@ -8930,9 +8763,9 @@ e1000_erase_ich8_4k_segment(struct e1000_hw *hw, u32 bank) | |||
8930 | return error; | 8763 | return error; |
8931 | } | 8764 | } |
8932 | 8765 | ||
8933 | static s32 | 8766 | static s32 e1000_init_lcd_from_nvm_config_region(struct e1000_hw *hw, |
8934 | e1000_init_lcd_from_nvm_config_region(struct e1000_hw *hw, | 8767 | u32 cnf_base_addr, |
8935 | u32 cnf_base_addr, u32 cnf_size) | 8768 | u32 cnf_size) |
8936 | { | 8769 | { |
8937 | u32 ret_val = E1000_SUCCESS; | 8770 | u32 ret_val = E1000_SUCCESS; |
8938 | u16 word_addr, reg_data, reg_addr; | 8771 | u16 word_addr, reg_data, reg_addr; |
@@ -8972,8 +8805,7 @@ e1000_init_lcd_from_nvm_config_region(struct e1000_hw *hw, | |||
8972 | * | 8805 | * |
8973 | * hw: Struct containing variables accessed by shared code | 8806 | * hw: Struct containing variables accessed by shared code |
8974 | *****************************************************************************/ | 8807 | *****************************************************************************/ |
8975 | static s32 | 8808 | static s32 e1000_init_lcd_from_nvm(struct e1000_hw *hw) |
8976 | e1000_init_lcd_from_nvm(struct e1000_hw *hw) | ||
8977 | { | 8809 | { |
8978 | u32 reg_data, cnf_base_addr, cnf_size, ret_val, loop; | 8810 | u32 reg_data, cnf_base_addr, cnf_size, ret_val, loop; |
8979 | 8811 | ||
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index cf12b05cd011..9a20ba39346b 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -232,8 +232,7 @@ MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)"); | |||
232 | * loaded. All it does is register with the PCI subsystem. | 232 | * loaded. All it does is register with the PCI subsystem. |
233 | **/ | 233 | **/ |
234 | 234 | ||
235 | static int __init | 235 | static int __init e1000_init_module(void) |
236 | e1000_init_module(void) | ||
237 | { | 236 | { |
238 | int ret; | 237 | int ret; |
239 | printk(KERN_INFO "%s - version %s\n", | 238 | printk(KERN_INFO "%s - version %s\n", |
@@ -261,8 +260,7 @@ module_init(e1000_init_module); | |||
261 | * from memory. | 260 | * from memory. |
262 | **/ | 261 | **/ |
263 | 262 | ||
264 | static void __exit | 263 | static void __exit e1000_exit_module(void) |
265 | e1000_exit_module(void) | ||
266 | { | 264 | { |
267 | pci_unregister_driver(&e1000_driver); | 265 | pci_unregister_driver(&e1000_driver); |
268 | } | 266 | } |
@@ -311,8 +309,7 @@ static void e1000_free_irq(struct e1000_adapter *adapter) | |||
311 | * @adapter: board private structure | 309 | * @adapter: board private structure |
312 | **/ | 310 | **/ |
313 | 311 | ||
314 | static void | 312 | static void e1000_irq_disable(struct e1000_adapter *adapter) |
315 | e1000_irq_disable(struct e1000_adapter *adapter) | ||
316 | { | 313 | { |
317 | E1000_WRITE_REG(&adapter->hw, IMC, ~0); | 314 | E1000_WRITE_REG(&adapter->hw, IMC, ~0); |
318 | E1000_WRITE_FLUSH(&adapter->hw); | 315 | E1000_WRITE_FLUSH(&adapter->hw); |
@@ -324,15 +321,13 @@ e1000_irq_disable(struct e1000_adapter *adapter) | |||
324 | * @adapter: board private structure | 321 | * @adapter: board private structure |
325 | **/ | 322 | **/ |
326 | 323 | ||
327 | static void | 324 | static void e1000_irq_enable(struct e1000_adapter *adapter) |
328 | e1000_irq_enable(struct e1000_adapter *adapter) | ||
329 | { | 325 | { |
330 | E1000_WRITE_REG(&adapter->hw, IMS, IMS_ENABLE_MASK); | 326 | E1000_WRITE_REG(&adapter->hw, IMS, IMS_ENABLE_MASK); |
331 | E1000_WRITE_FLUSH(&adapter->hw); | 327 | E1000_WRITE_FLUSH(&adapter->hw); |
332 | } | 328 | } |
333 | 329 | ||
334 | static void | 330 | static void e1000_update_mng_vlan(struct e1000_adapter *adapter) |
335 | e1000_update_mng_vlan(struct e1000_adapter *adapter) | ||
336 | { | 331 | { |
337 | struct net_device *netdev = adapter->netdev; | 332 | struct net_device *netdev = adapter->netdev; |
338 | u16 vid = adapter->hw.mng_cookie.vlan_id; | 333 | u16 vid = adapter->hw.mng_cookie.vlan_id; |
@@ -366,8 +361,7 @@ e1000_update_mng_vlan(struct e1000_adapter *adapter) | |||
366 | * | 361 | * |
367 | **/ | 362 | **/ |
368 | 363 | ||
369 | static void | 364 | static void e1000_release_hw_control(struct e1000_adapter *adapter) |
370 | e1000_release_hw_control(struct e1000_adapter *adapter) | ||
371 | { | 365 | { |
372 | u32 ctrl_ext; | 366 | u32 ctrl_ext; |
373 | u32 swsm; | 367 | u32 swsm; |
@@ -403,8 +397,7 @@ e1000_release_hw_control(struct e1000_adapter *adapter) | |||
403 | * | 397 | * |
404 | **/ | 398 | **/ |
405 | 399 | ||
406 | static void | 400 | static void e1000_get_hw_control(struct e1000_adapter *adapter) |
407 | e1000_get_hw_control(struct e1000_adapter *adapter) | ||
408 | { | 401 | { |
409 | u32 ctrl_ext; | 402 | u32 ctrl_ext; |
410 | u32 swsm; | 403 | u32 swsm; |
@@ -429,8 +422,7 @@ e1000_get_hw_control(struct e1000_adapter *adapter) | |||
429 | } | 422 | } |
430 | } | 423 | } |
431 | 424 | ||
432 | static void | 425 | static void e1000_init_manageability(struct e1000_adapter *adapter) |
433 | e1000_init_manageability(struct e1000_adapter *adapter) | ||
434 | { | 426 | { |
435 | if (adapter->en_mng_pt) { | 427 | if (adapter->en_mng_pt) { |
436 | u32 manc = E1000_READ_REG(&adapter->hw, MANC); | 428 | u32 manc = E1000_READ_REG(&adapter->hw, MANC); |
@@ -456,8 +448,7 @@ e1000_init_manageability(struct e1000_adapter *adapter) | |||
456 | } | 448 | } |
457 | } | 449 | } |
458 | 450 | ||
459 | static void | 451 | static void e1000_release_manageability(struct e1000_adapter *adapter) |
460 | e1000_release_manageability(struct e1000_adapter *adapter) | ||
461 | { | 452 | { |
462 | if (adapter->en_mng_pt) { | 453 | if (adapter->en_mng_pt) { |
463 | u32 manc = E1000_READ_REG(&adapter->hw, MANC); | 454 | u32 manc = E1000_READ_REG(&adapter->hw, MANC); |
@@ -591,8 +582,7 @@ out: | |||
591 | return; | 582 | return; |
592 | } | 583 | } |
593 | 584 | ||
594 | void | 585 | void e1000_down(struct e1000_adapter *adapter) |
595 | e1000_down(struct e1000_adapter *adapter) | ||
596 | { | 586 | { |
597 | struct net_device *netdev = adapter->netdev; | 587 | struct net_device *netdev = adapter->netdev; |
598 | 588 | ||
@@ -620,8 +610,7 @@ e1000_down(struct e1000_adapter *adapter) | |||
620 | e1000_clean_all_rx_rings(adapter); | 610 | e1000_clean_all_rx_rings(adapter); |
621 | } | 611 | } |
622 | 612 | ||
623 | void | 613 | void e1000_reinit_locked(struct e1000_adapter *adapter) |
624 | e1000_reinit_locked(struct e1000_adapter *adapter) | ||
625 | { | 614 | { |
626 | WARN_ON(in_interrupt()); | 615 | WARN_ON(in_interrupt()); |
627 | while (test_and_set_bit(__E1000_RESETTING, &adapter->flags)) | 616 | while (test_and_set_bit(__E1000_RESETTING, &adapter->flags)) |
@@ -631,8 +620,7 @@ e1000_reinit_locked(struct e1000_adapter *adapter) | |||
631 | clear_bit(__E1000_RESETTING, &adapter->flags); | 620 | clear_bit(__E1000_RESETTING, &adapter->flags); |
632 | } | 621 | } |
633 | 622 | ||
634 | void | 623 | void e1000_reset(struct e1000_adapter *adapter) |
635 | e1000_reset(struct e1000_adapter *adapter) | ||
636 | { | 624 | { |
637 | u32 pba = 0, tx_space, min_tx_space, min_rx_space; | 625 | u32 pba = 0, tx_space, min_tx_space, min_rx_space; |
638 | u16 fc_high_water_mark = E1000_FC_HIGH_DIFF; | 626 | u16 fc_high_water_mark = E1000_FC_HIGH_DIFF; |
@@ -1231,8 +1219,7 @@ err_dma: | |||
1231 | * memory. | 1219 | * memory. |
1232 | **/ | 1220 | **/ |
1233 | 1221 | ||
1234 | static void __devexit | 1222 | static void __devexit e1000_remove(struct pci_dev *pdev) |
1235 | e1000_remove(struct pci_dev *pdev) | ||
1236 | { | 1223 | { |
1237 | struct net_device *netdev = pci_get_drvdata(pdev); | 1224 | struct net_device *netdev = pci_get_drvdata(pdev); |
1238 | struct e1000_adapter *adapter = netdev_priv(netdev); | 1225 | struct e1000_adapter *adapter = netdev_priv(netdev); |
@@ -1283,8 +1270,7 @@ e1000_remove(struct pci_dev *pdev) | |||
1283 | * OS network device settings (MTU size). | 1270 | * OS network device settings (MTU size). |
1284 | **/ | 1271 | **/ |
1285 | 1272 | ||
1286 | static int __devinit | 1273 | static int __devinit e1000_sw_init(struct e1000_adapter *adapter) |
1287 | e1000_sw_init(struct e1000_adapter *adapter) | ||
1288 | { | 1274 | { |
1289 | struct e1000_hw *hw = &adapter->hw; | 1275 | struct e1000_hw *hw = &adapter->hw; |
1290 | struct net_device *netdev = adapter->netdev; | 1276 | struct net_device *netdev = adapter->netdev; |
@@ -1377,8 +1363,7 @@ e1000_sw_init(struct e1000_adapter *adapter) | |||
1377 | * intended for Multiqueue, but should work fine with a single queue. | 1363 | * intended for Multiqueue, but should work fine with a single queue. |
1378 | **/ | 1364 | **/ |
1379 | 1365 | ||
1380 | static int __devinit | 1366 | static int __devinit e1000_alloc_queues(struct e1000_adapter *adapter) |
1381 | e1000_alloc_queues(struct e1000_adapter *adapter) | ||
1382 | { | 1367 | { |
1383 | adapter->tx_ring = kcalloc(adapter->num_tx_queues, | 1368 | adapter->tx_ring = kcalloc(adapter->num_tx_queues, |
1384 | sizeof(struct e1000_tx_ring), GFP_KERNEL); | 1369 | sizeof(struct e1000_tx_ring), GFP_KERNEL); |
@@ -1419,8 +1404,7 @@ e1000_alloc_queues(struct e1000_adapter *adapter) | |||
1419 | * and the stack is notified that the interface is ready. | 1404 | * and the stack is notified that the interface is ready. |
1420 | **/ | 1405 | **/ |
1421 | 1406 | ||
1422 | static int | 1407 | static int e1000_open(struct net_device *netdev) |
1423 | e1000_open(struct net_device *netdev) | ||
1424 | { | 1408 | { |
1425 | struct e1000_adapter *adapter = netdev_priv(netdev); | 1409 | struct e1000_adapter *adapter = netdev_priv(netdev); |
1426 | int err; | 1410 | int err; |
@@ -1503,8 +1487,7 @@ err_setup_tx: | |||
1503 | * hardware, and all transmit and receive resources are freed. | 1487 | * hardware, and all transmit and receive resources are freed. |
1504 | **/ | 1488 | **/ |
1505 | 1489 | ||
1506 | static int | 1490 | static int e1000_close(struct net_device *netdev) |
1507 | e1000_close(struct net_device *netdev) | ||
1508 | { | 1491 | { |
1509 | struct e1000_adapter *adapter = netdev_priv(netdev); | 1492 | struct e1000_adapter *adapter = netdev_priv(netdev); |
1510 | 1493 | ||
@@ -1540,9 +1523,8 @@ e1000_close(struct net_device *netdev) | |||
1540 | * @start: address of beginning of memory | 1523 | * @start: address of beginning of memory |
1541 | * @len: length of memory | 1524 | * @len: length of memory |
1542 | **/ | 1525 | **/ |
1543 | static bool | 1526 | static bool e1000_check_64k_bound(struct e1000_adapter *adapter, void *start, |
1544 | e1000_check_64k_bound(struct e1000_adapter *adapter, | 1527 | unsigned long len) |
1545 | void *start, unsigned long len) | ||
1546 | { | 1528 | { |
1547 | unsigned long begin = (unsigned long) start; | 1529 | unsigned long begin = (unsigned long) start; |
1548 | unsigned long end = begin + len; | 1530 | unsigned long end = begin + len; |
@@ -1565,9 +1547,8 @@ e1000_check_64k_bound(struct e1000_adapter *adapter, | |||
1565 | * Return 0 on success, negative on failure | 1547 | * Return 0 on success, negative on failure |
1566 | **/ | 1548 | **/ |
1567 | 1549 | ||
1568 | static int | 1550 | static int e1000_setup_tx_resources(struct e1000_adapter *adapter, |
1569 | e1000_setup_tx_resources(struct e1000_adapter *adapter, | 1551 | struct e1000_tx_ring *txdr) |
1570 | struct e1000_tx_ring *txdr) | ||
1571 | { | 1552 | { |
1572 | struct pci_dev *pdev = adapter->pdev; | 1553 | struct pci_dev *pdev = adapter->pdev; |
1573 | int size; | 1554 | int size; |
@@ -1641,8 +1622,7 @@ setup_tx_desc_die: | |||
1641 | * Return 0 on success, negative on failure | 1622 | * Return 0 on success, negative on failure |
1642 | **/ | 1623 | **/ |
1643 | 1624 | ||
1644 | int | 1625 | int e1000_setup_all_tx_resources(struct e1000_adapter *adapter) |
1645 | e1000_setup_all_tx_resources(struct e1000_adapter *adapter) | ||
1646 | { | 1626 | { |
1647 | int i, err = 0; | 1627 | int i, err = 0; |
1648 | 1628 | ||
@@ -1668,8 +1648,7 @@ e1000_setup_all_tx_resources(struct e1000_adapter *adapter) | |||
1668 | * Configure the Tx unit of the MAC after a reset. | 1648 | * Configure the Tx unit of the MAC after a reset. |
1669 | **/ | 1649 | **/ |
1670 | 1650 | ||
1671 | static void | 1651 | static void e1000_configure_tx(struct e1000_adapter *adapter) |
1672 | e1000_configure_tx(struct e1000_adapter *adapter) | ||
1673 | { | 1652 | { |
1674 | u64 tdba; | 1653 | u64 tdba; |
1675 | struct e1000_hw *hw = &adapter->hw; | 1654 | struct e1000_hw *hw = &adapter->hw; |
@@ -1782,9 +1761,8 @@ e1000_configure_tx(struct e1000_adapter *adapter) | |||
1782 | * Returns 0 on success, negative on failure | 1761 | * Returns 0 on success, negative on failure |
1783 | **/ | 1762 | **/ |
1784 | 1763 | ||
1785 | static int | 1764 | static int e1000_setup_rx_resources(struct e1000_adapter *adapter, |
1786 | e1000_setup_rx_resources(struct e1000_adapter *adapter, | 1765 | struct e1000_rx_ring *rxdr) |
1787 | struct e1000_rx_ring *rxdr) | ||
1788 | { | 1766 | { |
1789 | struct pci_dev *pdev = adapter->pdev; | 1767 | struct pci_dev *pdev = adapter->pdev; |
1790 | int size, desc_len; | 1768 | int size, desc_len; |
@@ -1887,8 +1865,7 @@ setup_rx_desc_die: | |||
1887 | * Return 0 on success, negative on failure | 1865 | * Return 0 on success, negative on failure |
1888 | **/ | 1866 | **/ |
1889 | 1867 | ||
1890 | int | 1868 | int e1000_setup_all_rx_resources(struct e1000_adapter *adapter) |
1891 | e1000_setup_all_rx_resources(struct e1000_adapter *adapter) | ||
1892 | { | 1869 | { |
1893 | int i, err = 0; | 1870 | int i, err = 0; |
1894 | 1871 | ||
@@ -1913,8 +1890,7 @@ e1000_setup_all_rx_resources(struct e1000_adapter *adapter) | |||
1913 | **/ | 1890 | **/ |
1914 | #define PAGE_USE_COUNT(S) (((S) >> PAGE_SHIFT) + \ | 1891 | #define PAGE_USE_COUNT(S) (((S) >> PAGE_SHIFT) + \ |
1915 | (((S) & (PAGE_SIZE - 1)) ? 1 : 0)) | 1892 | (((S) & (PAGE_SIZE - 1)) ? 1 : 0)) |
1916 | static void | 1893 | static void e1000_setup_rctl(struct e1000_adapter *adapter) |
1917 | e1000_setup_rctl(struct e1000_adapter *adapter) | ||
1918 | { | 1894 | { |
1919 | u32 rctl, rfctl; | 1895 | u32 rctl, rfctl; |
1920 | u32 psrctl = 0; | 1896 | u32 psrctl = 0; |
@@ -2031,8 +2007,7 @@ e1000_setup_rctl(struct e1000_adapter *adapter) | |||
2031 | * Configure the Rx unit of the MAC after a reset. | 2007 | * Configure the Rx unit of the MAC after a reset. |
2032 | **/ | 2008 | **/ |
2033 | 2009 | ||
2034 | static void | 2010 | static void e1000_configure_rx(struct e1000_adapter *adapter) |
2035 | e1000_configure_rx(struct e1000_adapter *adapter) | ||
2036 | { | 2011 | { |
2037 | u64 rdba; | 2012 | u64 rdba; |
2038 | struct e1000_hw *hw = &adapter->hw; | 2013 | struct e1000_hw *hw = &adapter->hw; |
@@ -2131,9 +2106,8 @@ e1000_configure_rx(struct e1000_adapter *adapter) | |||
2131 | * Free all transmit software resources | 2106 | * Free all transmit software resources |
2132 | **/ | 2107 | **/ |
2133 | 2108 | ||
2134 | static void | 2109 | static void e1000_free_tx_resources(struct e1000_adapter *adapter, |
2135 | e1000_free_tx_resources(struct e1000_adapter *adapter, | 2110 | struct e1000_tx_ring *tx_ring) |
2136 | struct e1000_tx_ring *tx_ring) | ||
2137 | { | 2111 | { |
2138 | struct pci_dev *pdev = adapter->pdev; | 2112 | struct pci_dev *pdev = adapter->pdev; |
2139 | 2113 | ||
@@ -2154,8 +2128,7 @@ e1000_free_tx_resources(struct e1000_adapter *adapter, | |||
2154 | * Free all transmit software resources | 2128 | * Free all transmit software resources |
2155 | **/ | 2129 | **/ |
2156 | 2130 | ||
2157 | void | 2131 | void e1000_free_all_tx_resources(struct e1000_adapter *adapter) |
2158 | e1000_free_all_tx_resources(struct e1000_adapter *adapter) | ||
2159 | { | 2132 | { |
2160 | int i; | 2133 | int i; |
2161 | 2134 | ||
@@ -2163,9 +2136,8 @@ e1000_free_all_tx_resources(struct e1000_adapter *adapter) | |||
2163 | e1000_free_tx_resources(adapter, &adapter->tx_ring[i]); | 2136 | e1000_free_tx_resources(adapter, &adapter->tx_ring[i]); |
2164 | } | 2137 | } |
2165 | 2138 | ||
2166 | static void | 2139 | static void e1000_unmap_and_free_tx_resource(struct e1000_adapter *adapter, |
2167 | e1000_unmap_and_free_tx_resource(struct e1000_adapter *adapter, | 2140 | struct e1000_buffer *buffer_info) |
2168 | struct e1000_buffer *buffer_info) | ||
2169 | { | 2141 | { |
2170 | if (buffer_info->dma) { | 2142 | if (buffer_info->dma) { |
2171 | pci_unmap_page(adapter->pdev, | 2143 | pci_unmap_page(adapter->pdev, |
@@ -2187,9 +2159,8 @@ e1000_unmap_and_free_tx_resource(struct e1000_adapter *adapter, | |||
2187 | * @tx_ring: ring to be cleaned | 2159 | * @tx_ring: ring to be cleaned |
2188 | **/ | 2160 | **/ |
2189 | 2161 | ||
2190 | static void | 2162 | static void e1000_clean_tx_ring(struct e1000_adapter *adapter, |
2191 | e1000_clean_tx_ring(struct e1000_adapter *adapter, | 2163 | struct e1000_tx_ring *tx_ring) |
2192 | struct e1000_tx_ring *tx_ring) | ||
2193 | { | 2164 | { |
2194 | struct e1000_buffer *buffer_info; | 2165 | struct e1000_buffer *buffer_info; |
2195 | unsigned long size; | 2166 | unsigned long size; |
@@ -2222,8 +2193,7 @@ e1000_clean_tx_ring(struct e1000_adapter *adapter, | |||
2222 | * @adapter: board private structure | 2193 | * @adapter: board private structure |
2223 | **/ | 2194 | **/ |
2224 | 2195 | ||
2225 | static void | 2196 | static void e1000_clean_all_tx_rings(struct e1000_adapter *adapter) |
2226 | e1000_clean_all_tx_rings(struct e1000_adapter *adapter) | ||
2227 | { | 2197 | { |
2228 | int i; | 2198 | int i; |
2229 | 2199 | ||
@@ -2239,9 +2209,8 @@ e1000_clean_all_tx_rings(struct e1000_adapter *adapter) | |||
2239 | * Free all receive software resources | 2209 | * Free all receive software resources |
2240 | **/ | 2210 | **/ |
2241 | 2211 | ||
2242 | static void | 2212 | static void e1000_free_rx_resources(struct e1000_adapter *adapter, |
2243 | e1000_free_rx_resources(struct e1000_adapter *adapter, | 2213 | struct e1000_rx_ring *rx_ring) |
2244 | struct e1000_rx_ring *rx_ring) | ||
2245 | { | 2214 | { |
2246 | struct pci_dev *pdev = adapter->pdev; | 2215 | struct pci_dev *pdev = adapter->pdev; |
2247 | 2216 | ||
@@ -2266,8 +2235,7 @@ e1000_free_rx_resources(struct e1000_adapter *adapter, | |||
2266 | * Free all receive software resources | 2235 | * Free all receive software resources |
2267 | **/ | 2236 | **/ |
2268 | 2237 | ||
2269 | void | 2238 | void e1000_free_all_rx_resources(struct e1000_adapter *adapter) |
2270 | e1000_free_all_rx_resources(struct e1000_adapter *adapter) | ||
2271 | { | 2239 | { |
2272 | int i; | 2240 | int i; |
2273 | 2241 | ||
@@ -2281,9 +2249,8 @@ e1000_free_all_rx_resources(struct e1000_adapter *adapter) | |||
2281 | * @rx_ring: ring to free buffers from | 2249 | * @rx_ring: ring to free buffers from |
2282 | **/ | 2250 | **/ |
2283 | 2251 | ||
2284 | static void | 2252 | static void e1000_clean_rx_ring(struct e1000_adapter *adapter, |
2285 | e1000_clean_rx_ring(struct e1000_adapter *adapter, | 2253 | struct e1000_rx_ring *rx_ring) |
2286 | struct e1000_rx_ring *rx_ring) | ||
2287 | { | 2254 | { |
2288 | struct e1000_buffer *buffer_info; | 2255 | struct e1000_buffer *buffer_info; |
2289 | struct e1000_ps_page *ps_page; | 2256 | struct e1000_ps_page *ps_page; |
@@ -2340,8 +2307,7 @@ e1000_clean_rx_ring(struct e1000_adapter *adapter, | |||
2340 | * @adapter: board private structure | 2307 | * @adapter: board private structure |
2341 | **/ | 2308 | **/ |
2342 | 2309 | ||
2343 | static void | 2310 | static void e1000_clean_all_rx_rings(struct e1000_adapter *adapter) |
2344 | e1000_clean_all_rx_rings(struct e1000_adapter *adapter) | ||
2345 | { | 2311 | { |
2346 | int i; | 2312 | int i; |
2347 | 2313 | ||
@@ -2352,8 +2318,7 @@ e1000_clean_all_rx_rings(struct e1000_adapter *adapter) | |||
2352 | /* The 82542 2.0 (revision 2) needs to have the receive unit in reset | 2318 | /* The 82542 2.0 (revision 2) needs to have the receive unit in reset |
2353 | * and memory write and invalidate disabled for certain operations | 2319 | * and memory write and invalidate disabled for certain operations |
2354 | */ | 2320 | */ |
2355 | static void | 2321 | static void e1000_enter_82542_rst(struct e1000_adapter *adapter) |
2356 | e1000_enter_82542_rst(struct e1000_adapter *adapter) | ||
2357 | { | 2322 | { |
2358 | struct net_device *netdev = adapter->netdev; | 2323 | struct net_device *netdev = adapter->netdev; |
2359 | u32 rctl; | 2324 | u32 rctl; |
@@ -2370,8 +2335,7 @@ e1000_enter_82542_rst(struct e1000_adapter *adapter) | |||
2370 | e1000_clean_all_rx_rings(adapter); | 2335 | e1000_clean_all_rx_rings(adapter); |
2371 | } | 2336 | } |
2372 | 2337 | ||
2373 | static void | 2338 | static void e1000_leave_82542_rst(struct e1000_adapter *adapter) |
2374 | e1000_leave_82542_rst(struct e1000_adapter *adapter) | ||
2375 | { | 2339 | { |
2376 | struct net_device *netdev = adapter->netdev; | 2340 | struct net_device *netdev = adapter->netdev; |
2377 | u32 rctl; | 2341 | u32 rctl; |
@@ -2401,8 +2365,7 @@ e1000_leave_82542_rst(struct e1000_adapter *adapter) | |||
2401 | * Returns 0 on success, negative on failure | 2365 | * Returns 0 on success, negative on failure |
2402 | **/ | 2366 | **/ |
2403 | 2367 | ||
2404 | static int | 2368 | static int e1000_set_mac(struct net_device *netdev, void *p) |
2405 | e1000_set_mac(struct net_device *netdev, void *p) | ||
2406 | { | 2369 | { |
2407 | struct e1000_adapter *adapter = netdev_priv(netdev); | 2370 | struct e1000_adapter *adapter = netdev_priv(netdev); |
2408 | struct sockaddr *addr = p; | 2371 | struct sockaddr *addr = p; |
@@ -2452,8 +2415,7 @@ e1000_set_mac(struct net_device *netdev, void *p) | |||
2452 | * promiscuous mode, and all-multi behavior. | 2415 | * promiscuous mode, and all-multi behavior. |
2453 | **/ | 2416 | **/ |
2454 | 2417 | ||
2455 | static void | 2418 | static void e1000_set_rx_mode(struct net_device *netdev) |
2456 | e1000_set_rx_mode(struct net_device *netdev) | ||
2457 | { | 2419 | { |
2458 | struct e1000_adapter *adapter = netdev_priv(netdev); | 2420 | struct e1000_adapter *adapter = netdev_priv(netdev); |
2459 | struct e1000_hw *hw = &adapter->hw; | 2421 | struct e1000_hw *hw = &adapter->hw; |
@@ -2552,8 +2514,7 @@ e1000_set_rx_mode(struct net_device *netdev) | |||
2552 | /* Need to wait a few seconds after link up to get diagnostic information from | 2514 | /* Need to wait a few seconds after link up to get diagnostic information from |
2553 | * the phy */ | 2515 | * the phy */ |
2554 | 2516 | ||
2555 | static void | 2517 | static void e1000_update_phy_info(unsigned long data) |
2556 | e1000_update_phy_info(unsigned long data) | ||
2557 | { | 2518 | { |
2558 | struct e1000_adapter *adapter = (struct e1000_adapter *) data; | 2519 | struct e1000_adapter *adapter = (struct e1000_adapter *) data; |
2559 | e1000_phy_get_info(&adapter->hw, &adapter->phy_info); | 2520 | e1000_phy_get_info(&adapter->hw, &adapter->phy_info); |
@@ -2564,8 +2525,7 @@ e1000_update_phy_info(unsigned long data) | |||
2564 | * @data: pointer to adapter cast into an unsigned long | 2525 | * @data: pointer to adapter cast into an unsigned long |
2565 | **/ | 2526 | **/ |
2566 | 2527 | ||
2567 | static void | 2528 | static void e1000_82547_tx_fifo_stall(unsigned long data) |
2568 | e1000_82547_tx_fifo_stall(unsigned long data) | ||
2569 | { | 2529 | { |
2570 | struct e1000_adapter *adapter = (struct e1000_adapter *) data; | 2530 | struct e1000_adapter *adapter = (struct e1000_adapter *) data; |
2571 | struct net_device *netdev = adapter->netdev; | 2531 | struct net_device *netdev = adapter->netdev; |
@@ -2605,8 +2565,7 @@ e1000_82547_tx_fifo_stall(unsigned long data) | |||
2605 | * e1000_watchdog - Timer Call-back | 2565 | * e1000_watchdog - Timer Call-back |
2606 | * @data: pointer to adapter cast into an unsigned long | 2566 | * @data: pointer to adapter cast into an unsigned long |
2607 | **/ | 2567 | **/ |
2608 | static void | 2568 | static void e1000_watchdog(unsigned long data) |
2609 | e1000_watchdog(unsigned long data) | ||
2610 | { | 2569 | { |
2611 | struct e1000_adapter *adapter = (struct e1000_adapter *) data; | 2570 | struct e1000_adapter *adapter = (struct e1000_adapter *) data; |
2612 | struct net_device *netdev = adapter->netdev; | 2571 | struct net_device *netdev = adapter->netdev; |
@@ -2806,9 +2765,7 @@ enum latency_range { | |||
2806 | * @bytes: the number of bytes during this measurement interval | 2765 | * @bytes: the number of bytes during this measurement interval |
2807 | **/ | 2766 | **/ |
2808 | static unsigned int e1000_update_itr(struct e1000_adapter *adapter, | 2767 | static unsigned int e1000_update_itr(struct e1000_adapter *adapter, |
2809 | u16 itr_setting, | 2768 | u16 itr_setting, int packets, int bytes) |
2810 | int packets, | ||
2811 | int bytes) | ||
2812 | { | 2769 | { |
2813 | unsigned int retval = itr_setting; | 2770 | unsigned int retval = itr_setting; |
2814 | struct e1000_hw *hw = &adapter->hw; | 2771 | struct e1000_hw *hw = &adapter->hw; |
@@ -2926,9 +2883,8 @@ set_itr_now: | |||
2926 | #define E1000_TX_FLAGS_VLAN_MASK 0xffff0000 | 2883 | #define E1000_TX_FLAGS_VLAN_MASK 0xffff0000 |
2927 | #define E1000_TX_FLAGS_VLAN_SHIFT 16 | 2884 | #define E1000_TX_FLAGS_VLAN_SHIFT 16 |
2928 | 2885 | ||
2929 | static int | 2886 | static int e1000_tso(struct e1000_adapter *adapter, |
2930 | e1000_tso(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring, | 2887 | struct e1000_tx_ring *tx_ring, struct sk_buff *skb) |
2931 | struct sk_buff *skb) | ||
2932 | { | 2888 | { |
2933 | struct e1000_context_desc *context_desc; | 2889 | struct e1000_context_desc *context_desc; |
2934 | struct e1000_buffer *buffer_info; | 2890 | struct e1000_buffer *buffer_info; |
@@ -2999,9 +2955,8 @@ e1000_tso(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring, | |||
2999 | return false; | 2955 | return false; |
3000 | } | 2956 | } |
3001 | 2957 | ||
3002 | static bool | 2958 | static bool e1000_tx_csum(struct e1000_adapter *adapter, |
3003 | e1000_tx_csum(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring, | 2959 | struct e1000_tx_ring *tx_ring, struct sk_buff *skb) |
3004 | struct sk_buff *skb) | ||
3005 | { | 2960 | { |
3006 | struct e1000_context_desc *context_desc; | 2961 | struct e1000_context_desc *context_desc; |
3007 | struct e1000_buffer *buffer_info; | 2962 | struct e1000_buffer *buffer_info; |
@@ -3038,10 +2993,11 @@ e1000_tx_csum(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring, | |||
3038 | #define E1000_MAX_TXD_PWR 12 | 2993 | #define E1000_MAX_TXD_PWR 12 |
3039 | #define E1000_MAX_DATA_PER_TXD (1<<E1000_MAX_TXD_PWR) | 2994 | #define E1000_MAX_DATA_PER_TXD (1<<E1000_MAX_TXD_PWR) |
3040 | 2995 | ||
3041 | static int | 2996 | static int e1000_tx_map(struct e1000_adapter *adapter, |
3042 | e1000_tx_map(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring, | 2997 | struct e1000_tx_ring *tx_ring, |
3043 | struct sk_buff *skb, unsigned int first, unsigned int max_per_txd, | 2998 | struct sk_buff *skb, unsigned int first, |
3044 | unsigned int nr_frags, unsigned int mss) | 2999 | unsigned int max_per_txd, unsigned int nr_frags, |
3000 | unsigned int mss) | ||
3045 | { | 3001 | { |
3046 | struct e1000_buffer *buffer_info; | 3002 | struct e1000_buffer *buffer_info; |
3047 | unsigned int len = skb->len; | 3003 | unsigned int len = skb->len; |
@@ -3145,9 +3101,9 @@ e1000_tx_map(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring, | |||
3145 | return count; | 3101 | return count; |
3146 | } | 3102 | } |
3147 | 3103 | ||
3148 | static void | 3104 | static void e1000_tx_queue(struct e1000_adapter *adapter, |
3149 | e1000_tx_queue(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring, | 3105 | struct e1000_tx_ring *tx_ring, int tx_flags, |
3150 | int tx_flags, int count) | 3106 | int count) |
3151 | { | 3107 | { |
3152 | struct e1000_tx_desc *tx_desc = NULL; | 3108 | struct e1000_tx_desc *tx_desc = NULL; |
3153 | struct e1000_buffer *buffer_info; | 3109 | struct e1000_buffer *buffer_info; |
@@ -3212,8 +3168,8 @@ e1000_tx_queue(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring, | |||
3212 | #define E1000_FIFO_HDR 0x10 | 3168 | #define E1000_FIFO_HDR 0x10 |
3213 | #define E1000_82547_PAD_LEN 0x3E0 | 3169 | #define E1000_82547_PAD_LEN 0x3E0 |
3214 | 3170 | ||
3215 | static int | 3171 | static int e1000_82547_fifo_workaround(struct e1000_adapter *adapter, |
3216 | e1000_82547_fifo_workaround(struct e1000_adapter *adapter, struct sk_buff *skb) | 3172 | struct sk_buff *skb) |
3217 | { | 3173 | { |
3218 | u32 fifo_space = adapter->tx_fifo_size - adapter->tx_fifo_head; | 3174 | u32 fifo_space = adapter->tx_fifo_size - adapter->tx_fifo_head; |
3219 | u32 skb_fifo_len = skb->len + E1000_FIFO_HDR; | 3175 | u32 skb_fifo_len = skb->len + E1000_FIFO_HDR; |
@@ -3239,8 +3195,8 @@ no_fifo_stall_required: | |||
3239 | } | 3195 | } |
3240 | 3196 | ||
3241 | #define MINIMUM_DHCP_PACKET_SIZE 282 | 3197 | #define MINIMUM_DHCP_PACKET_SIZE 282 |
3242 | static int | 3198 | static int e1000_transfer_dhcp_info(struct e1000_adapter *adapter, |
3243 | e1000_transfer_dhcp_info(struct e1000_adapter *adapter, struct sk_buff *skb) | 3199 | struct sk_buff *skb) |
3244 | { | 3200 | { |
3245 | struct e1000_hw *hw = &adapter->hw; | 3201 | struct e1000_hw *hw = &adapter->hw; |
3246 | u16 length, offset; | 3202 | u16 length, offset; |
@@ -3304,8 +3260,7 @@ static int e1000_maybe_stop_tx(struct net_device *netdev, | |||
3304 | } | 3260 | } |
3305 | 3261 | ||
3306 | #define TXD_USE_COUNT(S, X) (((S) >> (X)) + 1 ) | 3262 | #define TXD_USE_COUNT(S, X) (((S) >> (X)) + 1 ) |
3307 | static int | 3263 | static int e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev) |
3308 | e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | ||
3309 | { | 3264 | { |
3310 | struct e1000_adapter *adapter = netdev_priv(netdev); | 3265 | struct e1000_adapter *adapter = netdev_priv(netdev); |
3311 | struct e1000_tx_ring *tx_ring; | 3266 | struct e1000_tx_ring *tx_ring; |
@@ -3482,8 +3437,7 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | |||
3482 | * @netdev: network interface device structure | 3437 | * @netdev: network interface device structure |
3483 | **/ | 3438 | **/ |
3484 | 3439 | ||
3485 | static void | 3440 | static void e1000_tx_timeout(struct net_device *netdev) |
3486 | e1000_tx_timeout(struct net_device *netdev) | ||
3487 | { | 3441 | { |
3488 | struct e1000_adapter *adapter = netdev_priv(netdev); | 3442 | struct e1000_adapter *adapter = netdev_priv(netdev); |
3489 | 3443 | ||
@@ -3492,8 +3446,7 @@ e1000_tx_timeout(struct net_device *netdev) | |||
3492 | schedule_work(&adapter->reset_task); | 3446 | schedule_work(&adapter->reset_task); |
3493 | } | 3447 | } |
3494 | 3448 | ||
3495 | static void | 3449 | static void e1000_reset_task(struct work_struct *work) |
3496 | e1000_reset_task(struct work_struct *work) | ||
3497 | { | 3450 | { |
3498 | struct e1000_adapter *adapter = | 3451 | struct e1000_adapter *adapter = |
3499 | container_of(work, struct e1000_adapter, reset_task); | 3452 | container_of(work, struct e1000_adapter, reset_task); |
@@ -3509,8 +3462,7 @@ e1000_reset_task(struct work_struct *work) | |||
3509 | * The statistics are actually updated from the timer callback. | 3462 | * The statistics are actually updated from the timer callback. |
3510 | **/ | 3463 | **/ |
3511 | 3464 | ||
3512 | static struct net_device_stats * | 3465 | static struct net_device_stats *e1000_get_stats(struct net_device *netdev) |
3513 | e1000_get_stats(struct net_device *netdev) | ||
3514 | { | 3466 | { |
3515 | struct e1000_adapter *adapter = netdev_priv(netdev); | 3467 | struct e1000_adapter *adapter = netdev_priv(netdev); |
3516 | 3468 | ||
@@ -3526,8 +3478,7 @@ e1000_get_stats(struct net_device *netdev) | |||
3526 | * Returns 0 on success, negative on failure | 3478 | * Returns 0 on success, negative on failure |
3527 | **/ | 3479 | **/ |
3528 | 3480 | ||
3529 | static int | 3481 | static int e1000_change_mtu(struct net_device *netdev, int new_mtu) |
3530 | e1000_change_mtu(struct net_device *netdev, int new_mtu) | ||
3531 | { | 3482 | { |
3532 | struct e1000_adapter *adapter = netdev_priv(netdev); | 3483 | struct e1000_adapter *adapter = netdev_priv(netdev); |
3533 | int max_frame = new_mtu + ENET_HEADER_SIZE + ETHERNET_FCS_SIZE; | 3484 | int max_frame = new_mtu + ENET_HEADER_SIZE + ETHERNET_FCS_SIZE; |
@@ -3620,8 +3571,7 @@ e1000_change_mtu(struct net_device *netdev, int new_mtu) | |||
3620 | * @adapter: board private structure | 3571 | * @adapter: board private structure |
3621 | **/ | 3572 | **/ |
3622 | 3573 | ||
3623 | void | 3574 | void e1000_update_stats(struct e1000_adapter *adapter) |
3624 | e1000_update_stats(struct e1000_adapter *adapter) | ||
3625 | { | 3575 | { |
3626 | struct e1000_hw *hw = &adapter->hw; | 3576 | struct e1000_hw *hw = &adapter->hw; |
3627 | struct pci_dev *pdev = adapter->pdev; | 3577 | struct pci_dev *pdev = adapter->pdev; |
@@ -3794,8 +3744,7 @@ e1000_update_stats(struct e1000_adapter *adapter) | |||
3794 | * @data: pointer to a network interface device structure | 3744 | * @data: pointer to a network interface device structure |
3795 | **/ | 3745 | **/ |
3796 | 3746 | ||
3797 | static irqreturn_t | 3747 | static irqreturn_t e1000_intr_msi(int irq, void *data) |
3798 | e1000_intr_msi(int irq, void *data) | ||
3799 | { | 3748 | { |
3800 | struct net_device *netdev = data; | 3749 | struct net_device *netdev = data; |
3801 | struct e1000_adapter *adapter = netdev_priv(netdev); | 3750 | struct e1000_adapter *adapter = netdev_priv(netdev); |
@@ -3856,8 +3805,7 @@ e1000_intr_msi(int irq, void *data) | |||
3856 | * @data: pointer to a network interface device structure | 3805 | * @data: pointer to a network interface device structure |
3857 | **/ | 3806 | **/ |
3858 | 3807 | ||
3859 | static irqreturn_t | 3808 | static irqreturn_t e1000_intr(int irq, void *data) |
3860 | e1000_intr(int irq, void *data) | ||
3861 | { | 3809 | { |
3862 | struct net_device *netdev = data; | 3810 | struct net_device *netdev = data; |
3863 | struct e1000_adapter *adapter = netdev_priv(netdev); | 3811 | struct e1000_adapter *adapter = netdev_priv(netdev); |
@@ -3954,8 +3902,7 @@ e1000_intr(int irq, void *data) | |||
3954 | * @adapter: board private structure | 3902 | * @adapter: board private structure |
3955 | **/ | 3903 | **/ |
3956 | 3904 | ||
3957 | static int | 3905 | static int e1000_clean(struct napi_struct *napi, int budget) |
3958 | e1000_clean(struct napi_struct *napi, int budget) | ||
3959 | { | 3906 | { |
3960 | struct e1000_adapter *adapter = container_of(napi, struct e1000_adapter, napi); | 3907 | struct e1000_adapter *adapter = container_of(napi, struct e1000_adapter, napi); |
3961 | struct net_device *poll_dev = adapter->netdev; | 3908 | struct net_device *poll_dev = adapter->netdev; |
@@ -3997,9 +3944,8 @@ e1000_clean(struct napi_struct *napi, int budget) | |||
3997 | * @adapter: board private structure | 3944 | * @adapter: board private structure |
3998 | **/ | 3945 | **/ |
3999 | 3946 | ||
4000 | static bool | 3947 | static bool e1000_clean_tx_irq(struct e1000_adapter *adapter, |
4001 | e1000_clean_tx_irq(struct e1000_adapter *adapter, | 3948 | struct e1000_tx_ring *tx_ring) |
4002 | struct e1000_tx_ring *tx_ring) | ||
4003 | { | 3949 | { |
4004 | struct net_device *netdev = adapter->netdev; | 3950 | struct net_device *netdev = adapter->netdev; |
4005 | struct e1000_tx_desc *tx_desc, *eop_desc; | 3951 | struct e1000_tx_desc *tx_desc, *eop_desc; |
@@ -4111,10 +4057,8 @@ e1000_clean_tx_irq(struct e1000_adapter *adapter, | |||
4111 | * @sk_buff: socket buffer with received data | 4057 | * @sk_buff: socket buffer with received data |
4112 | **/ | 4058 | **/ |
4113 | 4059 | ||
4114 | static void | 4060 | static void e1000_rx_checksum(struct e1000_adapter *adapter, u32 status_err, |
4115 | e1000_rx_checksum(struct e1000_adapter *adapter, | 4061 | u32 csum, struct sk_buff *skb) |
4116 | u32 status_err, u32 csum, | ||
4117 | struct sk_buff *skb) | ||
4118 | { | 4062 | { |
4119 | u16 status = (u16)status_err; | 4063 | u16 status = (u16)status_err; |
4120 | u8 errors = (u8)(status_err >> 24); | 4064 | u8 errors = (u8)(status_err >> 24); |
@@ -4158,15 +4102,13 @@ e1000_rx_checksum(struct e1000_adapter *adapter, | |||
4158 | * e1000_clean_rx_irq - Send received data up the network stack; legacy | 4102 | * e1000_clean_rx_irq - Send received data up the network stack; legacy |
4159 | * @adapter: board private structure | 4103 | * @adapter: board private structure |
4160 | **/ | 4104 | **/ |
4161 | |||
4162 | static bool | ||
4163 | #ifdef CONFIG_E1000_NAPI | 4105 | #ifdef CONFIG_E1000_NAPI |
4164 | e1000_clean_rx_irq(struct e1000_adapter *adapter, | 4106 | static bool e1000_clean_rx_irq(struct e1000_adapter *adapter, |
4165 | struct e1000_rx_ring *rx_ring, | 4107 | struct e1000_rx_ring *rx_ring, |
4166 | int *work_done, int work_to_do) | 4108 | int *work_done, int work_to_do) |
4167 | #else | 4109 | #else |
4168 | e1000_clean_rx_irq(struct e1000_adapter *adapter, | 4110 | static bool e1000_clean_rx_irq(struct e1000_adapter *adapter, |
4169 | struct e1000_rx_ring *rx_ring) | 4111 | struct e1000_rx_ring *rx_ring) |
4170 | #endif | 4112 | #endif |
4171 | { | 4113 | { |
4172 | struct net_device *netdev = adapter->netdev; | 4114 | struct net_device *netdev = adapter->netdev; |
@@ -4330,14 +4272,13 @@ next_desc: | |||
4330 | * @adapter: board private structure | 4272 | * @adapter: board private structure |
4331 | **/ | 4273 | **/ |
4332 | 4274 | ||
4333 | static bool | ||
4334 | #ifdef CONFIG_E1000_NAPI | 4275 | #ifdef CONFIG_E1000_NAPI |
4335 | e1000_clean_rx_irq_ps(struct e1000_adapter *adapter, | 4276 | static bool e1000_clean_rx_irq_ps(struct e1000_adapter *adapter, |
4336 | struct e1000_rx_ring *rx_ring, | 4277 | struct e1000_rx_ring *rx_ring, |
4337 | int *work_done, int work_to_do) | 4278 | int *work_done, int work_to_do) |
4338 | #else | 4279 | #else |
4339 | e1000_clean_rx_irq_ps(struct e1000_adapter *adapter, | 4280 | static bool e1000_clean_rx_irq_ps(struct e1000_adapter *adapter, |
4340 | struct e1000_rx_ring *rx_ring) | 4281 | struct e1000_rx_ring *rx_ring) |
4341 | #endif | 4282 | #endif |
4342 | { | 4283 | { |
4343 | union e1000_rx_desc_packet_split *rx_desc, *next_rxd; | 4284 | union e1000_rx_desc_packet_split *rx_desc, *next_rxd; |
@@ -4517,10 +4458,9 @@ next_desc: | |||
4517 | * @adapter: address of board private structure | 4458 | * @adapter: address of board private structure |
4518 | **/ | 4459 | **/ |
4519 | 4460 | ||
4520 | static void | 4461 | static void e1000_alloc_rx_buffers(struct e1000_adapter *adapter, |
4521 | e1000_alloc_rx_buffers(struct e1000_adapter *adapter, | 4462 | struct e1000_rx_ring *rx_ring, |
4522 | struct e1000_rx_ring *rx_ring, | 4463 | int cleaned_count) |
4523 | int cleaned_count) | ||
4524 | { | 4464 | { |
4525 | struct net_device *netdev = adapter->netdev; | 4465 | struct net_device *netdev = adapter->netdev; |
4526 | struct pci_dev *pdev = adapter->pdev; | 4466 | struct pci_dev *pdev = adapter->pdev; |
@@ -4628,10 +4568,9 @@ map_skb: | |||
4628 | * @adapter: address of board private structure | 4568 | * @adapter: address of board private structure |
4629 | **/ | 4569 | **/ |
4630 | 4570 | ||
4631 | static void | 4571 | static void e1000_alloc_rx_buffers_ps(struct e1000_adapter *adapter, |
4632 | e1000_alloc_rx_buffers_ps(struct e1000_adapter *adapter, | 4572 | struct e1000_rx_ring *rx_ring, |
4633 | struct e1000_rx_ring *rx_ring, | 4573 | int cleaned_count) |
4634 | int cleaned_count) | ||
4635 | { | 4574 | { |
4636 | struct net_device *netdev = adapter->netdev; | 4575 | struct net_device *netdev = adapter->netdev; |
4637 | struct pci_dev *pdev = adapter->pdev; | 4576 | struct pci_dev *pdev = adapter->pdev; |
@@ -4726,8 +4665,7 @@ no_buffers: | |||
4726 | * @adapter: | 4665 | * @adapter: |
4727 | **/ | 4666 | **/ |
4728 | 4667 | ||
4729 | static void | 4668 | static void e1000_smartspeed(struct e1000_adapter *adapter) |
4730 | e1000_smartspeed(struct e1000_adapter *adapter) | ||
4731 | { | 4669 | { |
4732 | u16 phy_status; | 4670 | u16 phy_status; |
4733 | u16 phy_ctrl; | 4671 | u16 phy_ctrl; |
@@ -4783,8 +4721,7 @@ e1000_smartspeed(struct e1000_adapter *adapter) | |||
4783 | * @cmd: | 4721 | * @cmd: |
4784 | **/ | 4722 | **/ |
4785 | 4723 | ||
4786 | static int | 4724 | static int e1000_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) |
4787 | e1000_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) | ||
4788 | { | 4725 | { |
4789 | switch (cmd) { | 4726 | switch (cmd) { |
4790 | case SIOCGMIIPHY: | 4727 | case SIOCGMIIPHY: |
@@ -4803,8 +4740,8 @@ e1000_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) | |||
4803 | * @cmd: | 4740 | * @cmd: |
4804 | **/ | 4741 | **/ |
4805 | 4742 | ||
4806 | static int | 4743 | static int e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, |
4807 | e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) | 4744 | int cmd) |
4808 | { | 4745 | { |
4809 | struct e1000_adapter *adapter = netdev_priv(netdev); | 4746 | struct e1000_adapter *adapter = netdev_priv(netdev); |
4810 | struct mii_ioctl_data *data = if_mii(ifr); | 4747 | struct mii_ioctl_data *data = if_mii(ifr); |
@@ -4897,8 +4834,7 @@ e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) | |||
4897 | return E1000_SUCCESS; | 4834 | return E1000_SUCCESS; |
4898 | } | 4835 | } |
4899 | 4836 | ||
4900 | void | 4837 | void e1000_pci_set_mwi(struct e1000_hw *hw) |
4901 | e1000_pci_set_mwi(struct e1000_hw *hw) | ||
4902 | { | 4838 | { |
4903 | struct e1000_adapter *adapter = hw->back; | 4839 | struct e1000_adapter *adapter = hw->back; |
4904 | int ret_val = pci_set_mwi(adapter->pdev); | 4840 | int ret_val = pci_set_mwi(adapter->pdev); |
@@ -4907,30 +4843,26 @@ e1000_pci_set_mwi(struct e1000_hw *hw) | |||
4907 | DPRINTK(PROBE, ERR, "Error in setting MWI\n"); | 4843 | DPRINTK(PROBE, ERR, "Error in setting MWI\n"); |
4908 | } | 4844 | } |
4909 | 4845 | ||
4910 | void | 4846 | void e1000_pci_clear_mwi(struct e1000_hw *hw) |
4911 | e1000_pci_clear_mwi(struct e1000_hw *hw) | ||
4912 | { | 4847 | { |
4913 | struct e1000_adapter *adapter = hw->back; | 4848 | struct e1000_adapter *adapter = hw->back; |
4914 | 4849 | ||
4915 | pci_clear_mwi(adapter->pdev); | 4850 | pci_clear_mwi(adapter->pdev); |
4916 | } | 4851 | } |
4917 | 4852 | ||
4918 | int | 4853 | int e1000_pcix_get_mmrbc(struct e1000_hw *hw) |
4919 | e1000_pcix_get_mmrbc(struct e1000_hw *hw) | ||
4920 | { | 4854 | { |
4921 | struct e1000_adapter *adapter = hw->back; | 4855 | struct e1000_adapter *adapter = hw->back; |
4922 | return pcix_get_mmrbc(adapter->pdev); | 4856 | return pcix_get_mmrbc(adapter->pdev); |
4923 | } | 4857 | } |
4924 | 4858 | ||
4925 | void | 4859 | void e1000_pcix_set_mmrbc(struct e1000_hw *hw, int mmrbc) |
4926 | e1000_pcix_set_mmrbc(struct e1000_hw *hw, int mmrbc) | ||
4927 | { | 4860 | { |
4928 | struct e1000_adapter *adapter = hw->back; | 4861 | struct e1000_adapter *adapter = hw->back; |
4929 | pcix_set_mmrbc(adapter->pdev, mmrbc); | 4862 | pcix_set_mmrbc(adapter->pdev, mmrbc); |
4930 | } | 4863 | } |
4931 | 4864 | ||
4932 | s32 | 4865 | s32 e1000_read_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value) |
4933 | e1000_read_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value) | ||
4934 | { | 4866 | { |
4935 | struct e1000_adapter *adapter = hw->back; | 4867 | struct e1000_adapter *adapter = hw->back; |
4936 | u16 cap_offset; | 4868 | u16 cap_offset; |
@@ -4944,14 +4876,13 @@ e1000_read_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value) | |||
4944 | return E1000_SUCCESS; | 4876 | return E1000_SUCCESS; |
4945 | } | 4877 | } |
4946 | 4878 | ||
4947 | void | 4879 | void e1000_io_write(struct e1000_hw *hw, unsigned long port, u32 value) |
4948 | e1000_io_write(struct e1000_hw *hw, unsigned long port, u32 value) | ||
4949 | { | 4880 | { |
4950 | outl(value, port); | 4881 | outl(value, port); |
4951 | } | 4882 | } |
4952 | 4883 | ||
4953 | static void | 4884 | static void e1000_vlan_rx_register(struct net_device *netdev, |
4954 | e1000_vlan_rx_register(struct net_device *netdev, struct vlan_group *grp) | 4885 | struct vlan_group *grp) |
4955 | { | 4886 | { |
4956 | struct e1000_adapter *adapter = netdev_priv(netdev); | 4887 | struct e1000_adapter *adapter = netdev_priv(netdev); |
4957 | u32 ctrl, rctl; | 4888 | u32 ctrl, rctl; |
@@ -4993,8 +4924,7 @@ e1000_vlan_rx_register(struct net_device *netdev, struct vlan_group *grp) | |||
4993 | e1000_irq_enable(adapter); | 4924 | e1000_irq_enable(adapter); |
4994 | } | 4925 | } |
4995 | 4926 | ||
4996 | static void | 4927 | static void e1000_vlan_rx_add_vid(struct net_device *netdev, u16 vid) |
4997 | e1000_vlan_rx_add_vid(struct net_device *netdev, u16 vid) | ||
4998 | { | 4928 | { |
4999 | struct e1000_adapter *adapter = netdev_priv(netdev); | 4929 | struct e1000_adapter *adapter = netdev_priv(netdev); |
5000 | u32 vfta, index; | 4930 | u32 vfta, index; |
@@ -5010,8 +4940,7 @@ e1000_vlan_rx_add_vid(struct net_device *netdev, u16 vid) | |||
5010 | e1000_write_vfta(&adapter->hw, index, vfta); | 4940 | e1000_write_vfta(&adapter->hw, index, vfta); |
5011 | } | 4941 | } |
5012 | 4942 | ||
5013 | static void | 4943 | static void e1000_vlan_rx_kill_vid(struct net_device *netdev, u16 vid) |
5014 | e1000_vlan_rx_kill_vid(struct net_device *netdev, u16 vid) | ||
5015 | { | 4944 | { |
5016 | struct e1000_adapter *adapter = netdev_priv(netdev); | 4945 | struct e1000_adapter *adapter = netdev_priv(netdev); |
5017 | u32 vfta, index; | 4946 | u32 vfta, index; |
@@ -5037,8 +4966,7 @@ e1000_vlan_rx_kill_vid(struct net_device *netdev, u16 vid) | |||
5037 | e1000_write_vfta(&adapter->hw, index, vfta); | 4966 | e1000_write_vfta(&adapter->hw, index, vfta); |
5038 | } | 4967 | } |
5039 | 4968 | ||
5040 | static void | 4969 | static void e1000_restore_vlan(struct e1000_adapter *adapter) |
5041 | e1000_restore_vlan(struct e1000_adapter *adapter) | ||
5042 | { | 4970 | { |
5043 | e1000_vlan_rx_register(adapter->netdev, adapter->vlgrp); | 4971 | e1000_vlan_rx_register(adapter->netdev, adapter->vlgrp); |
5044 | 4972 | ||
@@ -5052,8 +4980,7 @@ e1000_restore_vlan(struct e1000_adapter *adapter) | |||
5052 | } | 4980 | } |
5053 | } | 4981 | } |
5054 | 4982 | ||
5055 | int | 4983 | int e1000_set_spd_dplx(struct e1000_adapter *adapter, u16 spddplx) |
5056 | e1000_set_spd_dplx(struct e1000_adapter *adapter, u16 spddplx) | ||
5057 | { | 4984 | { |
5058 | adapter->hw.autoneg = 0; | 4985 | adapter->hw.autoneg = 0; |
5059 | 4986 | ||
@@ -5089,8 +5016,7 @@ e1000_set_spd_dplx(struct e1000_adapter *adapter, u16 spddplx) | |||
5089 | return 0; | 5016 | return 0; |
5090 | } | 5017 | } |
5091 | 5018 | ||
5092 | static int | 5019 | static int e1000_suspend(struct pci_dev *pdev, pm_message_t state) |
5093 | e1000_suspend(struct pci_dev *pdev, pm_message_t state) | ||
5094 | { | 5020 | { |
5095 | struct net_device *netdev = pci_get_drvdata(pdev); | 5021 | struct net_device *netdev = pci_get_drvdata(pdev); |
5096 | struct e1000_adapter *adapter = netdev_priv(netdev); | 5022 | struct e1000_adapter *adapter = netdev_priv(netdev); |
@@ -5187,8 +5113,7 @@ e1000_suspend(struct pci_dev *pdev, pm_message_t state) | |||
5187 | } | 5113 | } |
5188 | 5114 | ||
5189 | #ifdef CONFIG_PM | 5115 | #ifdef CONFIG_PM |
5190 | static int | 5116 | static int e1000_resume(struct pci_dev *pdev) |
5191 | e1000_resume(struct pci_dev *pdev) | ||
5192 | { | 5117 | { |
5193 | struct net_device *netdev = pci_get_drvdata(pdev); | 5118 | struct net_device *netdev = pci_get_drvdata(pdev); |
5194 | struct e1000_adapter *adapter = netdev_priv(netdev); | 5119 | struct e1000_adapter *adapter = netdev_priv(netdev); |
@@ -5242,8 +5167,7 @@ static void e1000_shutdown(struct pci_dev *pdev) | |||
5242 | * without having to re-enable interrupts. It's not called while | 5167 | * without having to re-enable interrupts. It's not called while |
5243 | * the interrupt routine is executing. | 5168 | * the interrupt routine is executing. |
5244 | */ | 5169 | */ |
5245 | static void | 5170 | static void e1000_netpoll(struct net_device *netdev) |
5246 | e1000_netpoll(struct net_device *netdev) | ||
5247 | { | 5171 | { |
5248 | struct e1000_adapter *adapter = netdev_priv(netdev); | 5172 | struct e1000_adapter *adapter = netdev_priv(netdev); |
5249 | 5173 | ||
@@ -5264,7 +5188,8 @@ e1000_netpoll(struct net_device *netdev) | |||
5264 | * This function is called after a PCI bus error affecting | 5188 | * This function is called after a PCI bus error affecting |
5265 | * this device has been detected. | 5189 | * this device has been detected. |
5266 | */ | 5190 | */ |
5267 | static pci_ers_result_t e1000_io_error_detected(struct pci_dev *pdev, pci_channel_state_t state) | 5191 | static pci_ers_result_t e1000_io_error_detected(struct pci_dev *pdev, |
5192 | pci_channel_state_t state) | ||
5268 | { | 5193 | { |
5269 | struct net_device *netdev = pci_get_drvdata(pdev); | 5194 | struct net_device *netdev = pci_get_drvdata(pdev); |
5270 | struct e1000_adapter *adapter = netdev->priv; | 5195 | struct e1000_adapter *adapter = netdev->priv; |
diff --git a/drivers/net/e1000/e1000_param.c b/drivers/net/e1000/e1000_param.c index e6565ce686bc..b9f90a5d3d4d 100644 --- a/drivers/net/e1000/e1000_param.c +++ b/drivers/net/e1000/e1000_param.c | |||
@@ -213,10 +213,9 @@ struct e1000_option { | |||
213 | } arg; | 213 | } arg; |
214 | }; | 214 | }; |
215 | 215 | ||
216 | static int __devinit | 216 | static int __devinit e1000_validate_option(unsigned int *value, |
217 | e1000_validate_option(unsigned int *value, | 217 | const struct e1000_option *opt, |
218 | const struct e1000_option *opt, | 218 | struct e1000_adapter *adapter) |
219 | struct e1000_adapter *adapter) | ||
220 | { | 219 | { |
221 | if (*value == OPTION_UNSET) { | 220 | if (*value == OPTION_UNSET) { |
222 | *value = opt->def; | 221 | *value = opt->def; |
@@ -278,8 +277,7 @@ static void e1000_check_copper_options(struct e1000_adapter *adapter); | |||
278 | * in a variable in the adapter structure. | 277 | * in a variable in the adapter structure. |
279 | **/ | 278 | **/ |
280 | 279 | ||
281 | void __devinit | 280 | void __devinit e1000_check_options(struct e1000_adapter *adapter) |
282 | e1000_check_options(struct e1000_adapter *adapter) | ||
283 | { | 281 | { |
284 | int bd = adapter->bd_number; | 282 | int bd = adapter->bd_number; |
285 | if (bd >= E1000_MAX_NIC) { | 283 | if (bd >= E1000_MAX_NIC) { |
@@ -551,8 +549,7 @@ e1000_check_options(struct e1000_adapter *adapter) | |||
551 | * Handles speed and duplex options on fiber adapters | 549 | * Handles speed and duplex options on fiber adapters |
552 | **/ | 550 | **/ |
553 | 551 | ||
554 | static void __devinit | 552 | static void __devinit e1000_check_fiber_options(struct e1000_adapter *adapter) |
555 | e1000_check_fiber_options(struct e1000_adapter *adapter) | ||
556 | { | 553 | { |
557 | int bd = adapter->bd_number; | 554 | int bd = adapter->bd_number; |
558 | if (num_Speed > bd) { | 555 | if (num_Speed > bd) { |
@@ -579,8 +576,7 @@ e1000_check_fiber_options(struct e1000_adapter *adapter) | |||
579 | * Handles speed and duplex options on copper adapters | 576 | * Handles speed and duplex options on copper adapters |
580 | **/ | 577 | **/ |
581 | 578 | ||
582 | static void __devinit | 579 | static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter) |
583 | e1000_check_copper_options(struct e1000_adapter *adapter) | ||
584 | { | 580 | { |
585 | unsigned int speed, dplx, an; | 581 | unsigned int speed, dplx, an; |
586 | int bd = adapter->bd_number; | 582 | int bd = adapter->bd_number; |