e1000e: reorganize PHY and flow control interface
This reorganization moves the PHY status into a separate struct. Flow Control setup is moved into this struct as well and frame size away from here into the adapter struct where its inly use is. The post-link-up code is now a separate function and moved out of the watchdog function itself. This allows us to track the es2lan restart issue a bit easier. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
committed by
Jeff Garzik
parent
e2de3eb69c
commit
318a94d689
@ -714,7 +714,7 @@ static s32 e1000_phy_setup_autoneg(struct e1000_hw *hw)
|
||||
* other: No software override. The flow control configuration
|
||||
* in the EEPROM is used.
|
||||
*/
|
||||
switch (hw->mac.fc) {
|
||||
switch (hw->fc.type) {
|
||||
case e1000_fc_none:
|
||||
/*
|
||||
* Flow control (Rx & Tx) is completely disabled by a
|
||||
@ -822,7 +822,7 @@ static s32 e1000_copper_link_autoneg(struct e1000_hw *hw)
|
||||
* Does the user want to wait for Auto-Neg to complete here, or
|
||||
* check at a later time (for example, callback routine).
|
||||
*/
|
||||
if (phy->wait_for_link) {
|
||||
if (phy->autoneg_wait_to_complete) {
|
||||
ret_val = e1000_wait_autoneg(hw);
|
||||
if (ret_val) {
|
||||
hw_dbg(hw, "Error while waiting for "
|
||||
@ -937,7 +937,7 @@ s32 e1000e_phy_force_speed_duplex_igp(struct e1000_hw *hw)
|
||||
|
||||
udelay(1);
|
||||
|
||||
if (phy->wait_for_link) {
|
||||
if (phy->autoneg_wait_to_complete) {
|
||||
hw_dbg(hw, "Waiting for forced speed/duplex link on IGP phy.\n");
|
||||
|
||||
ret_val = e1000e_phy_has_link_generic(hw,
|
||||
@ -1009,7 +1009,7 @@ s32 e1000e_phy_force_speed_duplex_m88(struct e1000_hw *hw)
|
||||
|
||||
udelay(1);
|
||||
|
||||
if (phy->wait_for_link) {
|
||||
if (phy->autoneg_wait_to_complete) {
|
||||
hw_dbg(hw, "Waiting for forced speed/duplex link on M88 phy.\n");
|
||||
|
||||
ret_val = e1000e_phy_has_link_generic(hw, PHY_FORCE_LIMIT,
|
||||
@ -1084,7 +1084,7 @@ void e1000e_phy_force_speed_duplex_setup(struct e1000_hw *hw, u16 *phy_ctrl)
|
||||
u32 ctrl;
|
||||
|
||||
/* Turn off flow control when forcing speed/duplex */
|
||||
mac->fc = e1000_fc_none;
|
||||
hw->fc.type = e1000_fc_none;
|
||||
|
||||
/* Force speed/duplex on the mac */
|
||||
ctrl = er32(CTRL);
|
||||
@ -1508,7 +1508,7 @@ s32 e1000e_get_phy_info_m88(struct e1000_hw *hw)
|
||||
u16 phy_data;
|
||||
bool link;
|
||||
|
||||
if (hw->media_type != e1000_media_type_copper) {
|
||||
if (hw->phy.media_type != e1000_media_type_copper) {
|
||||
hw_dbg(hw, "Phy info is only valid for copper media\n");
|
||||
return -E1000_ERR_CONFIG;
|
||||
}
|
||||
|
Reference in New Issue
Block a user