phy_info->downshift = hw->speed_downgraded; 
phy_info->downshift = (e1000_downshift)hw->speed_downgraded; 
e1000_phy_m88_get_info(struct e1000_hw *hw,                       struct e1000_phy_info *phy_info){    int32_t ret_val;    uint16_t phy_data, polarity;    DEBUGFUNC("e1000_phy_m88_get_info");    /* The downshift status is checked only once, after link is established,     * and it stored in the hw->speed_downgraded parameter. */    phy_info->downshift = hw->speed_downgraded;    ret_val = e1000_read_phy_reg(hw, M88E1000_PHY_SPEC_CTRL, &phy_data);    if(ret_val)        return ret_val;    phy_info->extended_10bt_distance =        (phy_data & M88E1000_PSCR_10BT_EXT_DIST_ENABLE) >>        M88E1000_PSCR_10BT_EXT_DIST_ENABLE_SHIFT;    phy_info->polarity_correction =        (phy_data & M88E1000_PSCR_POLARITY_REVERSAL) >>        M88E1000_PSCR_POLARITY_REVERSAL_SHIFT;    /* Check polarity status */    ret_val = e1000_check_polarity(hw, &polarity);    if(ret_val)        return ret_val;     phy_info->cable_polarity = polarity;    ret_val = e1000_read_phy_reg(hw, M88E1000_PHY_SPEC_STATUS, &phy_data);    if(ret_val)        return ret_val;    phy_info->mdix_mode = (phy_data & M88E1000_PSSR_MDIX) >>                          M88E1000_PSSR_MDIX_SHIFT;    if ((phy_data & M88E1000_PSSR_SPEED) == M88E1000_PSSR_1000MBS) {        /* Cable Length Estimation and Local/Remote Receiver Information         * are only valid at 1000 Mbps.         */        phy_info->cable_length = ((phy_data & M88E1000_PSSR_CABLE_LENGTH) >>                                  M88E1000_PSSR_CABLE_LENGTH_SHIFT);        ret_val = e1000_read_phy_reg(hw, PHY_1000T_STATUS, &phy_data);        if(ret_val)            return ret_val;        phy_info->local_rx = (phy_data & SR_1000T_LOCAL_RX_STATUS) >>                             SR_1000T_LOCAL_RX_STATUS_SHIFT;        phy_info->remote_rx = (phy_data & SR_1000T_REMOTE_RX_STATUS) >>                              SR_1000T_REMOTE_RX_STATUS_SHIFT;    }    return E1000_SUCCESS;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2d7edb923a823660b081bd4c660300ee19adca8d/e1000_hw.c/clean/drivers/net/e1000/e1000_hw.c