Lines Matching defs:phy

96 	struct e1000_phy_info *phy = &hw->phy;
101 if (hw->phy.media_type != e1000_media_type_copper) {
102 phy->type = e1000_phy_none;
106 phy->addr = 1;
107 phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT;
108 phy->reset_delay_us = 100;
110 phy->ops.check_reset_block = e1000_check_reset_block_generic;
111 phy->ops.reset = e1000_phy_hw_reset_generic;
112 phy->ops.set_d0_lplu_state = e1000_set_d0_lplu_state_82571;
113 phy->ops.set_d3_lplu_state = e1000_set_d3_lplu_state_generic;
114 phy->ops.power_up = e1000_power_up_phy_copper;
115 phy->ops.power_down = e1000_power_down_phy_copper_82571;
120 phy->type = e1000_phy_igp_2;
121 phy->ops.get_cfg_done = e1000_get_cfg_done_82571;
122 phy->ops.get_info = e1000_get_phy_info_igp;
123 phy->ops.check_polarity = e1000_check_polarity_igp;
124 phy->ops.force_speed_duplex = e1000_phy_force_speed_duplex_igp;
125 phy->ops.get_cable_length = e1000_get_cable_length_igp_2;
126 phy->ops.read_reg = e1000_read_phy_reg_igp;
127 phy->ops.write_reg = e1000_write_phy_reg_igp;
128 phy->ops.acquire = e1000_get_hw_semaphore_82571;
129 phy->ops.release = e1000_put_hw_semaphore_82571;
132 phy->type = e1000_phy_m88;
133 phy->ops.get_cfg_done = e1000_get_cfg_done_generic;
134 phy->ops.get_info = e1000_get_phy_info_m88;
135 phy->ops.check_polarity = e1000_check_polarity_m88;
136 phy->ops.commit = e1000_phy_sw_reset_generic;
137 phy->ops.force_speed_duplex = e1000_phy_force_speed_duplex_m88;
138 phy->ops.get_cable_length = e1000_get_cable_length_m88;
139 phy->ops.read_reg = e1000_read_phy_reg_m88;
140 phy->ops.write_reg = e1000_write_phy_reg_m88;
141 phy->ops.acquire = e1000_get_hw_semaphore_82571;
142 phy->ops.release = e1000_put_hw_semaphore_82571;
148 phy->type = e1000_phy_bm;
149 phy->ops.get_cfg_done = e1000_get_cfg_done_generic;
150 phy->ops.get_info = e1000_get_phy_info_m88;
151 phy->ops.check_polarity = e1000_check_polarity_m88;
152 phy->ops.commit = e1000_phy_sw_reset_generic;
153 phy->ops.force_speed_duplex = e1000_phy_force_speed_duplex_m88;
154 phy->ops.get_cable_length = e1000_get_cable_length_m88;
155 phy->ops.read_reg = e1000_read_phy_reg_bm2;
156 phy->ops.write_reg = e1000_write_phy_reg_bm2;
157 phy->ops.acquire = e1000_get_hw_semaphore_82574;
158 phy->ops.release = e1000_put_hw_semaphore_82574;
159 phy->ops.set_d0_lplu_state = e1000_set_d0_lplu_state_82574;
160 phy->ops.set_d3_lplu_state = e1000_set_d3_lplu_state_82574;
174 /* Verify phy id */
178 if (phy->id != IGP01E1000_I_PHY_ID)
182 if (phy->id != M88E1111_I_PHY_ID)
187 if (phy->id != BME1000_E_PHY_ID_R2)
196 DEBUGOUT1("PHY ID unknown: type = 0x%08x\n", phy->id);
300 hw->phy.media_type = e1000_media_type_fiber;
311 hw->phy.media_type = e1000_media_type_internal_serdes;
319 hw->phy.media_type = e1000_media_type_copper;
454 hw->phy.ops.init_params = e1000_init_phy_params_82571;
466 struct e1000_phy_info *phy = &hw->phy;
480 phy->id = IGP01E1000_I_PHY_ID;
487 ret_val = phy->ops.read_reg(hw, PHY_ID1, &phy_id);
491 phy->id = (u32)(phy_id << 16);
493 ret_val = phy->ops.read_reg(hw, PHY_ID2, &phy_id);
497 phy->id |= (u32)(phy_id);
498 phy->revision = (u32)(phy_id & ~PHY_REVISION_MASK);
724 } else if ((hw->phy.autoneg_advertised == E1000_ALL_SPEED_DUPLEX) ||
725 (hw->phy.autoneg_advertised == E1000_ALL_NOT_GIG) ||
726 (hw->phy.autoneg_advertised == E1000_ALL_10_SPEED)) {
988 struct e1000_phy_info *phy = &hw->phy;
994 if (!(phy->ops.read_reg))
997 ret_val = phy->ops.read_reg(hw, IGP02E1000_PHY_POWER_MGMT, &data);
1003 ret_val = phy->ops.write_reg(hw, IGP02E1000_PHY_POWER_MGMT,
1009 ret_val = phy->ops.read_reg(hw, IGP01E1000_PHY_PORT_CONFIG,
1014 ret_val = phy->ops.write_reg(hw, IGP01E1000_PHY_PORT_CONFIG,
1020 ret_val = phy->ops.write_reg(hw, IGP02E1000_PHY_POWER_MGMT,
1027 if (phy->smart_speed == e1000_smart_speed_on) {
1028 ret_val = phy->ops.read_reg(hw,
1035 ret_val = phy->ops.write_reg(hw,
1040 } else if (phy->smart_speed == e1000_smart_speed_off) {
1041 ret_val = phy->ops.read_reg(hw,
1048 ret_val = phy->ops.write_reg(hw,
1178 if (hw->phy.media_type == e1000_media_type_internal_serdes)
1496 * e1000_check_phy_82574 - check 82574 phy hung state
1499 * Returns whether phy is hung or not
1512 ret_val = hw->phy.ops.read_reg(hw, E1000_RECEIVE_ERROR_COUNTER,
1517 ret_val = hw->phy.ops.read_reg(hw, E1000_BASE1000T_STATUS,
1582 switch (hw->phy.type) {
1972 struct e1000_phy_info *phy = &hw->phy;
1975 if (!phy->ops.check_reset_block)
1979 if (!(mac->ops.check_mng_mode(hw) || phy->ops.check_reset_block(hw)))