diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/e1000/e1000_ethtool.c | 20 | ||||
-rw-r--r-- | drivers/net/e1000/e1000_hw.c | 94 | ||||
-rw-r--r-- | drivers/net/e1000/e1000_osdep.h | 19 | ||||
-rw-r--r-- | drivers/net/ixgb/ixgb_hw.c | 6 | ||||
-rw-r--r-- | drivers/net/ixgb/ixgb_osdep.h | 12 |
5 files changed, 60 insertions, 91 deletions
diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c index 0759bf0dcce6..e39aa1fc4d1e 100644 --- a/drivers/net/e1000/e1000_ethtool.c +++ b/drivers/net/e1000/e1000_ethtool.c | |||
@@ -908,7 +908,7 @@ e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data) | |||
908 | 908 | ||
909 | /* Disable all the interrupts */ | 909 | /* Disable all the interrupts */ |
910 | E1000_WRITE_REG(&adapter->hw, IMC, 0xFFFFFFFF); | 910 | E1000_WRITE_REG(&adapter->hw, IMC, 0xFFFFFFFF); |
911 | msec_delay(10); | 911 | msleep(10); |
912 | 912 | ||
913 | /* Test each interrupt */ | 913 | /* Test each interrupt */ |
914 | for (; i < 10; i++) { | 914 | for (; i < 10; i++) { |
@@ -928,7 +928,7 @@ e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data) | |||
928 | adapter->test_icr = 0; | 928 | adapter->test_icr = 0; |
929 | E1000_WRITE_REG(&adapter->hw, IMC, mask); | 929 | E1000_WRITE_REG(&adapter->hw, IMC, mask); |
930 | E1000_WRITE_REG(&adapter->hw, ICS, mask); | 930 | E1000_WRITE_REG(&adapter->hw, ICS, mask); |
931 | msec_delay(10); | 931 | msleep(10); |
932 | 932 | ||
933 | if (adapter->test_icr & mask) { | 933 | if (adapter->test_icr & mask) { |
934 | *data = 3; | 934 | *data = 3; |
@@ -945,7 +945,7 @@ e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data) | |||
945 | adapter->test_icr = 0; | 945 | adapter->test_icr = 0; |
946 | E1000_WRITE_REG(&adapter->hw, IMS, mask); | 946 | E1000_WRITE_REG(&adapter->hw, IMS, mask); |
947 | E1000_WRITE_REG(&adapter->hw, ICS, mask); | 947 | E1000_WRITE_REG(&adapter->hw, ICS, mask); |
948 | msec_delay(10); | 948 | msleep(10); |
949 | 949 | ||
950 | if (!(adapter->test_icr & mask)) { | 950 | if (!(adapter->test_icr & mask)) { |
951 | *data = 4; | 951 | *data = 4; |
@@ -962,7 +962,7 @@ e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data) | |||
962 | adapter->test_icr = 0; | 962 | adapter->test_icr = 0; |
963 | E1000_WRITE_REG(&adapter->hw, IMC, ~mask & 0x00007FFF); | 963 | E1000_WRITE_REG(&adapter->hw, IMC, ~mask & 0x00007FFF); |
964 | E1000_WRITE_REG(&adapter->hw, ICS, ~mask & 0x00007FFF); | 964 | E1000_WRITE_REG(&adapter->hw, ICS, ~mask & 0x00007FFF); |
965 | msec_delay(10); | 965 | msleep(10); |
966 | 966 | ||
967 | if (adapter->test_icr) { | 967 | if (adapter->test_icr) { |
968 | *data = 5; | 968 | *data = 5; |
@@ -973,7 +973,7 @@ e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data) | |||
973 | 973 | ||
974 | /* Disable all the interrupts */ | 974 | /* Disable all the interrupts */ |
975 | E1000_WRITE_REG(&adapter->hw, IMC, 0xFFFFFFFF); | 975 | E1000_WRITE_REG(&adapter->hw, IMC, 0xFFFFFFFF); |
976 | msec_delay(10); | 976 | msleep(10); |
977 | 977 | ||
978 | /* Unhook test interrupt handler */ | 978 | /* Unhook test interrupt handler */ |
979 | free_irq(irq, netdev); | 979 | free_irq(irq, netdev); |
@@ -1395,7 +1395,7 @@ e1000_setup_loopback_test(struct e1000_adapter *adapter) | |||
1395 | #define E1000_SERDES_LB_ON 0x410 | 1395 | #define E1000_SERDES_LB_ON 0x410 |
1396 | e1000_set_phy_loopback(adapter); | 1396 | e1000_set_phy_loopback(adapter); |
1397 | E1000_WRITE_REG(hw, SCTL, E1000_SERDES_LB_ON); | 1397 | E1000_WRITE_REG(hw, SCTL, E1000_SERDES_LB_ON); |
1398 | msec_delay(10); | 1398 | msleep(10); |
1399 | return 0; | 1399 | return 0; |
1400 | break; | 1400 | break; |
1401 | default: | 1401 | default: |
@@ -1428,7 +1428,7 @@ e1000_loopback_cleanup(struct e1000_adapter *adapter) | |||
1428 | hw->media_type == e1000_media_type_internal_serdes) { | 1428 | hw->media_type == e1000_media_type_internal_serdes) { |
1429 | #define E1000_SERDES_LB_OFF 0x400 | 1429 | #define E1000_SERDES_LB_OFF 0x400 |
1430 | E1000_WRITE_REG(hw, SCTL, E1000_SERDES_LB_OFF); | 1430 | E1000_WRITE_REG(hw, SCTL, E1000_SERDES_LB_OFF); |
1431 | msec_delay(10); | 1431 | msleep(10); |
1432 | break; | 1432 | break; |
1433 | } | 1433 | } |
1434 | /* Fall Through */ | 1434 | /* Fall Through */ |
@@ -1508,7 +1508,7 @@ e1000_run_loopback_test(struct e1000_adapter *adapter) | |||
1508 | if (unlikely(++k == txdr->count)) k = 0; | 1508 | if (unlikely(++k == txdr->count)) k = 0; |
1509 | } | 1509 | } |
1510 | E1000_WRITE_REG(&adapter->hw, TDT, k); | 1510 | E1000_WRITE_REG(&adapter->hw, TDT, k); |
1511 | msec_delay(200); | 1511 | msleep(200); |
1512 | time = jiffies; /* set the start time for the receive */ | 1512 | time = jiffies; /* set the start time for the receive */ |
1513 | good_cnt = 0; | 1513 | good_cnt = 0; |
1514 | do { /* receive the sent packets */ | 1514 | do { /* receive the sent packets */ |
@@ -1579,14 +1579,14 @@ e1000_link_test(struct e1000_adapter *adapter, uint64_t *data) | |||
1579 | e1000_check_for_link(&adapter->hw); | 1579 | e1000_check_for_link(&adapter->hw); |
1580 | if (adapter->hw.serdes_link_down == FALSE) | 1580 | if (adapter->hw.serdes_link_down == FALSE) |
1581 | return *data; | 1581 | return *data; |
1582 | msec_delay(20); | 1582 | msleep(20); |
1583 | } while (i++ < 3750); | 1583 | } while (i++ < 3750); |
1584 | 1584 | ||
1585 | *data = 1; | 1585 | *data = 1; |
1586 | } else { | 1586 | } else { |
1587 | e1000_check_for_link(&adapter->hw); | 1587 | e1000_check_for_link(&adapter->hw); |
1588 | if (adapter->hw.autoneg) /* if auto_neg is set wait for it */ | 1588 | if (adapter->hw.autoneg) /* if auto_neg is set wait for it */ |
1589 | msec_delay(4000); | 1589 | msleep(4000); |
1590 | 1590 | ||
1591 | if (!(E1000_READ_REG(&adapter->hw, STATUS) & E1000_STATUS_LU)) { | 1591 | if (!(E1000_READ_REG(&adapter->hw, STATUS) & E1000_STATUS_LU)) { |
1592 | *data = 1; | 1592 | *data = 1; |
diff --git a/drivers/net/e1000/e1000_hw.c b/drivers/net/e1000/e1000_hw.c index a6f8f4fce701..10b8c8c25325 100644 --- a/drivers/net/e1000/e1000_hw.c +++ b/drivers/net/e1000/e1000_hw.c | |||
@@ -223,7 +223,7 @@ e1000_phy_init_script(struct e1000_hw *hw) | |||
223 | DEBUGFUNC("e1000_phy_init_script"); | 223 | DEBUGFUNC("e1000_phy_init_script"); |
224 | 224 | ||
225 | if (hw->phy_init_script) { | 225 | if (hw->phy_init_script) { |
226 | msec_delay(20); | 226 | msleep(20); |
227 | 227 | ||
228 | /* Save off the current value of register 0x2F5B to be restored at | 228 | /* Save off the current value of register 0x2F5B to be restored at |
229 | * the end of this routine. */ | 229 | * the end of this routine. */ |
@@ -232,11 +232,11 @@ e1000_phy_init_script(struct e1000_hw *hw) | |||
232 | /* Disabled the PHY transmitter */ | 232 | /* Disabled the PHY transmitter */ |
233 | e1000_write_phy_reg(hw, 0x2F5B, 0x0003); | 233 | e1000_write_phy_reg(hw, 0x2F5B, 0x0003); |
234 | 234 | ||
235 | msec_delay(20); | 235 | msleep(20); |
236 | 236 | ||
237 | e1000_write_phy_reg(hw,0x0000,0x0140); | 237 | e1000_write_phy_reg(hw,0x0000,0x0140); |
238 | 238 | ||
239 | msec_delay(5); | 239 | msleep(5); |
240 | 240 | ||
241 | switch (hw->mac_type) { | 241 | switch (hw->mac_type) { |
242 | case e1000_82541: | 242 | case e1000_82541: |
@@ -270,7 +270,7 @@ e1000_phy_init_script(struct e1000_hw *hw) | |||
270 | 270 | ||
271 | e1000_write_phy_reg(hw, 0x0000, 0x3300); | 271 | e1000_write_phy_reg(hw, 0x0000, 0x3300); |
272 | 272 | ||
273 | msec_delay(20); | 273 | msleep(20); |
274 | 274 | ||
275 | /* Now enable the transmitter */ | 275 | /* Now enable the transmitter */ |
276 | e1000_write_phy_reg(hw, 0x2F5B, phy_saved_data); | 276 | e1000_write_phy_reg(hw, 0x2F5B, phy_saved_data); |
@@ -551,14 +551,14 @@ e1000_reset_hw(struct e1000_hw *hw) | |||
551 | /* Delay to allow any outstanding PCI transactions to complete before | 551 | /* Delay to allow any outstanding PCI transactions to complete before |
552 | * resetting the device | 552 | * resetting the device |
553 | */ | 553 | */ |
554 | msec_delay(10); | 554 | msleep(10); |
555 | 555 | ||
556 | ctrl = E1000_READ_REG(hw, CTRL); | 556 | ctrl = E1000_READ_REG(hw, CTRL); |
557 | 557 | ||
558 | /* Must reset the PHY before resetting the MAC */ | 558 | /* Must reset the PHY before resetting the MAC */ |
559 | if ((hw->mac_type == e1000_82541) || (hw->mac_type == e1000_82547)) { | 559 | if ((hw->mac_type == e1000_82541) || (hw->mac_type == e1000_82547)) { |
560 | E1000_WRITE_REG(hw, CTRL, (ctrl | E1000_CTRL_PHY_RST)); | 560 | E1000_WRITE_REG(hw, CTRL, (ctrl | E1000_CTRL_PHY_RST)); |
561 | msec_delay(5); | 561 | msleep(5); |
562 | } | 562 | } |
563 | 563 | ||
564 | /* Must acquire the MDIO ownership before MAC reset. | 564 | /* Must acquire the MDIO ownership before MAC reset. |
@@ -578,7 +578,7 @@ e1000_reset_hw(struct e1000_hw *hw) | |||
578 | else | 578 | else |
579 | extcnf_ctrl |= E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP; | 579 | extcnf_ctrl |= E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP; |
580 | 580 | ||
581 | msec_delay(2); | 581 | msleep(2); |
582 | timeout--; | 582 | timeout--; |
583 | } while (timeout); | 583 | } while (timeout); |
584 | } | 584 | } |
@@ -626,7 +626,7 @@ e1000_reset_hw(struct e1000_hw *hw) | |||
626 | 626 | ||
627 | e1000_get_software_flag(hw); | 627 | e1000_get_software_flag(hw); |
628 | E1000_WRITE_REG(hw, CTRL, (ctrl | E1000_CTRL_RST)); | 628 | E1000_WRITE_REG(hw, CTRL, (ctrl | E1000_CTRL_RST)); |
629 | msec_delay(5); | 629 | msleep(5); |
630 | break; | 630 | break; |
631 | default: | 631 | default: |
632 | E1000_WRITE_REG(hw, CTRL, (ctrl | E1000_CTRL_RST)); | 632 | E1000_WRITE_REG(hw, CTRL, (ctrl | E1000_CTRL_RST)); |
@@ -649,14 +649,14 @@ e1000_reset_hw(struct e1000_hw *hw) | |||
649 | E1000_WRITE_REG(hw, CTRL_EXT, ctrl_ext); | 649 | E1000_WRITE_REG(hw, CTRL_EXT, ctrl_ext); |
650 | E1000_WRITE_FLUSH(hw); | 650 | E1000_WRITE_FLUSH(hw); |
651 | /* Wait for EEPROM reload */ | 651 | /* Wait for EEPROM reload */ |
652 | msec_delay(2); | 652 | msleep(2); |
653 | break; | 653 | break; |
654 | case e1000_82541: | 654 | case e1000_82541: |
655 | case e1000_82541_rev_2: | 655 | case e1000_82541_rev_2: |
656 | case e1000_82547: | 656 | case e1000_82547: |
657 | case e1000_82547_rev_2: | 657 | case e1000_82547_rev_2: |
658 | /* Wait for EEPROM reload */ | 658 | /* Wait for EEPROM reload */ |
659 | msec_delay(20); | 659 | msleep(20); |
660 | break; | 660 | break; |
661 | case e1000_82573: | 661 | case e1000_82573: |
662 | if (e1000_is_onboard_nvm_eeprom(hw) == FALSE) { | 662 | if (e1000_is_onboard_nvm_eeprom(hw) == FALSE) { |
@@ -678,7 +678,7 @@ e1000_reset_hw(struct e1000_hw *hw) | |||
678 | break; | 678 | break; |
679 | default: | 679 | default: |
680 | /* Wait for EEPROM reload (it happens automatically) */ | 680 | /* Wait for EEPROM reload (it happens automatically) */ |
681 | msec_delay(5); | 681 | msleep(5); |
682 | break; | 682 | break; |
683 | } | 683 | } |
684 | 684 | ||
@@ -708,7 +708,7 @@ e1000_reset_hw(struct e1000_hw *hw) | |||
708 | 708 | ||
709 | /* If MWI was previously enabled, reenable it. */ | 709 | /* If MWI was previously enabled, reenable it. */ |
710 | if (hw->mac_type == e1000_82542_rev2_0) { | 710 | if (hw->mac_type == e1000_82542_rev2_0) { |
711 | if (hw->pci_cmd_word & CMD_MEM_WRT_INVALIDATE) | 711 | if (hw->pci_cmd_word & PCI_COMMAND_INVALIDATE) |
712 | e1000_pci_set_mwi(hw); | 712 | e1000_pci_set_mwi(hw); |
713 | } | 713 | } |
714 | 714 | ||
@@ -784,7 +784,7 @@ e1000_init_hw(struct e1000_hw *hw) | |||
784 | e1000_pci_clear_mwi(hw); | 784 | e1000_pci_clear_mwi(hw); |
785 | E1000_WRITE_REG(hw, RCTL, E1000_RCTL_RST); | 785 | E1000_WRITE_REG(hw, RCTL, E1000_RCTL_RST); |
786 | E1000_WRITE_FLUSH(hw); | 786 | E1000_WRITE_FLUSH(hw); |
787 | msec_delay(5); | 787 | msleep(5); |
788 | } | 788 | } |
789 | 789 | ||
790 | /* Setup the receive address. This involves initializing all of the Receive | 790 | /* Setup the receive address. This involves initializing all of the Receive |
@@ -796,8 +796,8 @@ e1000_init_hw(struct e1000_hw *hw) | |||
796 | if (hw->mac_type == e1000_82542_rev2_0) { | 796 | if (hw->mac_type == e1000_82542_rev2_0) { |
797 | E1000_WRITE_REG(hw, RCTL, 0); | 797 | E1000_WRITE_REG(hw, RCTL, 0); |
798 | E1000_WRITE_FLUSH(hw); | 798 | E1000_WRITE_FLUSH(hw); |
799 | msec_delay(1); | 799 | msleep(1); |
800 | if (hw->pci_cmd_word & CMD_MEM_WRT_INVALIDATE) | 800 | if (hw->pci_cmd_word & PCI_COMMAND_INVALIDATE) |
801 | e1000_pci_set_mwi(hw); | 801 | e1000_pci_set_mwi(hw); |
802 | } | 802 | } |
803 | 803 | ||
@@ -851,7 +851,7 @@ e1000_init_hw(struct e1000_hw *hw) | |||
851 | 851 | ||
852 | /* More time needed for PHY to initialize */ | 852 | /* More time needed for PHY to initialize */ |
853 | if (hw->mac_type == e1000_ich8lan) | 853 | if (hw->mac_type == e1000_ich8lan) |
854 | msec_delay(15); | 854 | msleep(15); |
855 | 855 | ||
856 | /* Call a subroutine to configure the link and setup flow control. */ | 856 | /* Call a subroutine to configure the link and setup flow control. */ |
857 | ret_val = e1000_setup_link(hw); | 857 | ret_val = e1000_setup_link(hw); |
@@ -1231,7 +1231,7 @@ e1000_setup_fiber_serdes_link(struct e1000_hw *hw) | |||
1231 | E1000_WRITE_FLUSH(hw); | 1231 | E1000_WRITE_FLUSH(hw); |
1232 | 1232 | ||
1233 | hw->txcw = txcw; | 1233 | hw->txcw = txcw; |
1234 | msec_delay(1); | 1234 | msleep(1); |
1235 | 1235 | ||
1236 | /* If we have a signal (the cable is plugged in) then poll for a "Link-Up" | 1236 | /* If we have a signal (the cable is plugged in) then poll for a "Link-Up" |
1237 | * indication in the Device Status Register. Time-out if a link isn't | 1237 | * indication in the Device Status Register. Time-out if a link isn't |
@@ -1243,7 +1243,7 @@ e1000_setup_fiber_serdes_link(struct e1000_hw *hw) | |||
1243 | (E1000_READ_REG(hw, CTRL) & E1000_CTRL_SWDPIN1) == signal) { | 1243 | (E1000_READ_REG(hw, CTRL) & E1000_CTRL_SWDPIN1) == signal) { |
1244 | DEBUGOUT("Looking for Link\n"); | 1244 | DEBUGOUT("Looking for Link\n"); |
1245 | for (i = 0; i < (LINK_UP_TIMEOUT / 10); i++) { | 1245 | for (i = 0; i < (LINK_UP_TIMEOUT / 10); i++) { |
1246 | msec_delay(10); | 1246 | msleep(10); |
1247 | status = E1000_READ_REG(hw, STATUS); | 1247 | status = E1000_READ_REG(hw, STATUS); |
1248 | if (status & E1000_STATUS_LU) break; | 1248 | if (status & E1000_STATUS_LU) break; |
1249 | } | 1249 | } |
@@ -1355,7 +1355,7 @@ e1000_copper_link_igp_setup(struct e1000_hw *hw) | |||
1355 | } | 1355 | } |
1356 | 1356 | ||
1357 | /* Wait 15ms for MAC to configure PHY from eeprom settings */ | 1357 | /* Wait 15ms for MAC to configure PHY from eeprom settings */ |
1358 | msec_delay(15); | 1358 | msleep(15); |
1359 | if (hw->mac_type != e1000_ich8lan) { | 1359 | if (hw->mac_type != e1000_ich8lan) { |
1360 | /* Configure activity LED after PHY reset */ | 1360 | /* Configure activity LED after PHY reset */ |
1361 | led_ctrl = E1000_READ_REG(hw, LEDCTL); | 1361 | led_ctrl = E1000_READ_REG(hw, LEDCTL); |
@@ -2334,7 +2334,7 @@ e1000_phy_force_speed_duplex(struct e1000_hw *hw) | |||
2334 | return ret_val; | 2334 | return ret_val; |
2335 | 2335 | ||
2336 | if (mii_status_reg & MII_SR_LINK_STATUS) break; | 2336 | if (mii_status_reg & MII_SR_LINK_STATUS) break; |
2337 | msec_delay(100); | 2337 | msleep(100); |
2338 | } | 2338 | } |
2339 | if ((i == 0) && | 2339 | if ((i == 0) && |
2340 | ((hw->phy_type == e1000_phy_m88) || | 2340 | ((hw->phy_type == e1000_phy_m88) || |
@@ -2349,7 +2349,7 @@ e1000_phy_force_speed_duplex(struct e1000_hw *hw) | |||
2349 | /* This loop will early-out if the link condition has been met. */ | 2349 | /* This loop will early-out if the link condition has been met. */ |
2350 | for (i = PHY_FORCE_TIME; i > 0; i--) { | 2350 | for (i = PHY_FORCE_TIME; i > 0; i--) { |
2351 | if (mii_status_reg & MII_SR_LINK_STATUS) break; | 2351 | if (mii_status_reg & MII_SR_LINK_STATUS) break; |
2352 | msec_delay(100); | 2352 | msleep(100); |
2353 | /* Read the MII Status Register and wait for Auto-Neg Complete bit | 2353 | /* Read the MII Status Register and wait for Auto-Neg Complete bit |
2354 | * to be set. | 2354 | * to be set. |
2355 | */ | 2355 | */ |
@@ -3132,7 +3132,7 @@ e1000_wait_autoneg(struct e1000_hw *hw) | |||
3132 | if (phy_data & MII_SR_AUTONEG_COMPLETE) { | 3132 | if (phy_data & MII_SR_AUTONEG_COMPLETE) { |
3133 | return E1000_SUCCESS; | 3133 | return E1000_SUCCESS; |
3134 | } | 3134 | } |
3135 | msec_delay(100); | 3135 | msleep(100); |
3136 | } | 3136 | } |
3137 | return E1000_SUCCESS; | 3137 | return E1000_SUCCESS; |
3138 | } | 3138 | } |
@@ -3306,7 +3306,7 @@ e1000_swfw_sync_acquire(struct e1000_hw *hw, uint16_t mask) | |||
3306 | /* firmware currently using resource (fwmask) */ | 3306 | /* firmware currently using resource (fwmask) */ |
3307 | /* or other software thread currently using resource (swmask) */ | 3307 | /* or other software thread currently using resource (swmask) */ |
3308 | e1000_put_hw_eeprom_semaphore(hw); | 3308 | e1000_put_hw_eeprom_semaphore(hw); |
3309 | msec_delay_irq(5); | 3309 | mdelay(5); |
3310 | timeout--; | 3310 | timeout--; |
3311 | } | 3311 | } |
3312 | 3312 | ||
@@ -3725,7 +3725,7 @@ e1000_phy_hw_reset(struct e1000_hw *hw) | |||
3725 | E1000_WRITE_FLUSH(hw); | 3725 | E1000_WRITE_FLUSH(hw); |
3726 | 3726 | ||
3727 | if (hw->mac_type < e1000_82571) | 3727 | if (hw->mac_type < e1000_82571) |
3728 | msec_delay(10); | 3728 | msleep(10); |
3729 | else | 3729 | else |
3730 | udelay(100); | 3730 | udelay(100); |
3731 | 3731 | ||
@@ -3733,7 +3733,7 @@ e1000_phy_hw_reset(struct e1000_hw *hw) | |||
3733 | E1000_WRITE_FLUSH(hw); | 3733 | E1000_WRITE_FLUSH(hw); |
3734 | 3734 | ||
3735 | if (hw->mac_type >= e1000_82571) | 3735 | if (hw->mac_type >= e1000_82571) |
3736 | msec_delay_irq(10); | 3736 | mdelay(10); |
3737 | e1000_swfw_sync_release(hw, swfw); | 3737 | e1000_swfw_sync_release(hw, swfw); |
3738 | } else { | 3738 | } else { |
3739 | /* Read the Extended Device Control Register, assert the PHY_RESET_DIR | 3739 | /* Read the Extended Device Control Register, assert the PHY_RESET_DIR |
@@ -3744,7 +3744,7 @@ e1000_phy_hw_reset(struct e1000_hw *hw) | |||
3744 | ctrl_ext &= ~E1000_CTRL_EXT_SDP4_DATA; | 3744 | ctrl_ext &= ~E1000_CTRL_EXT_SDP4_DATA; |
3745 | E1000_WRITE_REG(hw, CTRL_EXT, ctrl_ext); | 3745 | E1000_WRITE_REG(hw, CTRL_EXT, ctrl_ext); |
3746 | E1000_WRITE_FLUSH(hw); | 3746 | E1000_WRITE_FLUSH(hw); |
3747 | msec_delay(10); | 3747 | msleep(10); |
3748 | ctrl_ext |= E1000_CTRL_EXT_SDP4_DATA; | 3748 | ctrl_ext |= E1000_CTRL_EXT_SDP4_DATA; |
3749 | E1000_WRITE_REG(hw, CTRL_EXT, ctrl_ext); | 3749 | E1000_WRITE_REG(hw, CTRL_EXT, ctrl_ext); |
3750 | E1000_WRITE_FLUSH(hw); | 3750 | E1000_WRITE_FLUSH(hw); |
@@ -3917,7 +3917,7 @@ e1000_kumeran_lock_loss_workaround(struct e1000_hw *hw) | |||
3917 | 3917 | ||
3918 | /* Issue PHY reset */ | 3918 | /* Issue PHY reset */ |
3919 | e1000_phy_hw_reset(hw); | 3919 | e1000_phy_hw_reset(hw); |
3920 | msec_delay_irq(5); | 3920 | mdelay(5); |
3921 | } | 3921 | } |
3922 | /* Disable GigE link negotiation */ | 3922 | /* Disable GigE link negotiation */ |
3923 | reg = E1000_READ_REG(hw, PHY_CTRL); | 3923 | reg = E1000_READ_REG(hw, PHY_CTRL); |
@@ -5179,7 +5179,7 @@ e1000_update_eeprom_checksum(struct e1000_hw *hw) | |||
5179 | ctrl_ext = E1000_READ_REG(hw, CTRL_EXT); | 5179 | ctrl_ext = E1000_READ_REG(hw, CTRL_EXT); |
5180 | ctrl_ext |= E1000_CTRL_EXT_EE_RST; | 5180 | ctrl_ext |= E1000_CTRL_EXT_EE_RST; |
5181 | E1000_WRITE_REG(hw, CTRL_EXT, ctrl_ext); | 5181 | E1000_WRITE_REG(hw, CTRL_EXT, ctrl_ext); |
5182 | msec_delay(10); | 5182 | msleep(10); |
5183 | } | 5183 | } |
5184 | return E1000_SUCCESS; | 5184 | return E1000_SUCCESS; |
5185 | } | 5185 | } |
@@ -5230,7 +5230,7 @@ e1000_write_eeprom(struct e1000_hw *hw, | |||
5230 | status = e1000_write_eeprom_microwire(hw, offset, words, data); | 5230 | status = e1000_write_eeprom_microwire(hw, offset, words, data); |
5231 | } else { | 5231 | } else { |
5232 | status = e1000_write_eeprom_spi(hw, offset, words, data); | 5232 | status = e1000_write_eeprom_spi(hw, offset, words, data); |
5233 | msec_delay(10); | 5233 | msleep(10); |
5234 | } | 5234 | } |
5235 | 5235 | ||
5236 | /* Done with writing */ | 5236 | /* Done with writing */ |
@@ -7058,7 +7058,7 @@ e1000_config_dsp_after_link_change(struct e1000_hw *hw, | |||
7058 | if (ret_val) | 7058 | if (ret_val) |
7059 | return ret_val; | 7059 | return ret_val; |
7060 | 7060 | ||
7061 | msec_delay_irq(20); | 7061 | mdelay(20); |
7062 | 7062 | ||
7063 | ret_val = e1000_write_phy_reg(hw, 0x0000, | 7063 | ret_val = e1000_write_phy_reg(hw, 0x0000, |
7064 | IGP01E1000_IEEE_FORCE_GIGA); | 7064 | IGP01E1000_IEEE_FORCE_GIGA); |
@@ -7082,7 +7082,7 @@ e1000_config_dsp_after_link_change(struct e1000_hw *hw, | |||
7082 | if (ret_val) | 7082 | if (ret_val) |
7083 | return ret_val; | 7083 | return ret_val; |
7084 | 7084 | ||
7085 | msec_delay_irq(20); | 7085 | mdelay(20); |
7086 | 7086 | ||
7087 | /* Now enable the transmitter */ | 7087 | /* Now enable the transmitter */ |
7088 | ret_val = e1000_write_phy_reg(hw, 0x2F5B, phy_saved_data); | 7088 | ret_val = e1000_write_phy_reg(hw, 0x2F5B, phy_saved_data); |
@@ -7107,7 +7107,7 @@ e1000_config_dsp_after_link_change(struct e1000_hw *hw, | |||
7107 | if (ret_val) | 7107 | if (ret_val) |
7108 | return ret_val; | 7108 | return ret_val; |
7109 | 7109 | ||
7110 | msec_delay_irq(20); | 7110 | mdelay(20); |
7111 | 7111 | ||
7112 | ret_val = e1000_write_phy_reg(hw, 0x0000, | 7112 | ret_val = e1000_write_phy_reg(hw, 0x0000, |
7113 | IGP01E1000_IEEE_FORCE_GIGA); | 7113 | IGP01E1000_IEEE_FORCE_GIGA); |
@@ -7123,7 +7123,7 @@ e1000_config_dsp_after_link_change(struct e1000_hw *hw, | |||
7123 | if (ret_val) | 7123 | if (ret_val) |
7124 | return ret_val; | 7124 | return ret_val; |
7125 | 7125 | ||
7126 | msec_delay_irq(20); | 7126 | mdelay(20); |
7127 | 7127 | ||
7128 | /* Now enable the transmitter */ | 7128 | /* Now enable the transmitter */ |
7129 | ret_val = e1000_write_phy_reg(hw, 0x2F5B, phy_saved_data); | 7129 | ret_val = e1000_write_phy_reg(hw, 0x2F5B, phy_saved_data); |
@@ -7519,7 +7519,7 @@ e1000_mng_enable_host_if(struct e1000_hw * hw) | |||
7519 | hicr = E1000_READ_REG(hw, HICR); | 7519 | hicr = E1000_READ_REG(hw, HICR); |
7520 | if (!(hicr & E1000_HICR_C)) | 7520 | if (!(hicr & E1000_HICR_C)) |
7521 | break; | 7521 | break; |
7522 | msec_delay_irq(1); | 7522 | mdelay(1); |
7523 | } | 7523 | } |
7524 | 7524 | ||
7525 | if (i == E1000_MNG_DHCP_COMMAND_TIMEOUT) { | 7525 | if (i == E1000_MNG_DHCP_COMMAND_TIMEOUT) { |
@@ -7842,26 +7842,26 @@ e1000_polarity_reversal_workaround(struct e1000_hw *hw) | |||
7842 | return ret_val; | 7842 | return ret_val; |
7843 | 7843 | ||
7844 | if ((mii_status_reg & ~MII_SR_LINK_STATUS) == 0) break; | 7844 | if ((mii_status_reg & ~MII_SR_LINK_STATUS) == 0) break; |
7845 | msec_delay_irq(100); | 7845 | mdelay(100); |
7846 | } | 7846 | } |
7847 | 7847 | ||
7848 | /* Recommended delay time after link has been lost */ | 7848 | /* Recommended delay time after link has been lost */ |
7849 | msec_delay_irq(1000); | 7849 | mdelay(1000); |
7850 | 7850 | ||
7851 | /* Now we will re-enable th transmitter on the PHY */ | 7851 | /* Now we will re-enable th transmitter on the PHY */ |
7852 | 7852 | ||
7853 | ret_val = e1000_write_phy_reg(hw, M88E1000_PHY_PAGE_SELECT, 0x0019); | 7853 | ret_val = e1000_write_phy_reg(hw, M88E1000_PHY_PAGE_SELECT, 0x0019); |
7854 | if (ret_val) | 7854 | if (ret_val) |
7855 | return ret_val; | 7855 | return ret_val; |
7856 | msec_delay_irq(50); | 7856 | mdelay(50); |
7857 | ret_val = e1000_write_phy_reg(hw, M88E1000_PHY_GEN_CONTROL, 0xFFF0); | 7857 | ret_val = e1000_write_phy_reg(hw, M88E1000_PHY_GEN_CONTROL, 0xFFF0); |
7858 | if (ret_val) | 7858 | if (ret_val) |
7859 | return ret_val; | 7859 | return ret_val; |
7860 | msec_delay_irq(50); | 7860 | mdelay(50); |
7861 | ret_val = e1000_write_phy_reg(hw, M88E1000_PHY_GEN_CONTROL, 0xFF00); | 7861 | ret_val = e1000_write_phy_reg(hw, M88E1000_PHY_GEN_CONTROL, 0xFF00); |
7862 | if (ret_val) | 7862 | if (ret_val) |
7863 | return ret_val; | 7863 | return ret_val; |
7864 | msec_delay_irq(50); | 7864 | mdelay(50); |
7865 | ret_val = e1000_write_phy_reg(hw, M88E1000_PHY_GEN_CONTROL, 0x0000); | 7865 | ret_val = e1000_write_phy_reg(hw, M88E1000_PHY_GEN_CONTROL, 0x0000); |
7866 | if (ret_val) | 7866 | if (ret_val) |
7867 | return ret_val; | 7867 | return ret_val; |
@@ -7885,7 +7885,7 @@ e1000_polarity_reversal_workaround(struct e1000_hw *hw) | |||
7885 | return ret_val; | 7885 | return ret_val; |
7886 | 7886 | ||
7887 | if (mii_status_reg & MII_SR_LINK_STATUS) break; | 7887 | if (mii_status_reg & MII_SR_LINK_STATUS) break; |
7888 | msec_delay_irq(100); | 7888 | mdelay(100); |
7889 | } | 7889 | } |
7890 | return E1000_SUCCESS; | 7890 | return E1000_SUCCESS; |
7891 | } | 7891 | } |
@@ -7998,7 +7998,7 @@ e1000_get_auto_rd_done(struct e1000_hw *hw) | |||
7998 | 7998 | ||
7999 | switch (hw->mac_type) { | 7999 | switch (hw->mac_type) { |
8000 | default: | 8000 | default: |
8001 | msec_delay(5); | 8001 | msleep(5); |
8002 | break; | 8002 | break; |
8003 | case e1000_82571: | 8003 | case e1000_82571: |
8004 | case e1000_82572: | 8004 | case e1000_82572: |
@@ -8008,7 +8008,7 @@ e1000_get_auto_rd_done(struct e1000_hw *hw) | |||
8008 | while (timeout) { | 8008 | while (timeout) { |
8009 | if (E1000_READ_REG(hw, EECD) & E1000_EECD_AUTO_RD) | 8009 | if (E1000_READ_REG(hw, EECD) & E1000_EECD_AUTO_RD) |
8010 | break; | 8010 | break; |
8011 | else msec_delay(1); | 8011 | else msleep(1); |
8012 | timeout--; | 8012 | timeout--; |
8013 | } | 8013 | } |
8014 | 8014 | ||
@@ -8023,7 +8023,7 @@ e1000_get_auto_rd_done(struct e1000_hw *hw) | |||
8023 | * Need to wait for PHY configuration completion before accessing NVM | 8023 | * Need to wait for PHY configuration completion before accessing NVM |
8024 | * and PHY. */ | 8024 | * and PHY. */ |
8025 | if (hw->mac_type == e1000_82573) | 8025 | if (hw->mac_type == e1000_82573) |
8026 | msec_delay(25); | 8026 | msleep(25); |
8027 | 8027 | ||
8028 | return E1000_SUCCESS; | 8028 | return E1000_SUCCESS; |
8029 | } | 8029 | } |
@@ -8047,7 +8047,7 @@ e1000_get_phy_cfg_done(struct e1000_hw *hw) | |||
8047 | 8047 | ||
8048 | switch (hw->mac_type) { | 8048 | switch (hw->mac_type) { |
8049 | default: | 8049 | default: |
8050 | msec_delay_irq(10); | 8050 | mdelay(10); |
8051 | break; | 8051 | break; |
8052 | case e1000_80003es2lan: | 8052 | case e1000_80003es2lan: |
8053 | /* Separate *_CFG_DONE_* bit for each port */ | 8053 | /* Separate *_CFG_DONE_* bit for each port */ |
@@ -8060,7 +8060,7 @@ e1000_get_phy_cfg_done(struct e1000_hw *hw) | |||
8060 | if (E1000_READ_REG(hw, EEMNGCTL) & cfg_mask) | 8060 | if (E1000_READ_REG(hw, EEMNGCTL) & cfg_mask) |
8061 | break; | 8061 | break; |
8062 | else | 8062 | else |
8063 | msec_delay(1); | 8063 | msleep(1); |
8064 | timeout--; | 8064 | timeout--; |
8065 | } | 8065 | } |
8066 | 8066 | ||
@@ -8180,7 +8180,7 @@ e1000_get_software_semaphore(struct e1000_hw *hw) | |||
8180 | /* If SMBI bit cleared, it is now set and we hold the semaphore */ | 8180 | /* If SMBI bit cleared, it is now set and we hold the semaphore */ |
8181 | if (!(swsm & E1000_SWSM_SMBI)) | 8181 | if (!(swsm & E1000_SWSM_SMBI)) |
8182 | break; | 8182 | break; |
8183 | msec_delay_irq(1); | 8183 | mdelay(1); |
8184 | timeout--; | 8184 | timeout--; |
8185 | } | 8185 | } |
8186 | 8186 | ||
@@ -8339,7 +8339,7 @@ e1000_get_software_flag(struct e1000_hw *hw) | |||
8339 | extcnf_ctrl = E1000_READ_REG(hw, EXTCNF_CTRL); | 8339 | extcnf_ctrl = E1000_READ_REG(hw, EXTCNF_CTRL); |
8340 | if (extcnf_ctrl & E1000_EXTCNF_CTRL_SWFLAG) | 8340 | if (extcnf_ctrl & E1000_EXTCNF_CTRL_SWFLAG) |
8341 | break; | 8341 | break; |
8342 | msec_delay_irq(1); | 8342 | mdelay(1); |
8343 | timeout--; | 8343 | timeout--; |
8344 | } | 8344 | } |
8345 | 8345 | ||
diff --git a/drivers/net/e1000/e1000_osdep.h b/drivers/net/e1000/e1000_osdep.h index 2d3e8b06cab0..46bc49df15e7 100644 --- a/drivers/net/e1000/e1000_osdep.h +++ b/drivers/net/e1000/e1000_osdep.h | |||
@@ -42,25 +42,6 @@ | |||
42 | #include <linux/interrupt.h> | 42 | #include <linux/interrupt.h> |
43 | #include <linux/sched.h> | 43 | #include <linux/sched.h> |
44 | 44 | ||
45 | #ifndef msec_delay | ||
46 | #define msec_delay(x) do { if(in_interrupt()) { \ | ||
47 | /* Don't mdelay in interrupt context! */ \ | ||
48 | BUG(); \ | ||
49 | } else { \ | ||
50 | msleep(x); \ | ||
51 | } } while (0) | ||
52 | |||
53 | /* Some workarounds require millisecond delays and are run during interrupt | ||
54 | * context. Most notably, when establishing link, the phy may need tweaking | ||
55 | * but cannot process phy register reads/writes faster than millisecond | ||
56 | * intervals...and we establish link due to a "link status change" interrupt. | ||
57 | */ | ||
58 | #define msec_delay_irq(x) mdelay(x) | ||
59 | #endif | ||
60 | |||
61 | #define PCI_COMMAND_REGISTER PCI_COMMAND | ||
62 | #define CMD_MEM_WRT_INVALIDATE PCI_COMMAND_INVALIDATE | ||
63 | |||
64 | typedef enum { | 45 | typedef enum { |
65 | #undef FALSE | 46 | #undef FALSE |
66 | FALSE = 0, | 47 | FALSE = 0, |
diff --git a/drivers/net/ixgb/ixgb_hw.c b/drivers/net/ixgb/ixgb_hw.c index 2b1515574faf..acc6df7a6b38 100644 --- a/drivers/net/ixgb/ixgb_hw.c +++ b/drivers/net/ixgb/ixgb_hw.c | |||
@@ -83,7 +83,7 @@ static uint32_t ixgb_mac_reset(struct ixgb_hw *hw) | |||
83 | #endif | 83 | #endif |
84 | 84 | ||
85 | /* Delay a few ms just to allow the reset to complete */ | 85 | /* Delay a few ms just to allow the reset to complete */ |
86 | msec_delay(IXGB_DELAY_AFTER_RESET); | 86 | msleep(IXGB_DELAY_AFTER_RESET); |
87 | ctrl_reg = IXGB_READ_REG(hw, CTRL0); | 87 | ctrl_reg = IXGB_READ_REG(hw, CTRL0); |
88 | #ifdef DBG | 88 | #ifdef DBG |
89 | /* Make sure the self-clearing global reset bit did self clear */ | 89 | /* Make sure the self-clearing global reset bit did self clear */ |
@@ -133,7 +133,7 @@ ixgb_adapter_stop(struct ixgb_hw *hw) | |||
133 | */ | 133 | */ |
134 | IXGB_WRITE_REG(hw, RCTL, IXGB_READ_REG(hw, RCTL) & ~IXGB_RCTL_RXEN); | 134 | IXGB_WRITE_REG(hw, RCTL, IXGB_READ_REG(hw, RCTL) & ~IXGB_RCTL_RXEN); |
135 | IXGB_WRITE_REG(hw, TCTL, IXGB_READ_REG(hw, TCTL) & ~IXGB_TCTL_TXEN); | 135 | IXGB_WRITE_REG(hw, TCTL, IXGB_READ_REG(hw, TCTL) & ~IXGB_TCTL_TXEN); |
136 | msec_delay(IXGB_DELAY_BEFORE_RESET); | 136 | msleep(IXGB_DELAY_BEFORE_RESET); |
137 | 137 | ||
138 | /* Issue a global reset to the MAC. This will reset the chip's | 138 | /* Issue a global reset to the MAC. This will reset the chip's |
139 | * transmit, receive, DMA, and link units. It will not effect | 139 | * transmit, receive, DMA, and link units. It will not effect |
@@ -300,7 +300,7 @@ ixgb_init_hw(struct ixgb_hw *hw) | |||
300 | #endif | 300 | #endif |
301 | 301 | ||
302 | /* Delay a few ms just to allow the reset to complete */ | 302 | /* Delay a few ms just to allow the reset to complete */ |
303 | msec_delay(IXGB_DELAY_AFTER_EE_RESET); | 303 | msleep(IXGB_DELAY_AFTER_EE_RESET); |
304 | 304 | ||
305 | if (ixgb_get_eeprom_data(hw) == FALSE) { | 305 | if (ixgb_get_eeprom_data(hw) == FALSE) { |
306 | return(FALSE); | 306 | return(FALSE); |
diff --git a/drivers/net/ixgb/ixgb_osdep.h b/drivers/net/ixgb/ixgb_osdep.h index ee982feac64d..19cb1d586dec 100644 --- a/drivers/net/ixgb/ixgb_osdep.h +++ b/drivers/net/ixgb/ixgb_osdep.h | |||
@@ -40,18 +40,6 @@ | |||
40 | #include <linux/interrupt.h> | 40 | #include <linux/interrupt.h> |
41 | #include <linux/sched.h> | 41 | #include <linux/sched.h> |
42 | 42 | ||
43 | #ifndef msec_delay | ||
44 | #define msec_delay(x) do { if(in_interrupt()) { \ | ||
45 | /* Don't mdelay in interrupt context! */ \ | ||
46 | BUG(); \ | ||
47 | } else { \ | ||
48 | msleep(x); \ | ||
49 | } } while(0) | ||
50 | #endif | ||
51 | |||
52 | #define PCI_COMMAND_REGISTER PCI_COMMAND | ||
53 | #define CMD_MEM_WRT_INVALIDATE PCI_COMMAND_INVALIDATE | ||
54 | |||
55 | typedef enum { | 43 | typedef enum { |
56 | #undef FALSE | 44 | #undef FALSE |
57 | FALSE = 0, | 45 | FALSE = 0, |