Lines Matching refs:adapter
123 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_settings() local
124 struct e1000_hw *hw = &adapter->hw; in e1000_get_settings()
167 speed = adapter->link_speed; in e1000_get_settings()
168 ecmd->duplex = adapter->link_duplex - 1; in e1000_get_settings()
207 static int e1000_set_spd_dplx(struct e1000_adapter *adapter, u32 spd, u8 dplx) in e1000_set_spd_dplx() argument
209 struct e1000_mac_info *mac = &adapter->hw.mac; in e1000_set_spd_dplx()
220 if ((adapter->hw.phy.media_type == e1000_media_type_fiber) && in e1000_set_spd_dplx()
240 adapter->hw.phy.autoneg_advertised = ADVERTISE_1000_FULL; in e1000_set_spd_dplx()
248 adapter->hw.phy.mdix = AUTO_ALL_MODES; in e1000_set_spd_dplx()
260 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_set_settings() local
261 struct e1000_hw *hw = &adapter->hw; in e1000_set_settings()
294 while (test_and_set_bit(__E1000_RESETTING, &adapter->state)) in e1000_set_settings()
306 if (adapter->fc_autoneg) in e1000_set_settings()
311 if (e1000_set_spd_dplx(adapter, speed, ecmd->duplex)) { in e1000_set_settings()
329 if (netif_running(adapter->netdev)) { in e1000_set_settings()
330 e1000e_down(adapter, true); in e1000_set_settings()
331 e1000e_up(adapter); in e1000_set_settings()
333 e1000e_reset(adapter); in e1000_set_settings()
338 clear_bit(__E1000_RESETTING, &adapter->state); in e1000_set_settings()
345 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_pauseparam() local
346 struct e1000_hw *hw = &adapter->hw; in e1000_get_pauseparam()
349 (adapter->fc_autoneg ? AUTONEG_ENABLE : AUTONEG_DISABLE); in e1000_get_pauseparam()
364 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_set_pauseparam() local
365 struct e1000_hw *hw = &adapter->hw; in e1000_set_pauseparam()
368 adapter->fc_autoneg = pause->autoneg; in e1000_set_pauseparam()
370 while (test_and_set_bit(__E1000_RESETTING, &adapter->state)) in e1000_set_pauseparam()
375 if (adapter->fc_autoneg == AUTONEG_ENABLE) { in e1000_set_pauseparam()
377 if (netif_running(adapter->netdev)) { in e1000_set_pauseparam()
378 e1000e_down(adapter, true); in e1000_set_pauseparam()
379 e1000e_up(adapter); in e1000_set_pauseparam()
381 e1000e_reset(adapter); in e1000_set_pauseparam()
408 clear_bit(__E1000_RESETTING, &adapter->state); in e1000_set_pauseparam()
414 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_msglevel() local
415 return adapter->msg_enable; in e1000_get_msglevel()
420 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_set_msglevel() local
421 adapter->msg_enable = data; in e1000_set_msglevel()
433 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_regs() local
434 struct e1000_hw *hw = &adapter->hw; in e1000_get_regs()
442 regs->version = (1 << 24) | (adapter->pdev->revision << 16) | in e1000_get_regs()
443 adapter->pdev->device; in e1000_get_regs()
460 regs_buff[12] = adapter->hw.phy.type; /* PHY type (IGP=1, M88=0) */ in e1000_get_regs()
477 regs_buff[22] = adapter->phy_stats.receive_errors; in e1000_get_regs()
490 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_eeprom_len() local
491 return adapter->hw.nvm.word_size * 2; in e1000_get_eeprom_len()
497 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_eeprom() local
498 struct e1000_hw *hw = &adapter->hw; in e1000_get_eeprom()
508 eeprom->magic = adapter->pdev->vendor | (adapter->pdev->device << 16); in e1000_get_eeprom()
554 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_set_eeprom() local
555 struct e1000_hw *hw = &adapter->hw; in e1000_set_eeprom()
568 (adapter->pdev->vendor | (adapter->pdev->device << 16))) in e1000_set_eeprom()
571 if (adapter->flags & FLAG_READ_ONLY_NVM) in e1000_set_eeprom()
634 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_drvinfo() local
645 (adapter->eeprom_vers & 0xF000) >> 12, in e1000_get_drvinfo()
646 (adapter->eeprom_vers & 0x0FF0) >> 4, in e1000_get_drvinfo()
647 (adapter->eeprom_vers & 0x000F)); in e1000_get_drvinfo()
649 strlcpy(drvinfo->bus_info, pci_name(adapter->pdev), in e1000_get_drvinfo()
656 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_ringparam() local
660 ring->rx_pending = adapter->rx_ring_count; in e1000_get_ringparam()
661 ring->tx_pending = adapter->tx_ring_count; in e1000_get_ringparam()
667 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_set_ringparam() local
684 if ((new_tx_count == adapter->tx_ring_count) && in e1000_set_ringparam()
685 (new_rx_count == adapter->rx_ring_count)) in e1000_set_ringparam()
689 while (test_and_set_bit(__E1000_RESETTING, &adapter->state)) in e1000_set_ringparam()
692 if (!netif_running(adapter->netdev)) { in e1000_set_ringparam()
694 adapter->tx_ring->count = new_tx_count; in e1000_set_ringparam()
695 adapter->rx_ring->count = new_rx_count; in e1000_set_ringparam()
696 adapter->tx_ring_count = new_tx_count; in e1000_set_ringparam()
697 adapter->rx_ring_count = new_rx_count; in e1000_set_ringparam()
701 set_tx = (new_tx_count != adapter->tx_ring_count); in e1000_set_ringparam()
702 set_rx = (new_rx_count != adapter->rx_ring_count); in e1000_set_ringparam()
722 e1000e_down(adapter, true); in e1000_set_ringparam()
729 memcpy(temp_tx, adapter->tx_ring, size); in e1000_set_ringparam()
736 memcpy(temp_rx, adapter->rx_ring, size); in e1000_set_ringparam()
745 e1000e_free_tx_resources(adapter->tx_ring); in e1000_set_ringparam()
746 memcpy(adapter->tx_ring, temp_tx, size); in e1000_set_ringparam()
747 adapter->tx_ring_count = new_tx_count; in e1000_set_ringparam()
750 e1000e_free_rx_resources(adapter->rx_ring); in e1000_set_ringparam()
751 memcpy(adapter->rx_ring, temp_rx, size); in e1000_set_ringparam()
752 adapter->rx_ring_count = new_rx_count; in e1000_set_ringparam()
759 e1000e_up(adapter); in e1000_set_ringparam()
765 clear_bit(__E1000_RESETTING, &adapter->state); in e1000_set_ringparam()
769 static bool reg_pattern_test(struct e1000_adapter *adapter, u64 *data, in reg_pattern_test() argument
777 E1000_WRITE_REG_ARRAY(&adapter->hw, reg, offset, in reg_pattern_test()
779 val = E1000_READ_REG_ARRAY(&adapter->hw, reg, offset); in reg_pattern_test()
791 static bool reg_set_and_check(struct e1000_adapter *adapter, u64 *data, in reg_set_and_check() argument
796 __ew32(&adapter->hw, reg, write & mask); in reg_set_and_check()
797 val = __er32(&adapter->hw, reg); in reg_set_and_check()
809 if (reg_pattern_test(adapter, data, reg, offset, mask, write)) \
817 if (reg_set_and_check(adapter, data, reg, mask, write)) \
821 static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data) in e1000_reg_test() argument
823 struct e1000_hw *hw = &adapter->hw; in e1000_reg_test()
824 struct e1000_mac_info *mac = &adapter->hw.mac; in e1000_reg_test()
861 if (!(adapter->flags & FLAG_IS_ICH)) { in e1000_reg_test()
881 before = ((adapter->flags & FLAG_IS_ICH) ? 0x06C3B33E : 0x06DFB3FE); in e1000_reg_test()
887 if (!(adapter->flags & FLAG_IS_ICH)) in e1000_reg_test()
948 static int e1000_eeprom_test(struct e1000_adapter *adapter, u64 *data) in e1000_eeprom_test() argument
957 if ((e1000_read_nvm(&adapter->hw, i, 1, &temp)) < 0) { in e1000_eeprom_test()
974 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_test_intr() local
975 struct e1000_hw *hw = &adapter->hw; in e1000_test_intr()
977 adapter->test_icr |= er32(ICR); in e1000_test_intr()
982 static int e1000_intr_test(struct e1000_adapter *adapter, u64 *data) in e1000_intr_test() argument
984 struct net_device *netdev = adapter->netdev; in e1000_intr_test()
985 struct e1000_hw *hw = &adapter->hw; in e1000_intr_test()
988 u32 irq = adapter->pdev->irq; in e1000_intr_test()
996 if (adapter->int_mode == E1000E_INT_MODE_MSIX) { in e1000_intr_test()
997 int_mode = adapter->int_mode; in e1000_intr_test()
998 e1000e_reset_interrupt_capability(adapter); in e1000_intr_test()
999 adapter->int_mode = E1000E_INT_MODE_LEGACY; in e1000_intr_test()
1000 e1000e_set_interrupt_capability(adapter); in e1000_intr_test()
1024 if (adapter->flags & FLAG_IS_ICH) { in e1000_intr_test()
1029 if (adapter->hw.mac.type == e1000_ich8lan || in e1000_intr_test()
1030 adapter->hw.mac.type == e1000_ich9lan) in e1000_intr_test()
1045 adapter->test_icr = 0; in e1000_intr_test()
1051 if (adapter->test_icr & mask) { in e1000_intr_test()
1063 adapter->test_icr = 0; in e1000_intr_test()
1069 if (!(adapter->test_icr & mask)) { in e1000_intr_test()
1081 adapter->test_icr = 0; in e1000_intr_test()
1087 if (adapter->test_icr) { in e1000_intr_test()
1104 e1000e_reset_interrupt_capability(adapter); in e1000_intr_test()
1105 adapter->int_mode = int_mode; in e1000_intr_test()
1106 e1000e_set_interrupt_capability(adapter); in e1000_intr_test()
1112 static void e1000_free_desc_rings(struct e1000_adapter *adapter) in e1000_free_desc_rings() argument
1114 struct e1000_ring *tx_ring = &adapter->test_tx_ring; in e1000_free_desc_rings()
1115 struct e1000_ring *rx_ring = &adapter->test_rx_ring; in e1000_free_desc_rings()
1116 struct pci_dev *pdev = adapter->pdev; in e1000_free_desc_rings()
1164 static int e1000_setup_desc_rings(struct e1000_adapter *adapter) in e1000_setup_desc_rings() argument
1166 struct e1000_ring *tx_ring = &adapter->test_tx_ring; in e1000_setup_desc_rings()
1167 struct e1000_ring *rx_ring = &adapter->test_rx_ring; in e1000_setup_desc_rings()
1168 struct pci_dev *pdev = adapter->pdev; in e1000_setup_desc_rings()
1169 struct e1000_hw *hw = &adapter->hw; in e1000_setup_desc_rings()
1258 if (!(adapter->flags2 & FLAG2_NO_DISABLE_RX)) in e1000_setup_desc_rings()
1269 (adapter->hw.mac.mc_filter_type << E1000_RCTL_MO_SHIFT); in e1000_setup_desc_rings()
1300 e1000_free_desc_rings(adapter); in e1000_setup_desc_rings()
1304 static void e1000_phy_disable_receiver(struct e1000_adapter *adapter) in e1000_phy_disable_receiver() argument
1307 e1e_wphy(&adapter->hw, 29, 0x001F); in e1000_phy_disable_receiver()
1308 e1e_wphy(&adapter->hw, 30, 0x8FFC); in e1000_phy_disable_receiver()
1309 e1e_wphy(&adapter->hw, 29, 0x001A); in e1000_phy_disable_receiver()
1310 e1e_wphy(&adapter->hw, 30, 0x8FF0); in e1000_phy_disable_receiver()
1313 static int e1000_integrated_phy_loopback(struct e1000_adapter *adapter) in e1000_integrated_phy_loopback() argument
1315 struct e1000_hw *hw = &adapter->hw; in e1000_integrated_phy_loopback()
1413 if (adapter->flags & FLAG_IS_ICH) in e1000_integrated_phy_loopback()
1433 e1000_phy_disable_receiver(adapter); in e1000_integrated_phy_loopback()
1440 static int e1000_set_82571_fiber_loopback(struct e1000_adapter *adapter) in e1000_set_82571_fiber_loopback() argument
1442 struct e1000_hw *hw = &adapter->hw; in e1000_set_82571_fiber_loopback()
1479 static int e1000_set_es2lan_mac_loopback(struct e1000_adapter *adapter) in e1000_set_es2lan_mac_loopback() argument
1481 struct e1000_hw *hw = &adapter->hw; in e1000_set_es2lan_mac_loopback()
1488 adapter->tx_fifo_head = ctrlext; in e1000_set_es2lan_mac_loopback()
1514 static int e1000_setup_loopback_test(struct e1000_adapter *adapter) in e1000_setup_loopback_test() argument
1516 struct e1000_hw *hw = &adapter->hw; in e1000_setup_loopback_test()
1534 return e1000_set_es2lan_mac_loopback(adapter); in e1000_setup_loopback_test()
1537 return e1000_set_82571_fiber_loopback(adapter); in e1000_setup_loopback_test()
1545 return e1000_integrated_phy_loopback(adapter); in e1000_setup_loopback_test()
1551 static void e1000_loopback_cleanup(struct e1000_adapter *adapter) in e1000_loopback_cleanup() argument
1553 struct e1000_hw *hw = &adapter->hw; in e1000_loopback_cleanup()
1576 ew32(CTRL_EXT, adapter->tx_fifo_head); in e1000_loopback_cleanup()
1577 adapter->tx_fifo_head = 0; in e1000_loopback_cleanup()
1626 static int e1000_run_loopback_test(struct e1000_adapter *adapter) in e1000_run_loopback_test() argument
1628 struct e1000_ring *tx_ring = &adapter->test_tx_ring; in e1000_run_loopback_test()
1629 struct e1000_ring *rx_ring = &adapter->test_rx_ring; in e1000_run_loopback_test()
1630 struct pci_dev *pdev = adapter->pdev; in e1000_run_loopback_test()
1631 struct e1000_hw *hw = &adapter->hw; in e1000_run_loopback_test()
1705 static int e1000_loopback_test(struct e1000_adapter *adapter, u64 *data) in e1000_loopback_test() argument
1707 struct e1000_hw *hw = &adapter->hw; in e1000_loopback_test()
1717 *data = e1000_setup_desc_rings(adapter); in e1000_loopback_test()
1721 *data = e1000_setup_loopback_test(adapter); in e1000_loopback_test()
1725 *data = e1000_run_loopback_test(adapter); in e1000_loopback_test()
1726 e1000_loopback_cleanup(adapter); in e1000_loopback_test()
1729 e1000_free_desc_rings(adapter); in e1000_loopback_test()
1734 static int e1000_link_test(struct e1000_adapter *adapter, u64 *data) in e1000_link_test() argument
1736 struct e1000_hw *hw = &adapter->hw; in e1000_link_test()
1785 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_diag_test() local
1793 set_bit(__E1000_TESTING, &adapter->state); in e1000_diag_test()
1797 if (adapter->flags & FLAG_HAS_AMT) in e1000_diag_test()
1798 e1000e_get_hw_control(adapter); in e1000_diag_test()
1800 e1000e_power_up_phy(adapter); in e1000_diag_test()
1802 adapter->hw.phy.autoneg_wait_to_complete = 1; in e1000_diag_test()
1803 e1000e_reset(adapter); in e1000_diag_test()
1804 adapter->hw.phy.autoneg_wait_to_complete = 0; in e1000_diag_test()
1811 autoneg_advertised = adapter->hw.phy.autoneg_advertised; in e1000_diag_test()
1812 forced_speed_duplex = adapter->hw.mac.forced_speed_duplex; in e1000_diag_test()
1813 autoneg = adapter->hw.mac.autoneg; in e1000_diag_test()
1821 if (e1000_reg_test(adapter, &data[0])) in e1000_diag_test()
1824 e1000e_reset(adapter); in e1000_diag_test()
1825 if (e1000_eeprom_test(adapter, &data[1])) in e1000_diag_test()
1828 e1000e_reset(adapter); in e1000_diag_test()
1829 if (e1000_intr_test(adapter, &data[2])) in e1000_diag_test()
1832 e1000e_reset(adapter); in e1000_diag_test()
1833 if (e1000_loopback_test(adapter, &data[3])) in e1000_diag_test()
1837 adapter->hw.phy.autoneg_wait_to_complete = 1; in e1000_diag_test()
1838 e1000e_reset(adapter); in e1000_diag_test()
1839 adapter->hw.phy.autoneg_wait_to_complete = 0; in e1000_diag_test()
1841 if (e1000_link_test(adapter, &data[4])) in e1000_diag_test()
1845 adapter->hw.phy.autoneg_advertised = autoneg_advertised; in e1000_diag_test()
1846 adapter->hw.mac.forced_speed_duplex = forced_speed_duplex; in e1000_diag_test()
1847 adapter->hw.mac.autoneg = autoneg; in e1000_diag_test()
1848 e1000e_reset(adapter); in e1000_diag_test()
1850 clear_bit(__E1000_TESTING, &adapter->state); in e1000_diag_test()
1864 if (e1000_link_test(adapter, &data[4])) in e1000_diag_test()
1867 clear_bit(__E1000_TESTING, &adapter->state); in e1000_diag_test()
1871 e1000e_reset(adapter); in e1000_diag_test()
1873 if (adapter->flags & FLAG_HAS_AMT) in e1000_diag_test()
1874 e1000e_release_hw_control(adapter); in e1000_diag_test()
1885 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_wol() local
1890 if (!(adapter->flags & FLAG_HAS_WOL) || in e1000_get_wol()
1891 !device_can_wakeup(&adapter->pdev->dev)) in e1000_get_wol()
1898 if (adapter->flags & FLAG_NO_WAKE_UCAST) { in e1000_get_wol()
1901 if (adapter->wol & E1000_WUFC_EX) in e1000_get_wol()
1905 if (adapter->wol & E1000_WUFC_EX) in e1000_get_wol()
1907 if (adapter->wol & E1000_WUFC_MC) in e1000_get_wol()
1909 if (adapter->wol & E1000_WUFC_BC) in e1000_get_wol()
1911 if (adapter->wol & E1000_WUFC_MAG) in e1000_get_wol()
1913 if (adapter->wol & E1000_WUFC_LNKC) in e1000_get_wol()
1919 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_set_wol() local
1921 if (!(adapter->flags & FLAG_HAS_WOL) || in e1000_set_wol()
1922 !device_can_wakeup(&adapter->pdev->dev) || in e1000_set_wol()
1928 adapter->wol = 0; in e1000_set_wol()
1931 adapter->wol |= E1000_WUFC_EX; in e1000_set_wol()
1933 adapter->wol |= E1000_WUFC_MC; in e1000_set_wol()
1935 adapter->wol |= E1000_WUFC_BC; in e1000_set_wol()
1937 adapter->wol |= E1000_WUFC_MAG; in e1000_set_wol()
1939 adapter->wol |= E1000_WUFC_LNKC; in e1000_set_wol()
1941 device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol); in e1000_set_wol()
1949 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_set_phys_id() local
1950 struct e1000_hw *hw = &adapter->hw; in e1000_set_phys_id()
1985 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_coalesce() local
1987 if (adapter->itr_setting <= 4) in e1000_get_coalesce()
1988 ec->rx_coalesce_usecs = adapter->itr_setting; in e1000_get_coalesce()
1990 ec->rx_coalesce_usecs = 1000000 / adapter->itr_setting; in e1000_get_coalesce()
1998 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_set_coalesce() local
2007 adapter->itr_setting = 4; in e1000_set_coalesce()
2008 adapter->itr = adapter->itr_setting; in e1000_set_coalesce()
2010 adapter->itr = 20000; in e1000_set_coalesce()
2011 adapter->itr_setting = ec->rx_coalesce_usecs; in e1000_set_coalesce()
2013 adapter->itr = (1000000 / ec->rx_coalesce_usecs); in e1000_set_coalesce()
2014 adapter->itr_setting = adapter->itr & ~3; in e1000_set_coalesce()
2019 if (adapter->itr_setting != 0) in e1000_set_coalesce()
2020 e1000e_write_itr(adapter, adapter->itr); in e1000_set_coalesce()
2022 e1000e_write_itr(adapter, 0); in e1000_set_coalesce()
2031 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_nway_reset() local
2036 if (!adapter->hw.mac.autoneg) in e1000_nway_reset()
2040 e1000e_reinit_locked(adapter); in e1000_nway_reset()
2050 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_ethtool_stats() local
2068 p = (char *)adapter + in e1000_get_ethtool_stats()
2109 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_rxnfc() local
2110 struct e1000_hw *hw = &adapter->hw; in e1000_get_rxnfc()
2155 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000e_get_eee() local
2156 struct e1000_hw *hw = &adapter->hw; in e1000e_get_eee()
2160 if (!(adapter->flags2 & FLAG2_HAS_EEE)) in e1000e_get_eee()
2193 edata->advertised = mmd_eee_adv_to_ethtool_adv_t(adapter->eee_advert); in e1000e_get_eee()
2231 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000e_set_eee() local
2232 struct e1000_hw *hw = &adapter->hw; in e1000e_set_eee()
2255 adapter->eee_advert = ethtool_adv_to_mmd_eee_adv_t(edata->advertised); in e1000e_set_eee()
2263 e1000e_reinit_locked(adapter); in e1000e_set_eee()
2265 e1000e_reset(adapter); in e1000e_set_eee()
2275 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000e_get_ts_info() local
2279 if (!(adapter->flags & FLAG_HAS_HW_TIMESTAMP)) in e1000e_get_ts_info()
2300 if (adapter->ptp_clock) in e1000e_get_ts_info()
2301 info->phc_index = ptp_clock_index(adapter->ptp_clock); in e1000e_get_ts_info()