Lines Matching defs:adapter

114 	struct e1000_adapter *adapter = netdev_priv(netdev);
115 struct e1000_hw *hw = &adapter->hw;
156 speed = adapter->link_speed;
157 cmd->base.duplex = adapter->link_duplex - 1;
197 lpa_t = mii_stat1000_to_ethtool_lpa_t(adapter->phy_regs.stat1000);
199 mii_lpa_to_ethtool_lpa_t(adapter->phy_regs.lpa);
211 static int e1000_set_spd_dplx(struct e1000_adapter *adapter, u32 spd, u8 dplx)
213 struct e1000_mac_info *mac = &adapter->hw.mac;
224 if ((adapter->hw.phy.media_type == e1000_media_type_fiber) &&
243 if (adapter->hw.phy.media_type == e1000_media_type_copper) {
245 adapter->hw.phy.autoneg_advertised =
257 adapter->hw.phy.mdix = AUTO_ALL_MODES;
269 struct e1000_adapter *adapter = netdev_priv(netdev);
270 struct e1000_hw *hw = &adapter->hw;
307 while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
319 if (adapter->fc_autoneg)
324 if (e1000_set_spd_dplx(adapter, speed, cmd->base.duplex)) {
342 if (netif_running(adapter->netdev)) {
343 e1000e_down(adapter, true);
344 e1000e_up(adapter);
346 e1000e_reset(adapter);
351 clear_bit(__E1000_RESETTING, &adapter->state);
358 struct e1000_adapter *adapter = netdev_priv(netdev);
359 struct e1000_hw *hw = &adapter->hw;
362 (adapter->fc_autoneg ? AUTONEG_ENABLE : AUTONEG_DISABLE);
377 struct e1000_adapter *adapter = netdev_priv(netdev);
378 struct e1000_hw *hw = &adapter->hw;
381 adapter->fc_autoneg = pause->autoneg;
383 while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
388 if (adapter->fc_autoneg == AUTONEG_ENABLE) {
390 if (netif_running(adapter->netdev)) {
391 e1000e_down(adapter, true);
392 e1000e_up(adapter);
394 e1000e_reset(adapter);
421 clear_bit(__E1000_RESETTING, &adapter->state);
427 struct e1000_adapter *adapter = netdev_priv(netdev);
428 return adapter->msg_enable;
433 struct e1000_adapter *adapter = netdev_priv(netdev);
434 adapter->msg_enable = data;
446 struct e1000_adapter *adapter = netdev_priv(netdev);
447 struct e1000_hw *hw = &adapter->hw;
456 (adapter->pdev->revision << 16) |
457 adapter->pdev->device;
474 regs_buff[12] = adapter->hw.phy.type; /* PHY type (IGP=1, M88=0) */
491 regs_buff[22] = adapter->phy_stats.receive_errors;
504 struct e1000_adapter *adapter = netdev_priv(netdev);
505 return adapter->hw.nvm.word_size * 2;
511 struct e1000_adapter *adapter = netdev_priv(netdev);
512 struct e1000_hw *hw = &adapter->hw;
522 eeprom->magic = adapter->pdev->vendor | (adapter->pdev->device << 16);
568 struct e1000_adapter *adapter = netdev_priv(netdev);
569 struct e1000_hw *hw = &adapter->hw;
582 (adapter->pdev->vendor | (adapter->pdev->device << 16)))
585 if (adapter->flags & FLAG_READ_ONLY_NVM)
648 struct e1000_adapter *adapter = netdev_priv(netdev);
657 (adapter->eeprom_vers & 0xF000) >> 12,
658 (adapter->eeprom_vers & 0x0FF0) >> 4,
659 (adapter->eeprom_vers & 0x000F));
661 strscpy(drvinfo->bus_info, pci_name(adapter->pdev),
670 struct e1000_adapter *adapter = netdev_priv(netdev);
674 ring->rx_pending = adapter->rx_ring_count;
675 ring->tx_pending = adapter->tx_ring_count;
683 struct e1000_adapter *adapter = netdev_priv(netdev);
700 if ((new_tx_count == adapter->tx_ring_count) &&
701 (new_rx_count == adapter->rx_ring_count))
705 while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
708 if (!netif_running(adapter->netdev)) {
710 adapter->tx_ring->count = new_tx_count;
711 adapter->rx_ring->count = new_rx_count;
712 adapter->tx_ring_count = new_tx_count;
713 adapter->rx_ring_count = new_rx_count;
717 set_tx = (new_tx_count != adapter->tx_ring_count);
718 set_rx = (new_rx_count != adapter->rx_ring_count);
738 e1000e_down(adapter, true);
745 memcpy(temp_tx, adapter->tx_ring, size);
752 memcpy(temp_rx, adapter->rx_ring, size);
761 e1000e_free_tx_resources(adapter->tx_ring);
762 memcpy(adapter->tx_ring, temp_tx, size);
763 adapter->tx_ring_count = new_tx_count;
766 e1000e_free_rx_resources(adapter->rx_ring);
767 memcpy(adapter->rx_ring, temp_rx, size);
768 adapter->rx_ring_count = new_rx_count;
775 e1000e_up(adapter);
781 clear_bit(__E1000_RESETTING, &adapter->state);
785 static bool reg_pattern_test(struct e1000_adapter *adapter, u64 *data,
793 E1000_WRITE_REG_ARRAY(&adapter->hw, reg, offset,
795 val = E1000_READ_REG_ARRAY(&adapter->hw, reg, offset);
807 static bool reg_set_and_check(struct e1000_adapter *adapter, u64 *data,
812 __ew32(&adapter->hw, reg, write & mask);
813 val = __er32(&adapter->hw, reg);
825 if (reg_pattern_test(adapter, data, reg, offset, mask, write)) \
833 if (reg_set_and_check(adapter, data, reg, mask, write)) \
837 static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data)
839 struct e1000_hw *hw = &adapter->hw;
840 struct e1000_mac_info *mac = &adapter->hw.mac;
877 if (!(adapter->flags & FLAG_IS_ICH)) {
897 before = ((adapter->flags & FLAG_IS_ICH) ? 0x06C3B33E : 0x06DFB3FE);
903 if (!(adapter->flags & FLAG_IS_ICH))
970 static int e1000_eeprom_test(struct e1000_adapter *adapter, u64 *data)
979 if ((e1000_read_nvm(&adapter->hw, i, 1, &temp)) < 0) {
996 struct e1000_adapter *adapter = netdev_priv(netdev);
997 struct e1000_hw *hw = &adapter->hw;
999 adapter->test_icr |= er32(ICR);
1004 static int e1000_intr_test(struct e1000_adapter *adapter, u64 *data)
1006 struct net_device *netdev = adapter->netdev;
1007 struct e1000_hw *hw = &adapter->hw;
1010 u32 irq = adapter->pdev->irq;
1018 if (adapter->int_mode == E1000E_INT_MODE_MSIX) {
1019 int_mode = adapter->int_mode;
1020 e1000e_reset_interrupt_capability(adapter);
1021 adapter->int_mode = E1000E_INT_MODE_LEGACY;
1022 e1000e_set_interrupt_capability(adapter);
1046 if (adapter->flags & FLAG_IS_ICH) {
1051 if (adapter->hw.mac.type == e1000_ich8lan ||
1052 adapter->hw.mac.type == e1000_ich9lan)
1067 adapter->test_icr = 0;
1073 if (adapter->test_icr & mask) {
1085 adapter->test_icr = 0;
1091 if (!(adapter->test_icr & mask)) {
1103 adapter->test_icr = 0;
1109 if (adapter->test_icr) {
1126 e1000e_reset_interrupt_capability(adapter);
1127 adapter->int_mode = int_mode;
1128 e1000e_set_interrupt_capability(adapter);
1134 static void e1000_free_desc_rings(struct e1000_adapter *adapter)
1136 struct e1000_ring *tx_ring = &adapter->test_tx_ring;
1137 struct e1000_ring *rx_ring = &adapter->test_rx_ring;
1138 struct pci_dev *pdev = adapter->pdev;
1184 static int e1000_setup_desc_rings(struct e1000_adapter *adapter)
1186 struct e1000_ring *tx_ring = &adapter->test_tx_ring;
1187 struct e1000_ring *rx_ring = &adapter->test_rx_ring;
1188 struct pci_dev *pdev = adapter->pdev;
1189 struct e1000_hw *hw = &adapter->hw;
1278 if (!(adapter->flags2 & FLAG2_NO_DISABLE_RX))
1289 (adapter->hw.mac.mc_filter_type << E1000_RCTL_MO_SHIFT);
1320 e1000_free_desc_rings(adapter);
1324 static void e1000_phy_disable_receiver(struct e1000_adapter *adapter)
1327 e1e_wphy(&adapter->hw, 29, 0x001F);
1328 e1e_wphy(&adapter->hw, 30, 0x8FFC);
1329 e1e_wphy(&adapter->hw, 29, 0x001A);
1330 e1e_wphy(&adapter->hw, 30, 0x8FF0);
1333 static int e1000_integrated_phy_loopback(struct e1000_adapter *adapter)
1335 struct e1000_hw *hw = &adapter->hw;
1433 if (adapter->flags & FLAG_IS_ICH)
1453 e1000_phy_disable_receiver(adapter);
1460 static int e1000_set_82571_fiber_loopback(struct e1000_adapter *adapter)
1462 struct e1000_hw *hw = &adapter->hw;
1499 static int e1000_set_es2lan_mac_loopback(struct e1000_adapter *adapter)
1501 struct e1000_hw *hw = &adapter->hw;
1508 adapter->tx_fifo_head = ctrlext;
1534 static int e1000_setup_loopback_test(struct e1000_adapter *adapter)
1536 struct e1000_hw *hw = &adapter->hw;
1554 return e1000_set_es2lan_mac_loopback(adapter);
1557 return e1000_set_82571_fiber_loopback(adapter);
1565 return e1000_integrated_phy_loopback(adapter);
1571 static void e1000_loopback_cleanup(struct e1000_adapter *adapter)
1573 struct e1000_hw *hw = &adapter->hw;
1603 ew32(CTRL_EXT, adapter->tx_fifo_head);
1604 adapter->tx_fifo_head = 0;
1653 static int e1000_run_loopback_test(struct e1000_adapter *adapter)
1655 struct e1000_ring *tx_ring = &adapter->test_tx_ring;
1656 struct e1000_ring *rx_ring = &adapter->test_rx_ring;
1657 struct pci_dev *pdev = adapter->pdev;
1658 struct e1000_hw *hw = &adapter->hw;
1732 static int e1000_loopback_test(struct e1000_adapter *adapter, u64 *data)
1734 struct e1000_hw *hw = &adapter->hw;
1744 *data = e1000_setup_desc_rings(adapter);
1748 *data = e1000_setup_loopback_test(adapter);
1752 *data = e1000_run_loopback_test(adapter);
1753 e1000_loopback_cleanup(adapter);
1756 e1000_free_desc_rings(adapter);
1761 static int e1000_link_test(struct e1000_adapter *adapter, u64 *data)
1763 struct e1000_hw *hw = &adapter->hw;
1814 struct e1000_adapter *adapter = netdev_priv(netdev);
1822 set_bit(__E1000_TESTING, &adapter->state);
1826 if (adapter->flags & FLAG_HAS_AMT)
1827 e1000e_get_hw_control(adapter);
1829 e1000e_power_up_phy(adapter);
1831 adapter->hw.phy.autoneg_wait_to_complete = 1;
1832 e1000e_reset(adapter);
1833 adapter->hw.phy.autoneg_wait_to_complete = 0;
1840 autoneg_advertised = adapter->hw.phy.autoneg_advertised;
1841 forced_speed_duplex = adapter->hw.mac.forced_speed_duplex;
1842 autoneg = adapter->hw.mac.autoneg;
1850 if (e1000_reg_test(adapter, &data[0]))
1853 e1000e_reset(adapter);
1854 if (e1000_eeprom_test(adapter, &data[1]))
1857 e1000e_reset(adapter);
1858 if (e1000_intr_test(adapter, &data[2]))
1861 e1000e_reset(adapter);
1862 if (e1000_loopback_test(adapter, &data[3]))
1866 adapter->hw.phy.autoneg_wait_to_complete = 1;
1867 e1000e_reset(adapter);
1868 adapter->hw.phy.autoneg_wait_to_complete = 0;
1870 if (e1000_link_test(adapter, &data[4]))
1874 adapter->hw.phy.autoneg_advertised = autoneg_advertised;
1875 adapter->hw.mac.forced_speed_duplex = forced_speed_duplex;
1876 adapter->hw.mac.autoneg = autoneg;
1877 e1000e_reset(adapter);
1879 clear_bit(__E1000_TESTING, &adapter->state);
1893 if (e1000_link_test(adapter, &data[4]))
1896 clear_bit(__E1000_TESTING, &adapter->state);
1900 e1000e_reset(adapter);
1902 if (adapter->flags & FLAG_HAS_AMT)
1903 e1000e_release_hw_control(adapter);
1914 struct e1000_adapter *adapter = netdev_priv(netdev);
1919 if (!(adapter->flags & FLAG_HAS_WOL) ||
1920 !device_can_wakeup(&adapter->pdev->dev))
1927 if (adapter->flags & FLAG_NO_WAKE_UCAST) {
1930 if (adapter->wol & E1000_WUFC_EX)
1934 if (adapter->wol & E1000_WUFC_EX)
1936 if (adapter->wol & E1000_WUFC_MC)
1938 if (adapter->wol & E1000_WUFC_BC)
1940 if (adapter->wol & E1000_WUFC_MAG)
1942 if (adapter->wol & E1000_WUFC_LNKC)
1948 struct e1000_adapter *adapter = netdev_priv(netdev);
1950 if (!(adapter->flags & FLAG_HAS_WOL) ||
1951 !device_can_wakeup(&adapter->pdev->dev) ||
1957 adapter->wol = 0;
1960 adapter->wol |= E1000_WUFC_EX;
1962 adapter->wol |= E1000_WUFC_MC;
1964 adapter->wol |= E1000_WUFC_BC;
1966 adapter->wol |= E1000_WUFC_MAG;
1968 adapter->wol |= E1000_WUFC_LNKC;
1970 device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol);
1978 struct e1000_adapter *adapter = netdev_priv(netdev);
1979 struct e1000_hw *hw = &adapter->hw;
2016 struct e1000_adapter *adapter = netdev_priv(netdev);
2018 if (adapter->itr_setting <= 4)
2019 ec->rx_coalesce_usecs = adapter->itr_setting;
2021 ec->rx_coalesce_usecs = 1000000 / adapter->itr_setting;
2031 struct e1000_adapter *adapter = netdev_priv(netdev);
2040 adapter->itr_setting = 4;
2041 adapter->itr = adapter->itr_setting;
2043 adapter->itr = 20000;
2044 adapter->itr_setting = ec->rx_coalesce_usecs;
2046 adapter->itr = (1000000 / ec->rx_coalesce_usecs);
2047 adapter->itr_setting = adapter->itr & ~3;
2052 if (adapter->itr_setting != 0)
2053 e1000e_write_itr(adapter, adapter->itr);
2055 e1000e_write_itr(adapter, 0);
2064 struct e1000_adapter *adapter = netdev_priv(netdev);
2069 if (!adapter->hw.mac.autoneg)
2073 e1000e_reinit_locked(adapter);
2083 struct e1000_adapter *adapter = netdev_priv(netdev);
2101 p = (char *)adapter +
2146 struct e1000_adapter *adapter = netdev_priv(netdev);
2147 struct e1000_hw *hw = &adapter->hw;
2192 struct e1000_adapter *adapter = netdev_priv(netdev);
2193 struct e1000_hw *hw = &adapter->hw;
2197 if (!(adapter->flags2 & FLAG2_HAS_EEE))
2230 edata->advertised = mmd_eee_adv_to_ethtool_adv_t(adapter->eee_advert);
2268 struct e1000_adapter *adapter = netdev_priv(netdev);
2269 struct e1000_hw *hw = &adapter->hw;
2292 adapter->eee_advert = ethtool_adv_to_mmd_eee_adv_t(edata->advertised);
2300 e1000e_reinit_locked(adapter);
2302 e1000e_reset(adapter);
2312 struct e1000_adapter *adapter = netdev_priv(netdev);
2316 if (!(adapter->flags & FLAG_HAS_HW_TIMESTAMP))
2337 if (adapter->ptp_clock)
2338 info->phc_index = ptp_clock_index(adapter->ptp_clock);
2345 struct e1000_adapter *adapter = netdev_priv(netdev);
2348 if (adapter->flags2 & FLAG2_ENABLE_S0IX_FLOWS)
2356 struct e1000_adapter *adapter = netdev_priv(netdev);
2357 unsigned int flags2 = adapter->flags2;
2361 struct e1000_hw *hw = &adapter->hw;
2368 if (flags2 != adapter->flags2)
2369 adapter->flags2 = flags2;