Lines Matching refs:hw

55 static int atl1c_stop_mac(struct atl1c_hw *hw);
56 static void atl1c_disable_l0s_l1(struct atl1c_hw *hw);
57 static void atl1c_set_aspm(struct atl1c_hw *hw, u16 link_speed);
63 static int atl1c_reset_mac(struct atl1c_hw *hw);
75 static void atl1c_pcie_patch(struct atl1c_hw *hw) in atl1c_pcie_patch() argument
80 AT_READ_REG(hw, REG_MASTER_CTRL, &mst_data); in atl1c_pcie_patch()
82 AT_WRITE_REG(hw, REG_MASTER_CTRL, mst_data); in atl1c_pcie_patch()
85 if (hw->nic_type == athr_l1c || hw->nic_type == athr_l2c) { in atl1c_pcie_patch()
86 AT_READ_REG(hw, REG_PCIE_PHYMISC, &data); in atl1c_pcie_patch()
88 AT_WRITE_REG(hw, REG_PCIE_PHYMISC, data); in atl1c_pcie_patch()
91 AT_WRITE_REG(hw, REG_MASTER_CTRL, in atl1c_pcie_patch()
95 if (hw->nic_type == athr_l2c_b && hw->revision_id == L2CB_V10) { in atl1c_pcie_patch()
96 AT_READ_REG(hw, REG_PCIE_PHYMISC2, &data); in atl1c_pcie_patch()
101 AT_WRITE_REG(hw, REG_PCIE_PHYMISC2, data); in atl1c_pcie_patch()
103 AT_READ_REG(hw, REG_LINK_CTRL, &data); in atl1c_pcie_patch()
105 AT_WRITE_REG(hw, REG_LINK_CTRL, data); in atl1c_pcie_patch()
108 if (hw->nic_type == athr_l2c_b || hw->nic_type == athr_l1d) { in atl1c_pcie_patch()
109 AT_READ_REG(hw, REG_PM_CTRL, &data); in atl1c_pcie_patch()
111 AT_WRITE_REG(hw, REG_PM_CTRL, data); in atl1c_pcie_patch()
113 AT_READ_REG(hw, REG_DMA_DBG, &data); in atl1c_pcie_patch()
114 AT_WRITE_REG(hw, REG_DMA_DBG, data & ~DMA_DBG_VENDOR_MSG); in atl1c_pcie_patch()
122 static void atl1c_reset_pcie(struct atl1c_hw *hw, u32 flag) in atl1c_reset_pcie() argument
126 struct pci_dev *pdev = hw->adapter->pdev; in atl1c_reset_pcie()
129 AT_READ_REG(hw, PCI_COMMAND, &pci_cmd); in atl1c_reset_pcie()
133 AT_WRITE_REG(hw, PCI_COMMAND, pci_cmd); in atl1c_reset_pcie()
141 AT_READ_REG(hw, REG_WOL_CTRL, &data); in atl1c_reset_pcie()
142 AT_WRITE_REG(hw, REG_WOL_CTRL, 0); in atl1c_reset_pcie()
160 AT_READ_REG(hw, REG_LTSSM_ID_CTRL, &data); in atl1c_reset_pcie()
162 AT_WRITE_REG(hw, REG_LTSSM_ID_CTRL, data); in atl1c_reset_pcie()
164 atl1c_pcie_patch(hw); in atl1c_reset_pcie()
166 atl1c_disable_l0s_l1(hw); in atl1c_reset_pcie()
178 AT_WRITE_REG(&adapter->hw, REG_ISR, 0x7FFFFFFF); in atl1c_irq_enable()
179 AT_WRITE_REG(&adapter->hw, REG_IMR, adapter->hw.intr_mask); in atl1c_irq_enable()
180 AT_WRITE_FLUSH(&adapter->hw); in atl1c_irq_enable()
191 AT_WRITE_REG(&adapter->hw, REG_IMR, 0); in atl1c_irq_disable()
192 AT_WRITE_REG(&adapter->hw, REG_ISR, ISR_DIS_INT); in atl1c_irq_disable()
193 AT_WRITE_FLUSH(&adapter->hw); in atl1c_irq_disable()
211 static u32 atl1c_wait_until_idle(struct atl1c_hw *hw, u32 modu_ctrl) in atl1c_wait_until_idle() argument
217 AT_READ_REG(hw, REG_IDLE_STATUS, &data); in atl1c_wait_until_idle()
232 struct atl1c_hw *hw = &adapter->hw; in atl1c_phy_config() local
236 atl1c_restart_autoneg(hw); in atl1c_phy_config()
250 struct atl1c_hw *hw = &adapter->hw; in atl1c_check_link_status() local
259 atl1c_read_phy_reg(hw, MII_BMSR, &phy_data); in atl1c_check_link_status()
260 atl1c_read_phy_reg(hw, MII_BMSR, &phy_data); in atl1c_check_link_status()
266 hw->hibernate = true; in atl1c_check_link_status()
267 if (atl1c_reset_mac(hw) != 0) in atl1c_check_link_status()
270 atl1c_set_aspm(hw, SPEED_0); in atl1c_check_link_status()
271 atl1c_post_phy_linkchg(hw, SPEED_0); in atl1c_check_link_status()
276 hw->hibernate = false; in atl1c_check_link_status()
278 err = atl1c_get_speed_and_duplex(hw, &speed, &duplex); in atl1c_check_link_status()
287 atl1c_set_aspm(hw, speed); in atl1c_check_link_status()
288 atl1c_post_phy_linkchg(hw, speed); in atl1c_check_link_status()
311 atl1c_read_phy_reg(&adapter->hw, MII_BMSR, &phy_data); in atl1c_link_chg_event()
312 atl1c_read_phy_reg(&adapter->hw, MII_BMSR, &phy_data); in atl1c_link_chg_event()
390 struct atl1c_hw *hw = &adapter->hw; in atl1c_set_multi() local
396 AT_READ_REG(hw, REG_MAC_CTRL, &mac_ctrl_data); in atl1c_set_multi()
407 AT_WRITE_REG(hw, REG_MAC_CTRL, mac_ctrl_data); in atl1c_set_multi()
410 AT_WRITE_REG(hw, REG_RX_HASH_TABLE, 0); in atl1c_set_multi()
411 AT_WRITE_REG_ARRAY(hw, REG_RX_HASH_TABLE, 1, 0); in atl1c_set_multi()
415 hash_value = atl1c_hash_mc_addr(hw, ha->addr); in atl1c_set_multi()
416 atl1c_hash_set(hw, hash_value); in atl1c_set_multi()
442 AT_READ_REG(&adapter->hw, REG_MAC_CTRL, &mac_ctrl_data); in atl1c_vlan_mode()
444 AT_WRITE_REG(&adapter->hw, REG_MAC_CTRL, mac_ctrl_data); in atl1c_vlan_mode()
476 memcpy(adapter->hw.mac_addr, addr->sa_data, netdev->addr_len); in atl1c_set_mac_addr()
478 atl1c_hw_set_mac_addr(&adapter->hw, adapter->hw.mac_addr); in atl1c_set_mac_addr()
536 struct atl1c_hw *hw = &adapter->hw; in atl1c_change_mtu() local
541 if (((hw->nic_type == athr_l2c || in atl1c_change_mtu()
542 hw->nic_type == athr_l2c_b || in atl1c_change_mtu()
543 hw->nic_type == athr_l2c_b2) && new_mtu > ETH_DATA_LEN) || in atl1c_change_mtu()
555 adapter->hw.max_frame_size = new_mtu; in atl1c_change_mtu()
573 atl1c_read_phy_reg(&adapter->hw, reg_num, &result); in atl1c_mdio_read()
582 atl1c_write_phy_reg(&adapter->hw, reg_num, val); in atl1c_mdio_write()
604 if (atl1c_read_phy_reg(&adapter->hw, data->reg_num & 0x1F, in atl1c_mii_ioctl()
619 if (atl1c_write_phy_reg(&adapter->hw, in atl1c_mii_ioctl()
657 static void atl1c_set_mac_type(struct atl1c_hw *hw) in atl1c_set_mac_type() argument
659 switch (hw->device_id) { in atl1c_set_mac_type()
661 hw->nic_type = athr_l2c; in atl1c_set_mac_type()
664 hw->nic_type = athr_l1c; in atl1c_set_mac_type()
667 hw->nic_type = athr_l2c_b; in atl1c_set_mac_type()
670 hw->nic_type = athr_l2c_b2; in atl1c_set_mac_type()
673 hw->nic_type = athr_l1d; in atl1c_set_mac_type()
676 hw->nic_type = athr_l1d_2; in atl1c_set_mac_type()
683 static int atl1c_setup_mac_funcs(struct atl1c_hw *hw) in atl1c_setup_mac_funcs() argument
687 atl1c_set_mac_type(hw); in atl1c_setup_mac_funcs()
688 AT_READ_REG(hw, REG_LINK_CTRL, &link_ctrl_data); in atl1c_setup_mac_funcs()
690 hw->ctrl_flags = ATL1C_INTR_MODRT_ENABLE | in atl1c_setup_mac_funcs()
692 hw->ctrl_flags |= ATL1C_ASPM_L0S_SUPPORT | in atl1c_setup_mac_funcs()
694 hw->ctrl_flags |= ATL1C_ASPM_CTRL_MON; in atl1c_setup_mac_funcs()
696 if (hw->nic_type == athr_l1c || in atl1c_setup_mac_funcs()
697 hw->nic_type == athr_l1d || in atl1c_setup_mac_funcs()
698 hw->nic_type == athr_l1d_2) in atl1c_setup_mac_funcs()
699 hw->link_cap_flags |= ATL1C_LINK_CAP_1000M; in atl1c_setup_mac_funcs()
734 static void atl1c_patch_assign(struct atl1c_hw *hw) in atl1c_patch_assign() argument
736 struct pci_dev *pdev = hw->adapter->pdev; in atl1c_patch_assign()
740 hw->msi_lnkpatch = false; in atl1c_patch_assign()
743 if (plats[i].pci_did == hw->device_id && in atl1c_patch_assign()
744 plats[i].pci_revid == hw->revision_id && in atl1c_patch_assign()
745 plats[i].subsystem_vid == hw->subsystem_vendor_id && in atl1c_patch_assign()
746 plats[i].subsystem_did == hw->subsystem_id) { in atl1c_patch_assign()
748 hw->msi_lnkpatch = true; in atl1c_patch_assign()
753 if (hw->device_id == PCI_DEVICE_ID_ATHEROS_L2C_B2 && in atl1c_patch_assign()
754 hw->revision_id == L2CB_V21) { in atl1c_patch_assign()
775 struct atl1c_hw *hw = &adapter->hw; in atl1c_sw_init() local
787 hw->vendor_id = pdev->vendor; in atl1c_sw_init()
788 hw->device_id = pdev->device; in atl1c_sw_init()
789 hw->subsystem_vendor_id = pdev->subsystem_vendor; in atl1c_sw_init()
790 hw->subsystem_id = pdev->subsystem_device; in atl1c_sw_init()
792 hw->revision_id = revision & 0xFF; in atl1c_sw_init()
794 hw->hibernate = true; in atl1c_sw_init()
795 hw->media_type = MEDIA_TYPE_AUTO_SENSOR; in atl1c_sw_init()
796 if (atl1c_setup_mac_funcs(hw) != 0) { in atl1c_sw_init()
800 atl1c_patch_assign(hw); in atl1c_sw_init()
802 hw->intr_mask = IMR_NORMAL_MASK; in atl1c_sw_init()
803 hw->phy_configured = false; in atl1c_sw_init()
804 hw->preamble_len = 7; in atl1c_sw_init()
805 hw->max_frame_size = adapter->netdev->mtu; in atl1c_sw_init()
806 hw->autoneg_advertised = ADVERTISED_Autoneg; in atl1c_sw_init()
807 hw->indirect_tab = 0xE4E4E4E4; in atl1c_sw_init()
808 hw->base_cpu = 0; in atl1c_sw_init()
810 hw->ict = 50000; /* 100ms */ in atl1c_sw_init()
811 hw->smb_timer = 200000; /* 400ms */ in atl1c_sw_init()
812 hw->rx_imt = 200; in atl1c_sw_init()
813 hw->tx_imt = 1000; in atl1c_sw_init()
815 hw->tpd_burst = 5; in atl1c_sw_init()
816 hw->rfd_burst = 8; in atl1c_sw_init()
817 hw->dma_order = atl1c_dma_ord_out; in atl1c_sw_init()
818 hw->dmar_block = atl1c_dma_req_1024; in atl1c_sw_init()
1058 struct atl1c_hw *hw = &adapter->hw; in atl1c_configure_des_ring() local
1065 AT_WRITE_REG(hw, REG_TX_BASE_ADDR_HI, in atl1c_configure_des_ring()
1069 AT_WRITE_REG(hw, REG_TPD_PRI0_ADDR_LO, in atl1c_configure_des_ring()
1072 AT_WRITE_REG(hw, REG_TPD_PRI1_ADDR_LO, in atl1c_configure_des_ring()
1075 AT_WRITE_REG(hw, REG_TPD_RING_SIZE, in atl1c_configure_des_ring()
1080 AT_WRITE_REG(hw, REG_RX_BASE_ADDR_HI, in atl1c_configure_des_ring()
1082 AT_WRITE_REG(hw, REG_RFD0_HEAD_ADDR_LO, in atl1c_configure_des_ring()
1085 AT_WRITE_REG(hw, REG_RFD_RING_SIZE, in atl1c_configure_des_ring()
1087 AT_WRITE_REG(hw, REG_RX_BUF_SIZE, in atl1c_configure_des_ring()
1091 AT_WRITE_REG(hw, REG_RRD0_HEAD_ADDR_LO, in atl1c_configure_des_ring()
1093 AT_WRITE_REG(hw, REG_RRD_RING_SIZE, in atl1c_configure_des_ring()
1096 if (hw->nic_type == athr_l2c_b) { in atl1c_configure_des_ring()
1097 AT_WRITE_REG(hw, REG_SRAM_RXF_LEN, 0x02a0L); in atl1c_configure_des_ring()
1098 AT_WRITE_REG(hw, REG_SRAM_TXF_LEN, 0x0100L); in atl1c_configure_des_ring()
1099 AT_WRITE_REG(hw, REG_SRAM_RXF_ADDR, 0x029f0000L); in atl1c_configure_des_ring()
1100 AT_WRITE_REG(hw, REG_SRAM_RFD0_INFO, 0x02bf02a0L); in atl1c_configure_des_ring()
1101 AT_WRITE_REG(hw, REG_SRAM_TXF_ADDR, 0x03bf02c0L); in atl1c_configure_des_ring()
1102 AT_WRITE_REG(hw, REG_SRAM_TRD_ADDR, 0x03df03c0L); in atl1c_configure_des_ring()
1103 AT_WRITE_REG(hw, REG_TXF_WATER_MARK, 0); /* TX watermark, to enter l1 state.*/ in atl1c_configure_des_ring()
1104 AT_WRITE_REG(hw, REG_RXD_DMA_CTRL, 0); /* RXD threshold.*/ in atl1c_configure_des_ring()
1107 AT_WRITE_REG(hw, REG_LOAD_PTR, 1); in atl1c_configure_des_ring()
1112 struct atl1c_hw *hw = &adapter->hw; in atl1c_configure_tx() local
1118 AT_WRITE_REG(hw, REG_TX_TSO_OFFLOAD_THRESH, in atl1c_configure_tx()
1121 hw->dmar_block = min_t(u32, max_pay_load, hw->dmar_block); in atl1c_configure_tx()
1126 if (hw->dmar_block < DEVICE_CTRL_MAXRRS_MIN) { in atl1c_configure_tx()
1128 hw->dmar_block = DEVICE_CTRL_MAXRRS_MIN; in atl1c_configure_tx()
1131 hw->nic_type == athr_l2c_b || hw->nic_type == athr_l2c_b2 ? in atl1c_configure_tx()
1134 AT_WRITE_REG(hw, REG_TXQ_CTRL, txq_ctrl_data); in atl1c_configure_tx()
1139 struct atl1c_hw *hw = &adapter->hw; in atl1c_configure_rx() local
1142 rxq_ctrl_data = (hw->rfd_burst & RXQ_RFD_BURST_NUM_MASK) << in atl1c_configure_rx()
1145 if (hw->ctrl_flags & ATL1C_RX_IPV6_CHKSUM) in atl1c_configure_rx()
1149 if (hw->nic_type != athr_l1d_2 && (hw->device_id & 1) != 0) in atl1c_configure_rx()
1153 AT_WRITE_REG(hw, REG_RXQ_CTRL, rxq_ctrl_data); in atl1c_configure_rx()
1158 struct atl1c_hw *hw = &adapter->hw; in atl1c_configure_dma() local
1163 FIELDX(DMA_CTRL_RREQ_BLEN, hw->dmar_block) | in atl1c_configure_dma()
1167 AT_WRITE_REG(hw, REG_DMA_CTRL, dma_ctrl_data); in atl1c_configure_dma()
1175 static int atl1c_stop_mac(struct atl1c_hw *hw) in atl1c_stop_mac() argument
1179 AT_READ_REG(hw, REG_RXQ_CTRL, &data); in atl1c_stop_mac()
1181 AT_WRITE_REG(hw, REG_RXQ_CTRL, data); in atl1c_stop_mac()
1183 AT_READ_REG(hw, REG_TXQ_CTRL, &data); in atl1c_stop_mac()
1185 AT_WRITE_REG(hw, REG_TXQ_CTRL, data); in atl1c_stop_mac()
1187 atl1c_wait_until_idle(hw, IDLE_STATUS_RXQ_BUSY | IDLE_STATUS_TXQ_BUSY); in atl1c_stop_mac()
1189 AT_READ_REG(hw, REG_MAC_CTRL, &data); in atl1c_stop_mac()
1191 AT_WRITE_REG(hw, REG_MAC_CTRL, data); in atl1c_stop_mac()
1193 return (int)atl1c_wait_until_idle(hw, in atl1c_stop_mac()
1199 struct atl1c_hw *hw = &adapter->hw; in atl1c_start_mac() local
1202 hw->mac_duplex = adapter->link_duplex == FULL_DUPLEX ? true : false; in atl1c_start_mac()
1203 hw->mac_speed = adapter->link_speed == SPEED_1000 ? in atl1c_start_mac()
1206 AT_READ_REG(hw, REG_TXQ_CTRL, &txq); in atl1c_start_mac()
1207 AT_READ_REG(hw, REG_RXQ_CTRL, &rxq); in atl1c_start_mac()
1208 AT_READ_REG(hw, REG_MAC_CTRL, &mac); in atl1c_start_mac()
1217 if (hw->mac_duplex) in atl1c_start_mac()
1221 mac = FIELD_SETX(mac, MAC_CTRL_SPEED, hw->mac_speed); in atl1c_start_mac()
1222 mac = FIELD_SETX(mac, MAC_CTRL_PRMLEN, hw->preamble_len); in atl1c_start_mac()
1224 AT_WRITE_REG(hw, REG_TXQ_CTRL, txq); in atl1c_start_mac()
1225 AT_WRITE_REG(hw, REG_RXQ_CTRL, rxq); in atl1c_start_mac()
1226 AT_WRITE_REG(hw, REG_MAC_CTRL, mac); in atl1c_start_mac()
1234 static int atl1c_reset_mac(struct atl1c_hw *hw) in atl1c_reset_mac() argument
1236 struct atl1c_adapter *adapter = hw->adapter; in atl1c_reset_mac()
1240 atl1c_stop_mac(hw); in atl1c_reset_mac()
1247 AT_READ_REG(hw, REG_MASTER_CTRL, &ctrl_data); in atl1c_reset_mac()
1249 AT_WRITE_REG(hw, REG_MASTER_CTRL, ctrl_data | MASTER_CTRL_SOFT_RST); in atl1c_reset_mac()
1251 AT_WRITE_FLUSH(hw); in atl1c_reset_mac()
1255 if (atl1c_wait_until_idle(hw, IDLE_STATUS_MASK)) { in atl1c_reset_mac()
1261 AT_WRITE_REG(hw, REG_MASTER_CTRL, ctrl_data); in atl1c_reset_mac()
1264 AT_READ_REG(hw, REG_MAC_CTRL, &ctrl_data); in atl1c_reset_mac()
1265 AT_WRITE_REG(hw, REG_MAC_CTRL, ctrl_data | MAC_CTRL_SPEED_MODE_SW); in atl1c_reset_mac()
1268 AT_READ_REG(hw, REG_SERDES, &ctrl_data); in atl1c_reset_mac()
1269 switch (hw->nic_type) { in atl1c_reset_mac()
1273 AT_WRITE_REG(hw, REG_SERDES, ctrl_data); in atl1c_reset_mac()
1278 AT_WRITE_REG(hw, REG_SERDES, ctrl_data); in atl1c_reset_mac()
1287 static void atl1c_disable_l0s_l1(struct atl1c_hw *hw) in atl1c_disable_l0s_l1() argument
1289 u16 ctrl_flags = hw->ctrl_flags; in atl1c_disable_l0s_l1()
1291 hw->ctrl_flags &= ~(ATL1C_ASPM_L0S_SUPPORT | ATL1C_ASPM_L1_SUPPORT); in atl1c_disable_l0s_l1()
1292 atl1c_set_aspm(hw, SPEED_0); in atl1c_disable_l0s_l1()
1293 hw->ctrl_flags = ctrl_flags; in atl1c_disable_l0s_l1()
1300 static void atl1c_set_aspm(struct atl1c_hw *hw, u16 link_speed) in atl1c_set_aspm() argument
1305 AT_READ_REG(hw, REG_PM_CTRL, &pm_ctrl_data); in atl1c_set_aspm()
1310 if (hw->nic_type == athr_l2c_b2 || hw->nic_type == athr_l1d_2) { in atl1c_set_aspm()
1318 link_l1_timer = hw->nic_type == athr_l2c_b ? in atl1c_set_aspm()
1327 if ((hw->ctrl_flags & ATL1C_ASPM_L0S_SUPPORT) && link_speed != SPEED_0) in atl1c_set_aspm()
1329 if (hw->ctrl_flags & ATL1C_ASPM_L1_SUPPORT) in atl1c_set_aspm()
1333 if (hw->nic_type == athr_l2c_b || hw->nic_type == athr_l1d || in atl1c_set_aspm()
1334 hw->nic_type == athr_l2c_b2 || hw->nic_type == athr_l1d_2) { in atl1c_set_aspm()
1346 if (link_speed == SPEED_0 || hw->nic_type == athr_l2c_b) in atl1c_set_aspm()
1367 AT_WRITE_REG(hw, REG_PM_CTRL, pm_ctrl_data); in atl1c_set_aspm()
1380 struct atl1c_hw *hw = &adapter->hw; in atl1c_configure_mac() local
1385 AT_READ_REG(hw, REG_MASTER_CTRL, &master_ctrl_data); in atl1c_configure_mac()
1390 AT_WRITE_REG(hw, REG_ISR, 0xFFFFFFFF); in atl1c_configure_mac()
1392 AT_WRITE_REG(hw, REG_WOL_CTRL, 0); in atl1c_configure_mac()
1399 if (hw->ctrl_flags & ATL1C_CLK_GATING_EN) { in atl1c_configure_mac()
1400 if (hw->nic_type == athr_l2c_b) in atl1c_configure_mac()
1404 AT_WRITE_REG(hw, REG_CLK_GATING_CTRL, data); in atl1c_configure_mac()
1406 AT_WRITE_REG(hw, REG_INT_RETRIG_TIMER, in atl1c_configure_mac()
1407 hw->ict & INT_RETRIG_TIMER_MASK); in atl1c_configure_mac()
1411 if (hw->ctrl_flags & ATL1C_INTR_MODRT_ENABLE) { in atl1c_configure_mac()
1412 intr_modrt_data = (hw->tx_imt & IRQ_MODRT_TIMER_MASK) << in atl1c_configure_mac()
1414 intr_modrt_data |= (hw->rx_imt & IRQ_MODRT_TIMER_MASK) << in atl1c_configure_mac()
1416 AT_WRITE_REG(hw, REG_IRQ_MODRT_TIMER_INIT, intr_modrt_data); in atl1c_configure_mac()
1421 if (hw->ctrl_flags & ATL1C_INTR_CLEAR_ON_READ) in atl1c_configure_mac()
1425 AT_WRITE_REG(hw, REG_MASTER_CTRL, master_ctrl_data); in atl1c_configure_mac()
1427 AT_WRITE_REG(hw, REG_SMB_STAT_TIMER, in atl1c_configure_mac()
1428 hw->smb_timer & SMB_STAT_TIMER_MASK); in atl1c_configure_mac()
1431 AT_WRITE_REG(hw, REG_MTU, hw->max_frame_size + ETH_HLEN + in atl1c_configure_mac()
1470 AT_READ_REG(&adapter->hw, hw_reg_addr, &data); in atl1c_update_hw_stats()
1479 AT_READ_REG(&adapter->hw, hw_reg_addr, &data); in atl1c_update_hw_stats()
1542 atl1c_read_phy_reg(&adapter->hw, MII_ISR, &phy_data); in atl1c_clear_phy_int()
1559 AT_READ_REGW(&adapter->hw, reg, &hw_next_to_clean); in atl1c_clean_tx_irq()
1593 struct atl1c_hw *hw = &adapter->hw; in atl1c_intr() local
1600 AT_READ_REG(hw, REG_ISR, &reg_data); in atl1c_intr()
1601 status = reg_data & hw->intr_mask; in atl1c_intr()
1612 AT_WRITE_REG(hw, REG_ISR, status | ISR_DIS_INT); in atl1c_intr()
1615 hw->intr_mask &= ~ISR_RX_PKT; in atl1c_intr()
1616 AT_WRITE_REG(hw, REG_IMR, hw->intr_mask); in atl1c_intr()
1651 AT_WRITE_REG(&adapter->hw, REG_ISR, 0); in atl1c_intr()
1759 AT_WRITE_REG(&adapter->hw, REG_MB_RFD0_PROD_IDX, in atl1c_alloc_rx_buffer()
1894 adapter->hw.intr_mask |= ISR_RX_PKT; in atl1c_clean()
1895 AT_WRITE_REG(&adapter->hw, REG_IMR, adapter->hw.intr_mask); in atl1c_clean()
2206 AT_WRITE_REGW(&adapter->hw, reg, tpd_ring->next_to_use); in atl1c_tx_queue()
2370 atl1c_disable_l0s_l1(&adapter->hw); in atl1c_down()
2372 atl1c_reset_mac(&adapter->hw); in atl1c_down()
2415 atl1c_reset_mac(&adapter->hw); in atl1c_open()
2447 struct atl1c_hw *hw = &adapter->hw; in atl1c_suspend() local
2450 atl1c_disable_l0s_l1(hw); in atl1c_suspend()
2458 if (atl1c_phy_to_ps_link(hw) != 0) in atl1c_suspend()
2461 atl1c_power_saving(hw, wufc); in atl1c_suspend()
2473 AT_WRITE_REG(&adapter->hw, REG_WOL_CTRL, 0); in atl1c_resume()
2474 atl1c_reset_pcie(&adapter->hw, ATL1C_PCIE_L0S_L1_DISABLE); in atl1c_resume()
2476 atl1c_phy_reset(&adapter->hw); in atl1c_resume()
2477 atl1c_reset_mac(&adapter->hw); in atl1c_resume()
2478 atl1c_phy_init(&adapter->hw); in atl1c_resume()
2481 AT_READ_REG(&adapter->hw, REG_PM_CTRLSTAT, &pm_data); in atl1c_resume()
2483 AT_WRITE_REG(&adapter->hw, REG_PM_CTRLSTAT, pm_data); in atl1c_resume()
2607 adapter->hw.adapter = adapter; in atl1c_probe()
2609 adapter->hw.hw_addr = ioremap(pci_resource_start(pdev, 0), pci_resource_len(pdev, 0)); in atl1c_probe()
2610 if (!adapter->hw.hw_addr) { in atl1c_probe()
2631 atl1c_reset_pcie(&adapter->hw, ATL1C_PCIE_L0S_L1_DISABLE); in atl1c_probe()
2634 atl1c_phy_reset(&adapter->hw); in atl1c_probe()
2636 err = atl1c_reset_mac(&adapter->hw); in atl1c_probe()
2644 err = atl1c_phy_init(&adapter->hw); in atl1c_probe()
2649 if (atl1c_read_mac_addr(&adapter->hw)) { in atl1c_probe()
2653 memcpy(netdev->dev_addr, adapter->hw.mac_addr, netdev->addr_len); in atl1c_probe()
2656 adapter->hw.mac_addr); in atl1c_probe()
2658 atl1c_hw_set_mac_addr(&adapter->hw, adapter->hw.mac_addr); in atl1c_probe()
2675 iounmap(adapter->hw.hw_addr); in atl1c_probe()
2703 atl1c_hw_set_mac_addr(&adapter->hw, adapter->hw.perm_mac_addr); in atl1c_remove()
2704 atl1c_phy_disable(&adapter->hw); in atl1c_remove()
2706 iounmap(adapter->hw.hw_addr); in atl1c_remove()
2764 atl1c_reset_mac(&adapter->hw); in atl1c_io_slot_reset()