• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/net/e1000e/

Lines Matching refs:adapter

119 	struct e1000_adapter *adapter = netdev_priv(netdev);
120 struct e1000_hw *hw = &adapter->hw;
163 ecmd->speed = adapter->link_speed;
164 ecmd->duplex = adapter->link_duplex - 1;
199 struct e1000_adapter *adapter = netdev_priv(netdev);
200 struct e1000_hw *hw = &adapter->hw;
211 static int e1000_set_spd_dplx(struct e1000_adapter *adapter, u16 spddplx)
213 struct e1000_mac_info *mac = &adapter->hw.mac;
218 if ((adapter->hw.phy.media_type == e1000_media_type_fiber) &&
239 adapter->hw.phy.autoneg_advertised = ADVERTISE_1000_FULL;
252 struct e1000_adapter *adapter = netdev_priv(netdev);
253 struct e1000_hw *hw = &adapter->hw;
265 while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
279 if (adapter->fc_autoneg)
282 if (e1000_set_spd_dplx(adapter, ecmd->speed + ecmd->duplex)) {
283 clear_bit(__E1000_RESETTING, &adapter->state);
290 if (netif_running(adapter->netdev)) {
291 e1000e_down(adapter);
292 e1000e_up(adapter);
294 e1000e_reset(adapter);
297 clear_bit(__E1000_RESETTING, &adapter->state);
304 struct e1000_adapter *adapter = netdev_priv(netdev);
305 struct e1000_hw *hw = &adapter->hw;
308 (adapter->fc_autoneg ? AUTONEG_ENABLE : AUTONEG_DISABLE);
323 struct e1000_adapter *adapter = netdev_priv(netdev);
324 struct e1000_hw *hw = &adapter->hw;
327 adapter->fc_autoneg = pause->autoneg;
329 while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
332 if (adapter->fc_autoneg == AUTONEG_ENABLE) {
334 if (netif_running(adapter->netdev)) {
335 e1000e_down(adapter);
336 e1000e_up(adapter);
338 e1000e_reset(adapter);
364 clear_bit(__E1000_RESETTING, &adapter->state);
370 struct e1000_adapter *adapter = netdev_priv(netdev);
371 return (adapter->flags & FLAG_RX_CSUM_ENABLED);
376 struct e1000_adapter *adapter = netdev_priv(netdev);
379 adapter->flags |= FLAG_RX_CSUM_ENABLED;
381 adapter->flags &= ~FLAG_RX_CSUM_ENABLED;
384 e1000e_reinit_locked(adapter);
386 e1000e_reset(adapter);
407 struct e1000_adapter *adapter = netdev_priv(netdev);
417 adapter->flags |= FLAG_TSO_FORCE;
423 struct e1000_adapter *adapter = netdev_priv(netdev);
424 return adapter->msg_enable;
429 struct e1000_adapter *adapter = netdev_priv(netdev);
430 adapter->msg_enable = data;
442 struct e1000_adapter *adapter = netdev_priv(netdev);
443 struct e1000_hw *hw = &adapter->hw;
450 pci_read_config_byte(adapter->pdev, PCI_REVISION_ID, &revision_id);
452 regs->version = (1 << 24) | (revision_id << 16) | adapter->pdev->device;
469 regs_buff[12] = adapter->hw.phy.type; /* PHY type (IGP=1, M88=0) */
486 regs_buff[22] = adapter->phy_stats.receive_errors;
497 struct e1000_adapter *adapter = netdev_priv(netdev);
498 return adapter->hw.nvm.word_size * 2;
504 struct e1000_adapter *adapter = netdev_priv(netdev);
505 struct e1000_hw *hw = &adapter->hw;
515 eeprom->magic = adapter->pdev->vendor | (adapter->pdev->device << 16);
557 struct e1000_adapter *adapter = netdev_priv(netdev);
558 struct e1000_hw *hw = &adapter->hw;
570 if (eeprom->magic != (adapter->pdev->vendor | (adapter->pdev->device << 16)))
573 if (adapter->flags & FLAG_READ_ONLY_NVM)
634 struct e1000_adapter *adapter = netdev_priv(netdev);
645 (adapter->eeprom_vers & 0xF000) >> 12,
646 (adapter->eeprom_vers & 0x0FF0) >> 4,
647 (adapter->eeprom_vers & 0x000F));
650 strncpy(drvinfo->bus_info, pci_name(adapter->pdev), 32);
658 struct e1000_adapter *adapter = netdev_priv(netdev);
659 struct e1000_ring *tx_ring = adapter->tx_ring;
660 struct e1000_ring *rx_ring = adapter->rx_ring;
675 struct e1000_adapter *adapter = netdev_priv(netdev);
683 while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
686 if (netif_running(adapter->netdev))
687 e1000e_down(adapter);
689 tx_old = adapter->tx_ring;
690 rx_old = adapter->rx_ring;
708 adapter->tx_ring = tx_ring;
709 adapter->rx_ring = rx_ring;
719 if (netif_running(adapter->netdev)) {
721 err = e1000e_setup_rx_resources(adapter);
724 err = e1000e_setup_tx_resources(adapter);
732 adapter->rx_ring = rx_old;
733 adapter->tx_ring = tx_old;
734 e1000e_free_rx_resources(adapter);
735 e1000e_free_tx_resources(adapter);
738 adapter->rx_ring = rx_ring;
739 adapter->tx_ring = tx_ring;
740 err = e1000e_up(adapter);
745 clear_bit(__E1000_RESETTING, &adapter->state);
748 e1000e_free_rx_resources(adapter);
750 adapter->rx_ring = rx_old;
751 adapter->tx_ring = tx_old;
756 e1000e_up(adapter);
758 clear_bit(__E1000_RESETTING, &adapter->state);
762 static bool reg_pattern_test(struct e1000_adapter *adapter, u64 *data,
769 E1000_WRITE_REG_ARRAY(&adapter->hw, reg, offset,
771 val = E1000_READ_REG_ARRAY(&adapter->hw, reg, offset);
783 static bool reg_set_and_check(struct e1000_adapter *adapter, u64 *data,
787 __ew32(&adapter->hw, reg, write & mask);
788 val = __er32(&adapter->hw, reg);
799 if (reg_pattern_test(adapter, data, reg, offset, mask, write)) \
807 if (reg_set_and_check(adapter, data, reg, mask, write)) \
811 static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data)
813 struct e1000_hw *hw = &adapter->hw;
814 struct e1000_mac_info *mac = &adapter->hw.mac;
851 if (!(adapter->flags & FLAG_IS_ICH)) {
871 before = ((adapter->flags & FLAG_IS_ICH) ? 0x06C3B33E : 0x06DFB3FE);
877 if (!(adapter->flags & FLAG_IS_ICH))
902 static int e1000_eeprom_test(struct e1000_adapter *adapter, u64 *data)
911 if ((e1000_read_nvm(&adapter->hw, i, 1, &temp)) < 0) {
928 struct e1000_adapter *adapter = netdev_priv(netdev);
929 struct e1000_hw *hw = &adapter->hw;
931 adapter->test_icr |= er32(ICR);
936 static int e1000_intr_test(struct e1000_adapter *adapter, u64 *data)
938 struct net_device *netdev = adapter->netdev;
939 struct e1000_hw *hw = &adapter->hw;
942 u32 irq = adapter->pdev->irq;
950 if (adapter->int_mode == E1000E_INT_MODE_MSIX) {
951 int_mode = adapter->int_mode;
952 e1000e_reset_interrupt_capability(adapter);
953 adapter->int_mode = E1000E_INT_MODE_LEGACY;
954 e1000e_set_interrupt_capability(adapter);
977 if (adapter->flags & FLAG_IS_ICH) {
982 if (adapter->hw.mac.type == e1000_ich8lan ||
983 adapter->hw.mac.type == e1000_ich9lan)
999 adapter->test_icr = 0;
1004 if (adapter->test_icr & mask) {
1017 adapter->test_icr = 0;
1022 if (!(adapter->test_icr & mask)) {
1035 adapter->test_icr = 0;
1040 if (adapter->test_icr) {
1056 e1000e_reset_interrupt_capability(adapter);
1057 adapter->int_mode = int_mode;
1058 e1000e_set_interrupt_capability(adapter);
1064 static void e1000_free_desc_rings(struct e1000_adapter *adapter)
1066 struct e1000_ring *tx_ring = &adapter->test_tx_ring;
1067 struct e1000_ring *rx_ring = &adapter->test_rx_ring;
1068 struct pci_dev *pdev = adapter->pdev;
1111 static int e1000_setup_desc_rings(struct e1000_adapter *adapter)
1113 struct e1000_ring *tx_ring = &adapter->test_tx_ring;
1114 struct e1000_ring *rx_ring = &adapter->test_rx_ring;
1115 struct pci_dev *pdev = adapter->pdev;
1116 struct e1000_hw *hw = &adapter->hw;
1217 (adapter->hw.mac.mc_filter_type << E1000_RCTL_MO_SHIFT);
1247 e1000_free_desc_rings(adapter);
1251 static void e1000_phy_disable_receiver(struct e1000_adapter *adapter)
1254 e1e_wphy(&adapter->hw, 29, 0x001F);
1255 e1e_wphy(&adapter->hw, 30, 0x8FFC);
1256 e1e_wphy(&adapter->hw, 29, 0x001A);
1257 e1e_wphy(&adapter->hw, 30, 0x8FF0);
1260 static int e1000_integrated_phy_loopback(struct e1000_adapter *adapter)
1262 struct e1000_hw *hw = &adapter->hw;
1353 if (adapter->flags & FLAG_IS_ICH)
1376 e1000_phy_disable_receiver(adapter);
1383 static int e1000_set_82571_fiber_loopback(struct e1000_adapter *adapter)
1385 struct e1000_hw *hw = &adapter->hw;
1424 static int e1000_set_es2lan_mac_loopback(struct e1000_adapter *adapter)
1426 struct e1000_hw *hw = &adapter->hw;
1434 adapter->tx_fifo_head = ctrlext;
1460 static int e1000_setup_loopback_test(struct e1000_adapter *adapter)
1462 struct e1000_hw *hw = &adapter->hw;
1469 return e1000_set_es2lan_mac_loopback(adapter);
1473 return e1000_set_82571_fiber_loopback(adapter);
1482 return e1000_integrated_phy_loopback(adapter);
1488 static void e1000_loopback_cleanup(struct e1000_adapter *adapter)
1490 struct e1000_hw *hw = &adapter->hw;
1503 ew32(CTRL_EXT, adapter->tx_fifo_head);
1504 adapter->tx_fifo_head = 0;
1552 static int e1000_run_loopback_test(struct e1000_adapter *adapter)
1554 struct e1000_ring *tx_ring = &adapter->test_tx_ring;
1555 struct e1000_ring *rx_ring = &adapter->test_rx_ring;
1556 struct pci_dev *pdev = adapter->pdev;
1557 struct e1000_hw *hw = &adapter->hw;
1625 static int e1000_loopback_test(struct e1000_adapter *adapter, u64 *data)
1631 if (e1000_check_reset_block(&adapter->hw)) {
1637 *data = e1000_setup_desc_rings(adapter);
1641 *data = e1000_setup_loopback_test(adapter);
1645 *data = e1000_run_loopback_test(adapter);
1646 e1000_loopback_cleanup(adapter);
1649 e1000_free_desc_rings(adapter);
1654 static int e1000_link_test(struct e1000_adapter *adapter, u64 *data)
1656 struct e1000_hw *hw = &adapter->hw;
1702 struct e1000_adapter *adapter = netdev_priv(netdev);
1708 set_bit(__E1000_TESTING, &adapter->state);
1713 autoneg_advertised = adapter->hw.phy.autoneg_advertised;
1714 forced_speed_duplex = adapter->hw.mac.forced_speed_duplex;
1715 autoneg = adapter->hw.mac.autoneg;
1723 if (e1000_link_test(adapter, &data[4]))
1730 e1000e_reset(adapter);
1732 if (e1000_reg_test(adapter, &data[0]))
1735 e1000e_reset(adapter);
1736 if (e1000_eeprom_test(adapter, &data[1]))
1739 e1000e_reset(adapter);
1740 if (e1000_intr_test(adapter, &data[2]))
1743 e1000e_reset(adapter);
1745 e1000e_power_up_phy(adapter);
1746 if (e1000_loopback_test(adapter, &data[3]))
1750 adapter->hw.phy.autoneg_advertised = autoneg_advertised;
1751 adapter->hw.mac.forced_speed_duplex = forced_speed_duplex;
1752 adapter->hw.mac.autoneg = autoneg;
1755 adapter->hw.phy.autoneg_wait_to_complete = 1;
1756 e1000e_reset(adapter);
1757 adapter->hw.phy.autoneg_wait_to_complete = 0;
1759 clear_bit(__E1000_TESTING, &adapter->state);
1763 if (!if_running && (adapter->flags & FLAG_HAS_AMT)) {
1764 clear_bit(__E1000_TESTING, &adapter->state);
1766 set_bit(__E1000_TESTING, &adapter->state);
1771 if (e1000_link_test(adapter, &data[4]))
1780 if (!if_running && (adapter->flags & FLAG_HAS_AMT))
1783 clear_bit(__E1000_TESTING, &adapter->state);
1791 struct e1000_adapter *adapter = netdev_priv(netdev);
1796 if (!(adapter->flags & FLAG_HAS_WOL) ||
1797 !device_can_wakeup(&adapter->pdev->dev))
1805 if (adapter->flags & FLAG_NO_WAKE_UCAST) {
1808 if (adapter->wol & E1000_WUFC_EX)
1813 if (adapter->wol & E1000_WUFC_EX)
1815 if (adapter->wol & E1000_WUFC_MC)
1817 if (adapter->wol & E1000_WUFC_BC)
1819 if (adapter->wol & E1000_WUFC_MAG)
1821 if (adapter->wol & E1000_WUFC_LNKC)
1823 if (adapter->wol & E1000_WUFC_ARP)
1830 struct e1000_adapter *adapter = netdev_priv(netdev);
1832 if (!(adapter->flags & FLAG_HAS_WOL) ||
1833 !device_can_wakeup(&adapter->pdev->dev) ||
1839 adapter->wol = 0;
1842 adapter->wol |= E1000_WUFC_EX;
1844 adapter->wol |= E1000_WUFC_MC;
1846 adapter->wol |= E1000_WUFC_BC;
1848 adapter->wol |= E1000_WUFC_MAG;
1850 adapter->wol |= E1000_WUFC_LNKC;
1852 adapter->wol |= E1000_WUFC_ARP;
1854 device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
1862 /* bit defines for adapter->led_status */
1867 struct e1000_adapter *adapter = container_of(work,
1870 if (test_and_change_bit(E1000_LED_ON, &adapter->led_status))
1871 adapter->hw.mac.ops.led_off(&adapter->hw);
1873 adapter->hw.mac.ops.led_on(&adapter->hw);
1878 struct e1000_adapter *adapter = (struct e1000_adapter *) data;
1880 schedule_work(&adapter->led_blink_task);
1881 mod_timer(&adapter->blink_timer, jiffies + E1000_ID_INTERVAL);
1886 struct e1000_adapter *adapter = netdev_priv(netdev);
1887 struct e1000_hw *hw = &adapter->hw;
1897 INIT_WORK(&adapter->led_blink_task, e1000e_led_blink_task);
1898 if (!adapter->blink_timer.function) {
1899 init_timer(&adapter->blink_timer);
1900 adapter->blink_timer.function =
1902 adapter->blink_timer.data = (unsigned long) adapter;
1904 mod_timer(&adapter->blink_timer, jiffies);
1906 del_timer_sync(&adapter->blink_timer);
1915 clear_bit(E1000_LED_ON, &adapter->led_status);
1924 struct e1000_adapter *adapter = netdev_priv(netdev);
1926 if (adapter->itr_setting <= 4)
1927 ec->rx_coalesce_usecs = adapter->itr_setting;
1929 ec->rx_coalesce_usecs = 1000000 / adapter->itr_setting;
1937 struct e1000_adapter *adapter = netdev_priv(netdev);
1938 struct e1000_hw *hw = &adapter->hw;
1947 adapter->itr = adapter->itr_setting = 4;
1949 adapter->itr = 20000;
1950 adapter->itr_setting = ec->rx_coalesce_usecs;
1952 adapter->itr = (1000000 / ec->rx_coalesce_usecs);
1953 adapter->itr_setting = adapter->itr & ~3;
1956 if (adapter->itr_setting != 0)
1957 ew32(ITR, 1000000000 / (adapter->itr * 256));
1966 struct e1000_adapter *adapter = netdev_priv(netdev);
1968 e1000e_reinit_locked(adapter);
1976 struct e1000_adapter *adapter = netdev_priv(netdev);
1980 e1000e_update_stats(adapter);
1988 p = (char *) adapter +