if (hw->phy_type == e1000_phy_igp) { ret_val = e1000_read_phy_reg(hw, IGP01E1000_PHY_PORT_STATUS, &phy_data); if(ret_val) return ret_val; 
ret_val = e1000_read_phy_reg(hw, M88E1000_PHY_SPEC_STATUS, &phy_data); if(ret_val) return ret_val; 
e1000_config_mac_to_phy(struct e1000_hw *hw){    uint32_t ctrl;    int32_t ret_val;    uint16_t phy_data;    DEBUGFUNC("e1000_config_mac_to_phy");    /* Read the Device Control Register and set the bits to Force Speed     * and Duplex.     */    ctrl = E1000_READ_REG(hw, CTRL);    ctrl |= (E1000_CTRL_FRCSPD | E1000_CTRL_FRCDPX);    ctrl &= ~(E1000_CTRL_SPD_SEL | E1000_CTRL_ILOS);    /* Set up duplex in the Device Control and Transmit Control     * registers depending on negotiated values.     */    if (hw->phy_type == e1000_phy_igp) {        ret_val = e1000_read_phy_reg(hw, IGP01E1000_PHY_PORT_STATUS,                                     &phy_data);        if(ret_val)            return ret_val;        if(phy_data & IGP01E1000_PSSR_FULL_DUPLEX) ctrl |= E1000_CTRL_FD;        else ctrl &= ~E1000_CTRL_FD;        e1000_config_collision_dist(hw);        /* Set up speed in the Device Control register depending on         * negotiated values.         */        if((phy_data & IGP01E1000_PSSR_SPEED_MASK) ==           IGP01E1000_PSSR_SPEED_1000MBPS)            ctrl |= E1000_CTRL_SPD_1000;        else if((phy_data & IGP01E1000_PSSR_SPEED_MASK) ==                IGP01E1000_PSSR_SPEED_100MBPS)            ctrl |= E1000_CTRL_SPD_100;    } else {        ret_val = e1000_read_phy_reg(hw, M88E1000_PHY_SPEC_STATUS,                                     &phy_data);        if(ret_val)            return ret_val;        if(phy_data & M88E1000_PSSR_DPLX) ctrl |= E1000_CTRL_FD;        else ctrl &= ~E1000_CTRL_FD;        e1000_config_collision_dist(hw);        /* Set up speed in the Device Control register depending on         * negotiated values.         */        if((phy_data & M88E1000_PSSR_SPEED) == M88E1000_PSSR_1000MBS)            ctrl |= E1000_CTRL_SPD_1000;        else if((phy_data & M88E1000_PSSR_SPEED) == M88E1000_PSSR_100MBS)            ctrl |= E1000_CTRL_SPD_100;    }    /* Write the configured values back to the Device Control Reg. */    E1000_WRITE_REG(hw, CTRL, ctrl);    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