Lines Matching refs:phy
79 struct e1000_phy_info *phy = &hw->phy; in e1000e_get_phy_id() local
84 if (!phy->ops.read_reg) in e1000e_get_phy_id()
92 phy->id = (u32)(phy_id << 16); in e1000e_get_phy_id()
98 phy->id |= (u32)(phy_id & PHY_REVISION_MASK); in e1000e_get_phy_id()
99 phy->revision = (u32)(phy_id & ~PHY_REVISION_MASK); in e1000e_get_phy_id()
101 if (phy->id != 0 && phy->id != PHY_REVISION_MASK) in e1000e_get_phy_id()
138 struct e1000_phy_info *phy = &hw->phy; in e1000e_read_phy_reg_mdic() local
151 (phy->addr << E1000_MDIC_PHY_SHIFT) | in e1000e_read_phy_reg_mdic()
201 struct e1000_phy_info *phy = &hw->phy; in e1000e_write_phy_reg_mdic() local
215 (phy->addr << E1000_MDIC_PHY_SHIFT) | in e1000e_write_phy_reg_mdic()
268 ret_val = hw->phy.ops.acquire(hw); in e1000e_read_phy_reg_m88()
275 hw->phy.ops.release(hw); in e1000e_read_phy_reg_m88()
293 ret_val = hw->phy.ops.acquire(hw); in e1000e_write_phy_reg_m88()
300 hw->phy.ops.release(hw); in e1000e_write_phy_reg_m88()
318 hw->phy.addr = 1; in e1000_set_page_igp()
340 if (!hw->phy.ops.acquire) in __e1000e_read_phy_reg_igp()
343 ret_val = hw->phy.ops.acquire(hw); in __e1000e_read_phy_reg_igp()
357 hw->phy.ops.release(hw); in __e1000e_read_phy_reg_igp()
407 if (!hw->phy.ops.acquire) in __e1000e_write_phy_reg_igp()
410 ret_val = hw->phy.ops.acquire(hw); in __e1000e_write_phy_reg_igp()
423 hw->phy.ops.release(hw); in __e1000e_write_phy_reg_igp()
475 if (!hw->phy.ops.acquire) in __e1000_read_kmrn_reg()
478 ret_val = hw->phy.ops.acquire(hw); in __e1000_read_kmrn_reg()
494 hw->phy.ops.release(hw); in __e1000_read_kmrn_reg()
548 if (!hw->phy.ops.acquire) in __e1000_write_kmrn_reg()
551 ret_val = hw->phy.ops.acquire(hw); in __e1000_write_kmrn_reg()
564 hw->phy.ops.release(hw); in __e1000_write_kmrn_reg()
614 hw->phy.original_ms_type = (phy_data & CTL1000_ENABLE_MASTER) ? in e1000_set_master_slave_mode()
618 switch (hw->phy.ms_type) { in e1000_set_master_slave_mode()
671 switch (hw->phy.mdix) { in e1000_copper_link_setup_82577()
698 struct e1000_phy_info *phy = &hw->phy; in e1000e_copper_link_setup_m88() local
708 if (phy->type != e1000_phy_bm) in e1000e_copper_link_setup_m88()
720 switch (phy->mdix) { in e1000e_copper_link_setup_m88()
743 if (phy->disable_polarity_correction) in e1000e_copper_link_setup_m88()
747 if (phy->type == e1000_phy_bm) { in e1000e_copper_link_setup_m88()
749 if (phy->id == BME1000_E_PHY_ID_R2) { in e1000e_copper_link_setup_m88()
756 ret_val = phy->ops.commit(hw); in e1000e_copper_link_setup_m88()
770 if ((phy->type == e1000_phy_m88) && in e1000e_copper_link_setup_m88()
771 (phy->revision < E1000_REVISION_4) && in e1000e_copper_link_setup_m88()
772 (phy->id != BME1000_E_PHY_ID_R2)) { in e1000e_copper_link_setup_m88()
782 if ((phy->revision == 2) && (phy->id == M88E1111_I_PHY_ID)) { in e1000e_copper_link_setup_m88()
798 if ((phy->type == e1000_phy_bm) && (phy->id == BME1000_E_PHY_ID_R2)) { in e1000e_copper_link_setup_m88()
811 if (phy->ops.commit) { in e1000e_copper_link_setup_m88()
812 ret_val = phy->ops.commit(hw); in e1000e_copper_link_setup_m88()
819 if (phy->type == e1000_phy_82578) { in e1000e_copper_link_setup_m88()
844 struct e1000_phy_info *phy = &hw->phy; in e1000e_copper_link_setup_igp() local
860 if (hw->phy.ops.set_d0_lplu_state) { in e1000e_copper_link_setup_igp()
861 ret_val = hw->phy.ops.set_d0_lplu_state(hw, false); in e1000e_copper_link_setup_igp()
874 switch (phy->mdix) { in e1000e_copper_link_setup_igp()
896 if (phy->autoneg_advertised == ADVERTISE_1000_FULL) { in e1000e_copper_link_setup_igp()
937 struct e1000_phy_info *phy = &hw->phy; in e1000_phy_setup_autoneg() local
942 phy->autoneg_advertised &= phy->autoneg_mask; in e1000_phy_setup_autoneg()
949 if (phy->autoneg_mask & ADVERTISE_1000_FULL) { in e1000_phy_setup_autoneg()
972 e_dbg("autoneg_advertised %x\n", phy->autoneg_advertised); in e1000_phy_setup_autoneg()
975 if (phy->autoneg_advertised & ADVERTISE_10_HALF) { in e1000_phy_setup_autoneg()
981 if (phy->autoneg_advertised & ADVERTISE_10_FULL) { in e1000_phy_setup_autoneg()
987 if (phy->autoneg_advertised & ADVERTISE_100_HALF) { in e1000_phy_setup_autoneg()
993 if (phy->autoneg_advertised & ADVERTISE_100_FULL) { in e1000_phy_setup_autoneg()
999 if (phy->autoneg_advertised & ADVERTISE_1000_HALF) in e1000_phy_setup_autoneg()
1003 if (phy->autoneg_advertised & ADVERTISE_1000_FULL) { in e1000_phy_setup_autoneg()
1071 if (phy->autoneg_mask & ADVERTISE_1000_FULL) in e1000_phy_setup_autoneg()
1088 struct e1000_phy_info *phy = &hw->phy; in e1000_copper_link_autoneg() local
1095 phy->autoneg_advertised &= phy->autoneg_mask; in e1000_copper_link_autoneg()
1100 if (!phy->autoneg_advertised) in e1000_copper_link_autoneg()
1101 phy->autoneg_advertised = phy->autoneg_mask; in e1000_copper_link_autoneg()
1126 if (phy->autoneg_wait_to_complete) { in e1000_copper_link_autoneg()
1165 ret_val = hw->phy.ops.force_speed_duplex(hw); in e1000e_setup_copper_link()
1201 struct e1000_phy_info *phy = &hw->phy; in e1000e_phy_force_speed_duplex_igp() local
1234 if (phy->autoneg_wait_to_complete) { in e1000e_phy_force_speed_duplex_igp()
1265 struct e1000_phy_info *phy = &hw->phy; in e1000e_phy_force_speed_duplex_m88() local
1295 if (hw->phy.ops.commit) { in e1000e_phy_force_speed_duplex_m88()
1296 ret_val = hw->phy.ops.commit(hw); in e1000e_phy_force_speed_duplex_m88()
1301 if (phy->autoneg_wait_to_complete) { in e1000e_phy_force_speed_duplex_m88()
1310 if (hw->phy.type != e1000_phy_m88) { in e1000e_phy_force_speed_duplex_m88()
1333 if (hw->phy.type != e1000_phy_m88) in e1000e_phy_force_speed_duplex_m88()
1372 struct e1000_phy_info *phy = &hw->phy; in e1000_phy_force_speed_duplex_ife() local
1403 if (phy->autoneg_wait_to_complete) { in e1000_phy_force_speed_duplex_ife()
1499 struct e1000_phy_info *phy = &hw->phy; in e1000e_set_d3_lplu_state() local
1517 if (phy->smart_speed == e1000_smart_speed_on) { in e1000e_set_d3_lplu_state()
1528 } else if (phy->smart_speed == e1000_smart_speed_off) { in e1000e_set_d3_lplu_state()
1540 } else if ((phy->autoneg_advertised == E1000_ALL_SPEED_DUPLEX) || in e1000e_set_d3_lplu_state()
1541 (phy->autoneg_advertised == E1000_ALL_NOT_GIG) || in e1000e_set_d3_lplu_state()
1542 (phy->autoneg_advertised == E1000_ALL_10_SPEED)) { in e1000e_set_d3_lplu_state()
1570 struct e1000_phy_info *phy = &hw->phy; in e1000e_check_downshift() local
1574 switch (phy->type) { in e1000e_check_downshift()
1589 phy->speed_downgraded = false; in e1000e_check_downshift()
1596 phy->speed_downgraded = !!(phy_data & mask); in e1000e_check_downshift()
1611 struct e1000_phy_info *phy = &hw->phy; in e1000_check_polarity_m88() local
1618 phy->cable_polarity = ((data & M88E1000_PSSR_REV_POLARITY) in e1000_check_polarity_m88()
1636 struct e1000_phy_info *phy = &hw->phy; in e1000_check_polarity_igp() local
1662 phy->cable_polarity = ((data & mask) in e1000_check_polarity_igp()
1677 struct e1000_phy_info *phy = &hw->phy; in e1000_check_polarity_ife() local
1683 if (phy->polarity_correction) { in e1000_check_polarity_ife()
1694 phy->cable_polarity = ((phy_data & mask) in e1000_check_polarity_ife()
1796 struct e1000_phy_info *phy = &hw->phy; in e1000e_get_cable_length_m88() local
1810 phy->min_cable_length = e1000_m88_cable_length_table[index]; in e1000e_get_cable_length_m88()
1811 phy->max_cable_length = e1000_m88_cable_length_table[index + 1]; in e1000e_get_cable_length_m88()
1813 phy->cable_length = (phy->min_cable_length + phy->max_cable_length) / 2; in e1000e_get_cable_length_m88()
1831 struct e1000_phy_info *phy = &hw->phy; in e1000e_get_cable_length_igp_2() local
1878 phy->min_cable_length = (((agc_value - IGP02E1000_AGC_RANGE) > 0) ? in e1000e_get_cable_length_igp_2()
1880 phy->max_cable_length = agc_value + IGP02E1000_AGC_RANGE; in e1000e_get_cable_length_igp_2()
1882 phy->cable_length = (phy->min_cable_length + phy->max_cable_length) / 2; in e1000e_get_cable_length_igp_2()
1899 struct e1000_phy_info *phy = &hw->phy; in e1000e_get_phy_info_m88() local
1904 if (phy->media_type != e1000_media_type_copper) { in e1000e_get_phy_info_m88()
1922 phy->polarity_correction = !!(phy_data & in e1000e_get_phy_info_m88()
1933 phy->is_mdix = !!(phy_data & M88E1000_PSSR_MDIX); in e1000e_get_phy_info_m88()
1936 ret_val = hw->phy.ops.get_cable_length(hw); in e1000e_get_phy_info_m88()
1944 phy->local_rx = (phy_data & LPA_1000LOCALRXOK) in e1000e_get_phy_info_m88()
1947 phy->remote_rx = (phy_data & LPA_1000REMRXOK) in e1000e_get_phy_info_m88()
1951 phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED; in e1000e_get_phy_info_m88()
1952 phy->local_rx = e1000_1000t_rx_status_undefined; in e1000e_get_phy_info_m88()
1953 phy->remote_rx = e1000_1000t_rx_status_undefined; in e1000e_get_phy_info_m88()
1970 struct e1000_phy_info *phy = &hw->phy; in e1000e_get_phy_info_igp() local
1984 phy->polarity_correction = true; in e1000e_get_phy_info_igp()
1994 phy->is_mdix = !!(data & IGP01E1000_PSSR_MDIX); in e1000e_get_phy_info_igp()
1998 ret_val = phy->ops.get_cable_length(hw); in e1000e_get_phy_info_igp()
2006 phy->local_rx = (data & LPA_1000LOCALRXOK) in e1000e_get_phy_info_igp()
2009 phy->remote_rx = (data & LPA_1000REMRXOK) in e1000e_get_phy_info_igp()
2012 phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED; in e1000e_get_phy_info_igp()
2013 phy->local_rx = e1000_1000t_rx_status_undefined; in e1000e_get_phy_info_igp()
2014 phy->remote_rx = e1000_1000t_rx_status_undefined; in e1000e_get_phy_info_igp()
2028 struct e1000_phy_info *phy = &hw->phy; in e1000_get_phy_info_ife() local
2045 phy->polarity_correction = !(data & IFE_PSC_AUTO_POLARITY_DISABLE); in e1000_get_phy_info_ife()
2047 if (phy->polarity_correction) { in e1000_get_phy_info_ife()
2053 phy->cable_polarity = ((data & IFE_PSC_FORCE_POLARITY) in e1000_get_phy_info_ife()
2062 phy->is_mdix = !!(data & IFE_PMC_MDIX_STATUS); in e1000_get_phy_info_ife()
2065 phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED; in e1000_get_phy_info_ife()
2066 phy->local_rx = e1000_1000t_rx_status_undefined; in e1000_get_phy_info_ife()
2067 phy->remote_rx = e1000_1000t_rx_status_undefined; in e1000_get_phy_info_ife()
2109 struct e1000_phy_info *phy = &hw->phy; in e1000e_phy_hw_reset_generic() local
2113 if (phy->ops.check_reset_block) { in e1000e_phy_hw_reset_generic()
2114 ret_val = phy->ops.check_reset_block(hw); in e1000e_phy_hw_reset_generic()
2119 ret_val = phy->ops.acquire(hw); in e1000e_phy_hw_reset_generic()
2127 udelay(phy->reset_delay_us); in e1000e_phy_hw_reset_generic()
2134 phy->ops.release(hw); in e1000e_phy_hw_reset_generic()
2136 return phy->ops.get_cfg_done(hw); in e1000e_phy_hw_reset_generic()
2304 hw->phy.id = phy_type; in e1000e_determine_phy_address()
2307 hw->phy.addr = phy_addr; in e1000e_determine_phy_address()
2312 phy_type = e1000e_get_phy_type_from_id(hw->phy.id); in e1000e_determine_phy_address()
2358 ret_val = hw->phy.ops.acquire(hw); in e1000e_write_phy_reg_bm()
2369 hw->phy.addr = e1000_get_phy_addr_for_bm_page(page, offset); in e1000e_write_phy_reg_bm()
2378 if (hw->phy.addr == 1) { in e1000e_write_phy_reg_bm()
2397 hw->phy.ops.release(hw); in e1000e_write_phy_reg_bm()
2416 ret_val = hw->phy.ops.acquire(hw); in e1000e_read_phy_reg_bm()
2427 hw->phy.addr = e1000_get_phy_addr_for_bm_page(page, offset); in e1000e_read_phy_reg_bm()
2436 if (hw->phy.addr == 1) { in e1000e_read_phy_reg_bm()
2454 hw->phy.ops.release(hw); in e1000e_read_phy_reg_bm()
2473 ret_val = hw->phy.ops.acquire(hw); in e1000e_read_phy_reg_bm2()
2484 hw->phy.addr = 1; in e1000e_read_phy_reg_bm2()
2498 hw->phy.ops.release(hw); in e1000e_read_phy_reg_bm2()
2516 ret_val = hw->phy.ops.acquire(hw); in e1000e_write_phy_reg_bm2()
2527 hw->phy.addr = 1; in e1000e_write_phy_reg_bm2()
2542 hw->phy.ops.release(hw); in e1000e_write_phy_reg_bm2()
2560 hw->phy.addr = 1; in e1000_enable_phy_wakeup_reg_access_bm()
2759 u32 phy_addr = hw->phy.addr = e1000_get_phy_addr_for_hv_page(page); in __e1000_read_phy_reg_hv()
2762 ret_val = hw->phy.ops.acquire(hw); in __e1000_read_phy_reg_hv()
2789 hw->phy.addr = phy_addr; in __e1000_read_phy_reg_hv()
2802 hw->phy.ops.release(hw); in __e1000_read_phy_reg_hv()
2866 u32 phy_addr = hw->phy.addr = e1000_get_phy_addr_for_hv_page(page); in __e1000_write_phy_reg_hv()
2869 ret_val = hw->phy.ops.acquire(hw); in __e1000_write_phy_reg_hv()
2894 if ((hw->phy.type == e1000_phy_82578) && in __e1000_write_phy_reg_hv()
2895 (hw->phy.revision >= 1) && in __e1000_write_phy_reg_hv()
2896 (hw->phy.addr == 2) && in __e1000_write_phy_reg_hv()
2912 hw->phy.addr = phy_addr; in __e1000_write_phy_reg_hv()
2927 hw->phy.ops.release(hw); in __e1000_write_phy_reg_hv()
3008 addr_reg = ((hw->phy.type == e1000_phy_82578) ? in e1000_access_phy_debug_regs_hv()
3013 hw->phy.addr = 2; in e1000_access_phy_debug_regs_hv()
3050 if (hw->phy.type != e1000_phy_82578) in e1000_link_stall_workaround_hv()
3092 struct e1000_phy_info *phy = &hw->phy; in e1000_check_polarity_82577() local
3099 phy->cable_polarity = ((data & I82577_PHY_STATUS2_REV_POLARITY) in e1000_check_polarity_82577()
3114 struct e1000_phy_info *phy = &hw->phy; in e1000_phy_force_speed_duplex_82577() local
3131 if (phy->autoneg_wait_to_complete) { in e1000_phy_force_speed_duplex_82577()
3161 struct e1000_phy_info *phy = &hw->phy; in e1000_get_phy_info_82577() local
3175 phy->polarity_correction = true; in e1000_get_phy_info_82577()
3185 phy->is_mdix = !!(data & I82577_PHY_STATUS2_MDIX); in e1000_get_phy_info_82577()
3189 ret_val = hw->phy.ops.get_cable_length(hw); in e1000_get_phy_info_82577()
3197 phy->local_rx = (data & LPA_1000LOCALRXOK) in e1000_get_phy_info_82577()
3200 phy->remote_rx = (data & LPA_1000REMRXOK) in e1000_get_phy_info_82577()
3203 phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED; in e1000_get_phy_info_82577()
3204 phy->local_rx = e1000_1000t_rx_status_undefined; in e1000_get_phy_info_82577()
3205 phy->remote_rx = e1000_1000t_rx_status_undefined; in e1000_get_phy_info_82577()
3220 struct e1000_phy_info *phy = &hw->phy; in e1000_get_cable_length_82577() local
3234 phy->cable_length = length; in e1000_get_cable_length_82577()