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()
658 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_ringparam() local
662 ring->rx_pending = adapter->rx_ring_count; in e1000_get_ringparam()
663 ring->tx_pending = adapter->tx_ring_count; in e1000_get_ringparam()
669 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_set_ringparam() local
686 if ((new_tx_count == adapter->tx_ring_count) && in e1000_set_ringparam()
687 (new_rx_count == adapter->rx_ring_count)) in e1000_set_ringparam()
691 while (test_and_set_bit(__E1000_RESETTING, &adapter->state)) in e1000_set_ringparam()
694 if (!netif_running(adapter->netdev)) { 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()
698 adapter->tx_ring_count = new_tx_count; in e1000_set_ringparam()
699 adapter->rx_ring_count = new_rx_count; in e1000_set_ringparam()
703 set_tx = (new_tx_count != adapter->tx_ring_count); in e1000_set_ringparam()
704 set_rx = (new_rx_count != adapter->rx_ring_count); in e1000_set_ringparam()
724 e1000e_down(adapter, true); in e1000_set_ringparam()
731 memcpy(temp_tx, adapter->tx_ring, size); in e1000_set_ringparam()
738 memcpy(temp_rx, adapter->rx_ring, size); in e1000_set_ringparam()
747 e1000e_free_tx_resources(adapter->tx_ring); in e1000_set_ringparam()
748 memcpy(adapter->tx_ring, temp_tx, size); in e1000_set_ringparam()
749 adapter->tx_ring_count = new_tx_count; in e1000_set_ringparam()
752 e1000e_free_rx_resources(adapter->rx_ring); in e1000_set_ringparam()
753 memcpy(adapter->rx_ring, temp_rx, size); in e1000_set_ringparam()
754 adapter->rx_ring_count = new_rx_count; in e1000_set_ringparam()
761 e1000e_up(adapter); in e1000_set_ringparam()
767 clear_bit(__E1000_RESETTING, &adapter->state); in e1000_set_ringparam()
771 static bool reg_pattern_test(struct e1000_adapter *adapter, u64 *data, in reg_pattern_test() argument
779 E1000_WRITE_REG_ARRAY(&adapter->hw, reg, offset, in reg_pattern_test()
781 val = E1000_READ_REG_ARRAY(&adapter->hw, reg, offset); in reg_pattern_test()
793 static bool reg_set_and_check(struct e1000_adapter *adapter, u64 *data, in reg_set_and_check() argument
798 __ew32(&adapter->hw, reg, write & mask); in reg_set_and_check()
799 val = __er32(&adapter->hw, reg); in reg_set_and_check()
811 if (reg_pattern_test(adapter, data, reg, offset, mask, write)) \
819 if (reg_set_and_check(adapter, data, reg, mask, write)) \
823 static int e1000_reg_test(struct e1000_adapter *adapter, u64 *data) in e1000_reg_test() argument
825 struct e1000_hw *hw = &adapter->hw; in e1000_reg_test()
826 struct e1000_mac_info *mac = &adapter->hw.mac; in e1000_reg_test()
863 if (!(adapter->flags & FLAG_IS_ICH)) { in e1000_reg_test()
883 before = ((adapter->flags & FLAG_IS_ICH) ? 0x06C3B33E : 0x06DFB3FE); in e1000_reg_test()
889 if (!(adapter->flags & FLAG_IS_ICH)) in e1000_reg_test()
950 static int e1000_eeprom_test(struct e1000_adapter *adapter, u64 *data) in e1000_eeprom_test() argument
959 if ((e1000_read_nvm(&adapter->hw, i, 1, &temp)) < 0) { in e1000_eeprom_test()
976 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_test_intr() local
977 struct e1000_hw *hw = &adapter->hw; in e1000_test_intr()
979 adapter->test_icr |= er32(ICR); in e1000_test_intr()
984 static int e1000_intr_test(struct e1000_adapter *adapter, u64 *data) in e1000_intr_test() argument
986 struct net_device *netdev = adapter->netdev; in e1000_intr_test()
987 struct e1000_hw *hw = &adapter->hw; in e1000_intr_test()
990 u32 irq = adapter->pdev->irq; in e1000_intr_test()
998 if (adapter->int_mode == E1000E_INT_MODE_MSIX) { in e1000_intr_test()
999 int_mode = adapter->int_mode; in e1000_intr_test()
1000 e1000e_reset_interrupt_capability(adapter); in e1000_intr_test()
1001 adapter->int_mode = E1000E_INT_MODE_LEGACY; in e1000_intr_test()
1002 e1000e_set_interrupt_capability(adapter); in e1000_intr_test()
1026 if (adapter->flags & FLAG_IS_ICH) { in e1000_intr_test()
1031 if (adapter->hw.mac.type == e1000_ich8lan || in e1000_intr_test()
1032 adapter->hw.mac.type == e1000_ich9lan) in e1000_intr_test()
1047 adapter->test_icr = 0; in e1000_intr_test()
1053 if (adapter->test_icr & mask) { in e1000_intr_test()
1065 adapter->test_icr = 0; in e1000_intr_test()
1071 if (!(adapter->test_icr & mask)) { in e1000_intr_test()
1083 adapter->test_icr = 0; in e1000_intr_test()
1089 if (adapter->test_icr) { in e1000_intr_test()
1106 e1000e_reset_interrupt_capability(adapter); in e1000_intr_test()
1107 adapter->int_mode = int_mode; in e1000_intr_test()
1108 e1000e_set_interrupt_capability(adapter); in e1000_intr_test()
1114 static void e1000_free_desc_rings(struct e1000_adapter *adapter) in e1000_free_desc_rings() argument
1116 struct e1000_ring *tx_ring = &adapter->test_tx_ring; in e1000_free_desc_rings()
1117 struct e1000_ring *rx_ring = &adapter->test_rx_ring; in e1000_free_desc_rings()
1118 struct pci_dev *pdev = adapter->pdev; in e1000_free_desc_rings()
1166 static int e1000_setup_desc_rings(struct e1000_adapter *adapter) in e1000_setup_desc_rings() argument
1168 struct e1000_ring *tx_ring = &adapter->test_tx_ring; in e1000_setup_desc_rings()
1169 struct e1000_ring *rx_ring = &adapter->test_rx_ring; in e1000_setup_desc_rings()
1170 struct pci_dev *pdev = adapter->pdev; in e1000_setup_desc_rings()
1171 struct e1000_hw *hw = &adapter->hw; in e1000_setup_desc_rings()
1260 if (!(adapter->flags2 & FLAG2_NO_DISABLE_RX)) in e1000_setup_desc_rings()
1271 (adapter->hw.mac.mc_filter_type << E1000_RCTL_MO_SHIFT); in e1000_setup_desc_rings()
1302 e1000_free_desc_rings(adapter); in e1000_setup_desc_rings()
1306 static void e1000_phy_disable_receiver(struct e1000_adapter *adapter) in e1000_phy_disable_receiver() argument
1309 e1e_wphy(&adapter->hw, 29, 0x001F); in e1000_phy_disable_receiver()
1310 e1e_wphy(&adapter->hw, 30, 0x8FFC); in e1000_phy_disable_receiver()
1311 e1e_wphy(&adapter->hw, 29, 0x001A); in e1000_phy_disable_receiver()
1312 e1e_wphy(&adapter->hw, 30, 0x8FF0); in e1000_phy_disable_receiver()
1315 static int e1000_integrated_phy_loopback(struct e1000_adapter *adapter) in e1000_integrated_phy_loopback() argument
1317 struct e1000_hw *hw = &adapter->hw; in e1000_integrated_phy_loopback()
1415 if (adapter->flags & FLAG_IS_ICH) in e1000_integrated_phy_loopback()
1435 e1000_phy_disable_receiver(adapter); in e1000_integrated_phy_loopback()
1442 static int e1000_set_82571_fiber_loopback(struct e1000_adapter *adapter) in e1000_set_82571_fiber_loopback() argument
1444 struct e1000_hw *hw = &adapter->hw; in e1000_set_82571_fiber_loopback()
1481 static int e1000_set_es2lan_mac_loopback(struct e1000_adapter *adapter) in e1000_set_es2lan_mac_loopback() argument
1483 struct e1000_hw *hw = &adapter->hw; in e1000_set_es2lan_mac_loopback()
1490 adapter->tx_fifo_head = ctrlext; in e1000_set_es2lan_mac_loopback()
1516 static int e1000_setup_loopback_test(struct e1000_adapter *adapter) in e1000_setup_loopback_test() argument
1518 struct e1000_hw *hw = &adapter->hw; in e1000_setup_loopback_test()
1525 return e1000_set_es2lan_mac_loopback(adapter); in e1000_setup_loopback_test()
1528 return e1000_set_82571_fiber_loopback(adapter); in e1000_setup_loopback_test()
1536 return e1000_integrated_phy_loopback(adapter); in e1000_setup_loopback_test()
1542 static void e1000_loopback_cleanup(struct e1000_adapter *adapter) in e1000_loopback_cleanup() argument
1544 struct e1000_hw *hw = &adapter->hw; in e1000_loopback_cleanup()
1557 ew32(CTRL_EXT, adapter->tx_fifo_head); in e1000_loopback_cleanup()
1558 adapter->tx_fifo_head = 0; in e1000_loopback_cleanup()
1607 static int e1000_run_loopback_test(struct e1000_adapter *adapter) in e1000_run_loopback_test() argument
1609 struct e1000_ring *tx_ring = &adapter->test_tx_ring; in e1000_run_loopback_test()
1610 struct e1000_ring *rx_ring = &adapter->test_rx_ring; in e1000_run_loopback_test()
1611 struct pci_dev *pdev = adapter->pdev; in e1000_run_loopback_test()
1612 struct e1000_hw *hw = &adapter->hw; in e1000_run_loopback_test()
1686 static int e1000_loopback_test(struct e1000_adapter *adapter, u64 *data) in e1000_loopback_test() argument
1688 struct e1000_hw *hw = &adapter->hw; in e1000_loopback_test()
1698 *data = e1000_setup_desc_rings(adapter); in e1000_loopback_test()
1702 *data = e1000_setup_loopback_test(adapter); in e1000_loopback_test()
1706 *data = e1000_run_loopback_test(adapter); in e1000_loopback_test()
1707 e1000_loopback_cleanup(adapter); in e1000_loopback_test()
1710 e1000_free_desc_rings(adapter); in e1000_loopback_test()
1715 static int e1000_link_test(struct e1000_adapter *adapter, u64 *data) in e1000_link_test() argument
1717 struct e1000_hw *hw = &adapter->hw; in e1000_link_test()
1766 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_diag_test() local
1774 set_bit(__E1000_TESTING, &adapter->state); in e1000_diag_test()
1778 if (adapter->flags & FLAG_HAS_AMT) in e1000_diag_test()
1779 e1000e_get_hw_control(adapter); in e1000_diag_test()
1781 e1000e_power_up_phy(adapter); in e1000_diag_test()
1783 adapter->hw.phy.autoneg_wait_to_complete = 1; in e1000_diag_test()
1784 e1000e_reset(adapter); in e1000_diag_test()
1785 adapter->hw.phy.autoneg_wait_to_complete = 0; in e1000_diag_test()
1792 autoneg_advertised = adapter->hw.phy.autoneg_advertised; in e1000_diag_test()
1793 forced_speed_duplex = adapter->hw.mac.forced_speed_duplex; in e1000_diag_test()
1794 autoneg = adapter->hw.mac.autoneg; in e1000_diag_test()
1802 if (e1000_reg_test(adapter, &data[0])) in e1000_diag_test()
1805 e1000e_reset(adapter); in e1000_diag_test()
1806 if (e1000_eeprom_test(adapter, &data[1])) in e1000_diag_test()
1809 e1000e_reset(adapter); in e1000_diag_test()
1810 if (e1000_intr_test(adapter, &data[2])) in e1000_diag_test()
1813 e1000e_reset(adapter); in e1000_diag_test()
1814 if (e1000_loopback_test(adapter, &data[3])) in e1000_diag_test()
1818 adapter->hw.phy.autoneg_wait_to_complete = 1; in e1000_diag_test()
1819 e1000e_reset(adapter); in e1000_diag_test()
1820 adapter->hw.phy.autoneg_wait_to_complete = 0; in e1000_diag_test()
1822 if (e1000_link_test(adapter, &data[4])) in e1000_diag_test()
1826 adapter->hw.phy.autoneg_advertised = autoneg_advertised; in e1000_diag_test()
1827 adapter->hw.mac.forced_speed_duplex = forced_speed_duplex; in e1000_diag_test()
1828 adapter->hw.mac.autoneg = autoneg; in e1000_diag_test()
1829 e1000e_reset(adapter); in e1000_diag_test()
1831 clear_bit(__E1000_TESTING, &adapter->state); in e1000_diag_test()
1845 if (e1000_link_test(adapter, &data[4])) in e1000_diag_test()
1848 clear_bit(__E1000_TESTING, &adapter->state); in e1000_diag_test()
1852 e1000e_reset(adapter); in e1000_diag_test()
1854 if (adapter->flags & FLAG_HAS_AMT) in e1000_diag_test()
1855 e1000e_release_hw_control(adapter); in e1000_diag_test()
1866 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_wol() local
1871 if (!(adapter->flags & FLAG_HAS_WOL) || in e1000_get_wol()
1872 !device_can_wakeup(&adapter->pdev->dev)) in e1000_get_wol()
1879 if (adapter->flags & FLAG_NO_WAKE_UCAST) { in e1000_get_wol()
1882 if (adapter->wol & E1000_WUFC_EX) in e1000_get_wol()
1886 if (adapter->wol & E1000_WUFC_EX) in e1000_get_wol()
1888 if (adapter->wol & E1000_WUFC_MC) in e1000_get_wol()
1890 if (adapter->wol & E1000_WUFC_BC) in e1000_get_wol()
1892 if (adapter->wol & E1000_WUFC_MAG) in e1000_get_wol()
1894 if (adapter->wol & E1000_WUFC_LNKC) in e1000_get_wol()
1900 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_set_wol() local
1902 if (!(adapter->flags & FLAG_HAS_WOL) || in e1000_set_wol()
1903 !device_can_wakeup(&adapter->pdev->dev) || in e1000_set_wol()
1909 adapter->wol = 0; in e1000_set_wol()
1912 adapter->wol |= E1000_WUFC_EX; in e1000_set_wol()
1914 adapter->wol |= E1000_WUFC_MC; in e1000_set_wol()
1916 adapter->wol |= E1000_WUFC_BC; in e1000_set_wol()
1918 adapter->wol |= E1000_WUFC_MAG; in e1000_set_wol()
1920 adapter->wol |= E1000_WUFC_LNKC; in e1000_set_wol()
1922 device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol); in e1000_set_wol()
1930 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_set_phys_id() local
1931 struct e1000_hw *hw = &adapter->hw; in e1000_set_phys_id()
1966 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_coalesce() local
1968 if (adapter->itr_setting <= 4) in e1000_get_coalesce()
1969 ec->rx_coalesce_usecs = adapter->itr_setting; in e1000_get_coalesce()
1971 ec->rx_coalesce_usecs = 1000000 / adapter->itr_setting; in e1000_get_coalesce()
1979 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_set_coalesce() local
1988 adapter->itr_setting = 4; in e1000_set_coalesce()
1989 adapter->itr = adapter->itr_setting; in e1000_set_coalesce()
1991 adapter->itr = 20000; in e1000_set_coalesce()
1992 adapter->itr_setting = ec->rx_coalesce_usecs; in e1000_set_coalesce()
1994 adapter->itr = (1000000 / ec->rx_coalesce_usecs); in e1000_set_coalesce()
1995 adapter->itr_setting = adapter->itr & ~3; in e1000_set_coalesce()
2000 if (adapter->itr_setting != 0) in e1000_set_coalesce()
2001 e1000e_write_itr(adapter, adapter->itr); in e1000_set_coalesce()
2003 e1000e_write_itr(adapter, 0); in e1000_set_coalesce()
2012 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_nway_reset() local
2017 if (!adapter->hw.mac.autoneg) in e1000_nway_reset()
2021 e1000e_reinit_locked(adapter); in e1000_nway_reset()
2031 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_ethtool_stats() local
2049 p = (char *)adapter + in e1000_get_ethtool_stats()
2090 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000_get_rxnfc() local
2091 struct e1000_hw *hw = &adapter->hw; in e1000_get_rxnfc()
2136 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000e_get_eee() local
2137 struct e1000_hw *hw = &adapter->hw; in e1000e_get_eee()
2141 if (!(adapter->flags2 & FLAG2_HAS_EEE)) in e1000e_get_eee()
2174 edata->advertised = mmd_eee_adv_to_ethtool_adv_t(adapter->eee_advert); in e1000e_get_eee()
2212 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000e_set_eee() local
2213 struct e1000_hw *hw = &adapter->hw; in e1000e_set_eee()
2236 adapter->eee_advert = ethtool_adv_to_mmd_eee_adv_t(edata->advertised); in e1000e_set_eee()
2244 e1000e_reinit_locked(adapter); in e1000e_set_eee()
2246 e1000e_reset(adapter); in e1000e_set_eee()
2256 struct e1000_adapter *adapter = netdev_priv(netdev); in e1000e_get_ts_info() local
2260 if (!(adapter->flags & FLAG_HAS_HW_TIMESTAMP)) in e1000e_get_ts_info()
2281 if (adapter->ptp_clock) in e1000e_get_ts_info()
2282 info->phc_index = ptp_clock_index(adapter->ptp_clock); in e1000e_get_ts_info()