diff options
Diffstat (limited to 'drivers/net/ethernet/intel/igb/e1000_phy.c')
| -rw-r--r-- | drivers/net/ethernet/intel/igb/e1000_phy.c | 259 | 
1 files changed, 97 insertions, 162 deletions
diff --git a/drivers/net/ethernet/intel/igb/e1000_phy.c b/drivers/net/ethernet/intel/igb/e1000_phy.c index 2918c979b5b..115b0da6e01 100644 --- a/drivers/net/ethernet/intel/igb/e1000_phy.c +++ b/drivers/net/ethernet/intel/igb/e1000_phy.c @@ -33,29 +33,29 @@  static s32  igb_phy_setup_autoneg(struct e1000_hw *hw);  static void igb_phy_force_speed_duplex_setup(struct e1000_hw *hw, -					       u16 *phy_ctrl); +					     u16 *phy_ctrl);  static s32  igb_wait_autoneg(struct e1000_hw *hw);  static s32  igb_set_master_slave_mode(struct e1000_hw *hw);  /* Cable length tables */ -static const u16 e1000_m88_cable_length_table[] = -	{ 0, 50, 80, 110, 140, 140, E1000_CABLE_LENGTH_UNDEFINED }; +static const u16 e1000_m88_cable_length_table[] = { +	0, 50, 80, 110, 140, 140, E1000_CABLE_LENGTH_UNDEFINED };  #define M88E1000_CABLE_LENGTH_TABLE_SIZE \ -                (sizeof(e1000_m88_cable_length_table) / \ -                 sizeof(e1000_m88_cable_length_table[0])) +	(sizeof(e1000_m88_cable_length_table) / \ +	sizeof(e1000_m88_cable_length_table[0])) -static const u16 e1000_igp_2_cable_length_table[] = -    { 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 8, 11, 13, 16, 18, 21, -      0, 0, 0, 3, 6, 10, 13, 16, 19, 23, 26, 29, 32, 35, 38, 41, -      6, 10, 14, 18, 22, 26, 30, 33, 37, 41, 44, 48, 51, 54, 58, 61, -      21, 26, 31, 35, 40, 44, 49, 53, 57, 61, 65, 68, 72, 75, 79, 82, -      40, 45, 51, 56, 61, 66, 70, 75, 79, 83, 87, 91, 94, 98, 101, 104, -      60, 66, 72, 77, 82, 87, 92, 96, 100, 104, 108, 111, 114, 117, 119, 121, -      83, 89, 95, 100, 105, 109, 113, 116, 119, 122, 124, -      104, 109, 114, 118, 121, 124}; +static const u16 e1000_igp_2_cable_length_table[] = { +	0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 8, 11, 13, 16, 18, 21, +	0, 0, 0, 3, 6, 10, 13, 16, 19, 23, 26, 29, 32, 35, 38, 41, +	6, 10, 14, 18, 22, 26, 30, 33, 37, 41, 44, 48, 51, 54, 58, 61, +	21, 26, 31, 35, 40, 44, 49, 53, 57, 61, 65, 68, 72, 75, 79, 82, +	40, 45, 51, 56, 61, 66, 70, 75, 79, 83, 87, 91, 94, 98, 101, 104, +	60, 66, 72, 77, 82, 87, 92, 96, 100, 104, 108, 111, 114, 117, 119, 121, +	83, 89, 95, 100, 105, 109, 113, 116, 119, 122, 124, +	104, 109, 114, 118, 121, 124};  #define IGP02E1000_CABLE_LENGTH_TABLE_SIZE \ -		(sizeof(e1000_igp_2_cable_length_table) / \ -		 sizeof(e1000_igp_2_cable_length_table[0])) +	(sizeof(e1000_igp_2_cable_length_table) / \ +	 sizeof(e1000_igp_2_cable_length_table[0]))  /**   *  igb_check_reset_block - Check if PHY reset is blocked @@ -71,8 +71,7 @@ s32 igb_check_reset_block(struct e1000_hw *hw)  	manc = rd32(E1000_MANC); -	return (manc & E1000_MANC_BLK_PHY_RST_ON_IDE) ? -	       E1000_BLK_PHY_RESET : 0; +	return (manc & E1000_MANC_BLK_PHY_RST_ON_IDE) ? E1000_BLK_PHY_RESET : 0;  }  /** @@ -149,8 +148,7 @@ s32 igb_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data)  		goto out;  	} -	/* -	 * Set up Op-code, Phy Address, and register offset in the MDI +	/* Set up Op-code, Phy Address, and register offset in the MDI  	 * Control register.  The MAC will take care of interfacing with the  	 * PHY to retrieve the desired data.  	 */ @@ -160,8 +158,7 @@ s32 igb_read_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 *data)  	wr32(E1000_MDIC, mdic); -	/* -	 * Poll the ready bit to see if the MDI read completed +	/* Poll the ready bit to see if the MDI read completed  	 * Increasing the time out as testing showed failures with  	 * the lower time out  	 */ @@ -207,8 +204,7 @@ s32 igb_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data)  		goto out;  	} -	/* -	 * Set up Op-code, Phy Address, and register offset in the MDI +	/* Set up Op-code, Phy Address, and register offset in the MDI  	 * Control register.  The MAC will take care of interfacing with the  	 * PHY to retrieve the desired data.  	 */ @@ -219,8 +215,7 @@ s32 igb_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data)  	wr32(E1000_MDIC, mdic); -	/* -	 * Poll the ready bit to see if the MDI read completed +	/* Poll the ready bit to see if the MDI read completed  	 * Increasing the time out as testing showed failures with  	 * the lower time out  	 */ @@ -259,15 +254,13 @@ s32 igb_read_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 *data)  	struct e1000_phy_info *phy = &hw->phy;  	u32 i, i2ccmd = 0; - -	/* -	 * Set up Op-code, Phy Address, and register address in the I2CCMD +	/* Set up Op-code, Phy Address, and register address in the I2CCMD  	 * register.  The MAC will take care of interfacing with the  	 * PHY to retrieve the desired data.  	 */  	i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) | -	          (phy->addr << E1000_I2CCMD_PHY_ADDR_SHIFT) | -	          (E1000_I2CCMD_OPCODE_READ)); +		  (phy->addr << E1000_I2CCMD_PHY_ADDR_SHIFT) | +		  (E1000_I2CCMD_OPCODE_READ));  	wr32(E1000_I2CCMD, i2ccmd); @@ -317,15 +310,14 @@ s32 igb_write_phy_reg_i2c(struct e1000_hw *hw, u32 offset, u16 data)  	/* Swap the data bytes for the I2C interface */  	phy_data_swapped = ((data >> 8) & 0x00FF) | ((data << 8) & 0xFF00); -	/* -	 * Set up Op-code, Phy Address, and register address in the I2CCMD +	/* Set up Op-code, Phy Address, and register address in the I2CCMD  	 * register.  The MAC will take care of interfacing with the  	 * PHY to retrieve the desired data.  	 */  	i2ccmd = ((offset << E1000_I2CCMD_REG_ADDR_SHIFT) | -	          (phy->addr << E1000_I2CCMD_PHY_ADDR_SHIFT) | -	          E1000_I2CCMD_OPCODE_WRITE | -	          phy_data_swapped); +		  (phy->addr << E1000_I2CCMD_PHY_ADDR_SHIFT) | +		  E1000_I2CCMD_OPCODE_WRITE | +		  phy_data_swapped);  	wr32(E1000_I2CCMD, i2ccmd); @@ -371,8 +363,8 @@ s32 igb_read_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 *data)  	if (offset > MAX_PHY_MULTI_PAGE_REG) {  		ret_val = igb_write_phy_reg_mdic(hw, -						   IGP01E1000_PHY_PAGE_SELECT, -						   (u16)offset); +						 IGP01E1000_PHY_PAGE_SELECT, +						 (u16)offset);  		if (ret_val) {  			hw->phy.ops.release(hw);  			goto out; @@ -410,8 +402,8 @@ s32 igb_write_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 data)  	if (offset > MAX_PHY_MULTI_PAGE_REG) {  		ret_val = igb_write_phy_reg_mdic(hw, -						   IGP01E1000_PHY_PAGE_SELECT, -						   (u16)offset); +						 IGP01E1000_PHY_PAGE_SELECT, +						 (u16)offset);  		if (ret_val) {  			hw->phy.ops.release(hw);  			goto out; @@ -419,7 +411,7 @@ s32 igb_write_phy_reg_igp(struct e1000_hw *hw, u32 offset, u16 data)  	}  	ret_val = igb_write_phy_reg_mdic(hw, MAX_PHY_REG_ADDRESS & offset, -					   data); +					 data);  	hw->phy.ops.release(hw); @@ -439,7 +431,6 @@ s32 igb_copper_link_setup_82580(struct e1000_hw *hw)  	s32 ret_val;  	u16 phy_data; -  	if (phy->reset_disable) {  		ret_val = 0;  		goto out; @@ -472,8 +463,7 @@ s32 igb_copper_link_setup_82580(struct e1000_hw *hw)  	if (ret_val)  		goto out;  	phy_data &= ~I82580_PHY_CTRL2_MDIX_CFG_MASK; -	/* -	 * Options: +	/* Options:  	 *   0 - Auto (default)  	 *   1 - MDI mode  	 *   2 - MDI-X mode @@ -520,8 +510,7 @@ s32 igb_copper_link_setup_m88(struct e1000_hw *hw)  	phy_data |= M88E1000_PSCR_ASSERT_CRS_ON_TX; -	/* -	 * Options: +	/* Options:  	 *   MDI/MDI-X = 0 (default)  	 *   0 - Auto for all speeds  	 *   1 - MDI mode @@ -546,8 +535,7 @@ s32 igb_copper_link_setup_m88(struct e1000_hw *hw)  		break;  	} -	/* -	 * Options: +	/* Options:  	 *   disable_polarity_correction = 0 (default)  	 *       Automatic Correction for Reversed Cable Polarity  	 *   0 - Disabled @@ -562,12 +550,11 @@ s32 igb_copper_link_setup_m88(struct e1000_hw *hw)  		goto out;  	if (phy->revision < E1000_REVISION_4) { -		/* -		 * Force TX_CLK in the Extended PHY Specific Control Register +		/* Force TX_CLK in the Extended PHY Specific Control Register  		 * to 25MHz clock.  		 */  		ret_val = phy->ops.read_reg(hw, M88E1000_EXT_PHY_SPEC_CTRL, -					     &phy_data); +					    &phy_data);  		if (ret_val)  			goto out; @@ -630,8 +617,7 @@ s32 igb_copper_link_setup_m88_gen2(struct e1000_hw *hw)  	if (ret_val)  		goto out; -	/* -	 * Options: +	/* Options:  	 *   MDI/MDI-X = 0 (default)  	 *   0 - Auto for all speeds  	 *   1 - MDI mode @@ -659,8 +645,7 @@ s32 igb_copper_link_setup_m88_gen2(struct e1000_hw *hw)  		break;  	} -	/* -	 * Options: +	/* Options:  	 *   disable_polarity_correction = 0 (default)  	 *       Automatic Correction for Reversed Cable Polarity  	 *   0 - Disabled @@ -714,14 +699,12 @@ s32 igb_copper_link_setup_igp(struct e1000_hw *hw)  		goto out;  	} -	/* -	 * Wait 100ms for MAC to configure PHY from NVM settings, to avoid +	/* Wait 100ms for MAC to configure PHY from NVM settings, to avoid  	 * timeout issues when LFS is enabled.  	 */  	msleep(100); -	/* -	 * The NVM settings will configure LPLU in D3 for +	/* The NVM settings will configure LPLU in D3 for  	 * non-IGP1 PHYs.  	 */  	if (phy->type == e1000_phy_igp) { @@ -765,8 +748,7 @@ s32 igb_copper_link_setup_igp(struct e1000_hw *hw)  	/* set auto-master slave resolution settings */  	if (hw->mac.autoneg) { -		/* -		 * when autonegotiation advertisement is only 1000Mbps then we +		/* when autonegotiation advertisement is only 1000Mbps then we  		 * should disable SmartSpeed and enable Auto MasterSlave  		 * resolution as hardware default.  		 */ @@ -844,14 +826,12 @@ static s32 igb_copper_link_autoneg(struct e1000_hw *hw)  	s32 ret_val;  	u16 phy_ctrl; -	/* -	 * Perform some bounds checking on the autoneg advertisement +	/* Perform some bounds checking on the autoneg advertisement  	 * parameter.  	 */  	phy->autoneg_advertised &= phy->autoneg_mask; -	/* -	 * If autoneg_advertised is zero, we assume it was not defaulted +	/* If autoneg_advertised is zero, we assume it was not defaulted  	 * by the calling code so we set to advertise full capability.  	 */  	if (phy->autoneg_advertised == 0) @@ -865,8 +845,7 @@ static s32 igb_copper_link_autoneg(struct e1000_hw *hw)  	}  	hw_dbg("Restarting Auto-Neg\n"); -	/* -	 * Restart auto-negotiation by setting the Auto Neg Enable bit and +	/* Restart auto-negotiation by setting the Auto Neg Enable bit and  	 * the Auto Neg Restart bit in the PHY control register.  	 */  	ret_val = phy->ops.read_reg(hw, PHY_CONTROL, &phy_ctrl); @@ -878,8 +857,7 @@ static s32 igb_copper_link_autoneg(struct e1000_hw *hw)  	if (ret_val)  		goto out; -	/* -	 * Does the user want to wait for Auto-Neg to complete here, or +	/* Does the user want to wait for Auto-Neg to complete here, or  	 * check at a later time (for example, callback routine).  	 */  	if (phy->autoneg_wait_to_complete) { @@ -928,16 +906,14 @@ static s32 igb_phy_setup_autoneg(struct e1000_hw *hw)  			goto out;  	} -	/* -	 * Need to parse both autoneg_advertised and fc and set up +	/* Need to parse both autoneg_advertised and fc and set up  	 * the appropriate PHY registers.  First we will parse for  	 * autoneg_advertised software override.  Since we can advertise  	 * a plethora of combinations, we need to check each bit  	 * individually.  	 */ -	/* -	 * First we clear all the 10/100 mb speed bits in the Auto-Neg +	/* First we clear all the 10/100 mb speed bits in the Auto-Neg  	 * Advertisement Register (Address 4) and the 1000 mb speed bits in  	 * the  1000Base-T Control Register (Address 9).  	 */ @@ -983,8 +959,7 @@ static s32 igb_phy_setup_autoneg(struct e1000_hw *hw)  		mii_1000t_ctrl_reg |= CR_1000T_FD_CAPS;  	} -	/* -	 * Check for a software override of the flow control settings, and +	/* Check for a software override of the flow control settings, and  	 * setup the PHY advertisement registers accordingly.  If  	 * auto-negotiation is enabled, then software will have to set the  	 * "PAUSE" bits to the correct value in the Auto-Negotiation @@ -1003,15 +978,13 @@ static s32 igb_phy_setup_autoneg(struct e1000_hw *hw)  	 */  	switch (hw->fc.current_mode) {  	case e1000_fc_none: -		/* -		 * Flow control (RX & TX) is completely disabled by a +		/* Flow control (RX & TX) is completely disabled by a  		 * software over-ride.  		 */  		mii_autoneg_adv_reg &= ~(NWAY_AR_ASM_DIR | NWAY_AR_PAUSE);  		break;  	case e1000_fc_rx_pause: -		/* -		 * RX Flow control is enabled, and TX Flow control is +		/* RX Flow control is enabled, and TX Flow control is  		 * disabled, by a software over-ride.  		 *  		 * Since there really isn't a way to advertise that we are @@ -1023,16 +996,14 @@ static s32 igb_phy_setup_autoneg(struct e1000_hw *hw)  		mii_autoneg_adv_reg |= (NWAY_AR_ASM_DIR | NWAY_AR_PAUSE);  		break;  	case e1000_fc_tx_pause: -		/* -		 * TX Flow control is enabled, and RX Flow control is +		/* TX Flow control is enabled, and RX Flow control is  		 * disabled, by a software over-ride.  		 */  		mii_autoneg_adv_reg |= NWAY_AR_ASM_DIR;  		mii_autoneg_adv_reg &= ~NWAY_AR_PAUSE;  		break;  	case e1000_fc_full: -		/* -		 * Flow control (both RX and TX) is enabled by a software +		/* Flow control (both RX and TX) is enabled by a software  		 * over-ride.  		 */  		mii_autoneg_adv_reg |= (NWAY_AR_ASM_DIR | NWAY_AR_PAUSE); @@ -1075,18 +1046,15 @@ s32 igb_setup_copper_link(struct e1000_hw *hw)  	s32 ret_val;  	bool link; -  	if (hw->mac.autoneg) { -		/* -		 * Setup autoneg and flow control advertisement and perform +		/* Setup autoneg and flow control advertisement and perform  		 * autonegotiation.  		 */  		ret_val = igb_copper_link_autoneg(hw);  		if (ret_val)  			goto out;  	} else { -		/* -		 * PHY will be set to 10H, 10F, 100H or 100F +		/* PHY will be set to 10H, 10F, 100H or 100F  		 * depending on user settings.  		 */  		hw_dbg("Forcing Speed and Duplex\n"); @@ -1097,14 +1065,10 @@ s32 igb_setup_copper_link(struct e1000_hw *hw)  		}  	} -	/* -	 * Check link status. Wait up to 100 microseconds for link to become +	/* Check link status. Wait up to 100 microseconds for link to become  	 * valid.  	 */ -	ret_val = igb_phy_has_link(hw, -	                           COPPER_LINK_UP_LIMIT, -	                           10, -	                           &link); +	ret_val = igb_phy_has_link(hw, COPPER_LINK_UP_LIMIT, 10, &link);  	if (ret_val)  		goto out; @@ -1145,8 +1109,7 @@ s32 igb_phy_force_speed_duplex_igp(struct e1000_hw *hw)  	if (ret_val)  		goto out; -	/* -	 * Clear Auto-Crossover to force MDI manually.  IGP requires MDI +	/* Clear Auto-Crossover to force MDI manually.  IGP requires MDI  	 * forced whenever speed and duplex are forced.  	 */  	ret_val = phy->ops.read_reg(hw, IGP01E1000_PHY_PORT_CTRL, &phy_data); @@ -1167,10 +1130,7 @@ s32 igb_phy_force_speed_duplex_igp(struct e1000_hw *hw)  	if (phy->autoneg_wait_to_complete) {  		hw_dbg("Waiting for forced speed/duplex link on IGP phy.\n"); -		ret_val = igb_phy_has_link(hw, -						     PHY_FORCE_LIMIT, -						     100000, -						     &link); +		ret_val = igb_phy_has_link(hw, PHY_FORCE_LIMIT, 10000, &link);  		if (ret_val)  			goto out; @@ -1178,10 +1138,7 @@ s32 igb_phy_force_speed_duplex_igp(struct e1000_hw *hw)  			hw_dbg("Link taking longer than expected.\n");  		/* Try once more */ -		ret_val = igb_phy_has_link(hw, -						     PHY_FORCE_LIMIT, -						     100000, -						     &link); +		ret_val = igb_phy_has_link(hw, PHY_FORCE_LIMIT, 10000, &link);  		if (ret_val)  			goto out;  	} @@ -1209,8 +1166,7 @@ s32 igb_phy_force_speed_duplex_m88(struct e1000_hw *hw)  	/* I210 and I211 devices support Auto-Crossover in forced operation. */  	if (phy->type != e1000_phy_i210) { -		/* -		 * Clear Auto-Crossover to force MDI manually.  M88E1000 +		/* Clear Auto-Crossover to force MDI manually.  M88E1000  		 * requires MDI forced whenever speed and duplex are forced.  		 */  		ret_val = phy->ops.read_reg(hw, M88E1000_PHY_SPEC_CTRL, @@ -1266,13 +1222,12 @@ s32 igb_phy_force_speed_duplex_m88(struct e1000_hw *hw)  			if (!reset_dsp)  				hw_dbg("Link taking longer than expected.\n");  			else { -				/* -				 * We didn't get link. +				/* We didn't get link.  				 * Reset the DSP and cross our fingers.  				 */  				ret_val = phy->ops.write_reg(hw, -							     M88E1000_PHY_PAGE_SELECT, -							     0x001d); +						M88E1000_PHY_PAGE_SELECT, +						0x001d);  				if (ret_val)  					goto out;  				ret_val = igb_phy_reset_dsp(hw); @@ -1298,8 +1253,7 @@ s32 igb_phy_force_speed_duplex_m88(struct e1000_hw *hw)  	if (ret_val)  		goto out; -	/* -	 * Resetting the phy means we need to re-force TX_CLK in the +	/* Resetting the phy means we need to re-force TX_CLK in the  	 * Extended PHY Specific Control Register to 25MHz clock from  	 * the reset value of 2.5MHz.  	 */ @@ -1308,8 +1262,7 @@ s32 igb_phy_force_speed_duplex_m88(struct e1000_hw *hw)  	if (ret_val)  		goto out; -	/* -	 * In addition, we must re-enable CRS on Tx for both half and full +	/* In addition, we must re-enable CRS on Tx for both half and full  	 * duplex.  	 */  	ret_val = phy->ops.read_reg(hw, M88E1000_PHY_SPEC_CTRL, &phy_data); @@ -1336,7 +1289,7 @@ out:   *  take affect.   **/  static void igb_phy_force_speed_duplex_setup(struct e1000_hw *hw, -					       u16 *phy_ctrl) +					     u16 *phy_ctrl)  {  	struct e1000_mac_info *mac = &hw->mac;  	u32 ctrl; @@ -1417,8 +1370,7 @@ s32 igb_set_d3_lplu_state(struct e1000_hw *hw, bool active)  					     data);  		if (ret_val)  			goto out; -		/* -		 * LPLU and SmartSpeed are mutually exclusive.  LPLU is used +		/* LPLU and SmartSpeed are mutually exclusive.  LPLU is used  		 * during Dx states where the power conservation is most  		 * important.  During driver activity we should enable  		 * SmartSpeed, so performance is maintained. @@ -1461,13 +1413,13 @@ s32 igb_set_d3_lplu_state(struct e1000_hw *hw, bool active)  		/* When LPLU is enabled, we should disable SmartSpeed */  		ret_val = phy->ops.read_reg(hw, IGP01E1000_PHY_PORT_CONFIG, -					     &data); +					    &data);  		if (ret_val)  			goto out;  		data &= ~IGP01E1000_PSCFR_SMART_SPEED;  		ret_val = phy->ops.write_reg(hw, IGP01E1000_PHY_PORT_CONFIG, -					      data); +					     data);  	}  out: @@ -1556,8 +1508,7 @@ static s32 igb_check_polarity_igp(struct e1000_hw *hw)  	s32 ret_val;  	u16 data, offset, mask; -	/* -	 * Polarity is determined based on the speed of +	/* Polarity is determined based on the speed of  	 * our connection.  	 */  	ret_val = phy->ops.read_reg(hw, IGP01E1000_PHY_PORT_STATUS, &data); @@ -1569,8 +1520,7 @@ static s32 igb_check_polarity_igp(struct e1000_hw *hw)  		offset	= IGP01E1000_PHY_PCS_INIT_REG;  		mask	= IGP01E1000_PHY_POLARITY_MASK;  	} else { -		/* -		 * This really only applies to 10Mbps since +		/* This really only applies to 10Mbps since  		 * there is no polarity for 100Mbps (always 0).  		 */  		offset	= IGP01E1000_PHY_PORT_STATUS; @@ -1589,7 +1539,7 @@ out:  }  /** - *  igb_wait_autoneg - Wait for auto-neg compeletion + *  igb_wait_autoneg - Wait for auto-neg completion   *  @hw: pointer to the HW structure   *   *  Waits for auto-negotiation to complete or for the auto-negotiation time @@ -1613,8 +1563,7 @@ static s32 igb_wait_autoneg(struct e1000_hw *hw)  		msleep(100);  	} -	/* -	 * PHY_AUTO_NEG_TIME expiration doesn't guarantee auto-negotiation +	/* PHY_AUTO_NEG_TIME expiration doesn't guarantee auto-negotiation  	 * has completed.  	 */  	return ret_val; @@ -1630,21 +1579,19 @@ static s32 igb_wait_autoneg(struct e1000_hw *hw)   *  Polls the PHY status register for link, 'iterations' number of times.   **/  s32 igb_phy_has_link(struct e1000_hw *hw, u32 iterations, -			       u32 usec_interval, bool *success) +		     u32 usec_interval, bool *success)  {  	s32 ret_val = 0;  	u16 i, phy_status;  	for (i = 0; i < iterations; i++) { -		/* -		 * Some PHYs require the PHY_STATUS register to be read +		/* Some PHYs require the PHY_STATUS register to be read  		 * twice due to the link bit being sticky.  No harm doing  		 * it across the board.  		 */  		ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status); -		if (ret_val) { -			/* -			 * If the first read fails, another entity may have +		if (ret_val && usec_interval > 0) { +			/* If the first read fails, another entity may have  			 * ownership of the resources, wait and try again to  			 * see if they have relinquished the resources yet.  			 */ @@ -1735,6 +1682,7 @@ s32 igb_get_cable_length_m88_gen2(struct e1000_hw *hw)  		phy->max_cable_length = phy_data / (is_cm ? 100 : 1);  		phy->cable_length = phy_data / (is_cm ? 100 : 1);  		break; +	case M88E1545_E_PHY_ID:  	case I347AT4_E_PHY_ID:  		/* Remember the original page select and set it to 7 */  		ret_val = phy->ops.read_reg(hw, I347AT4_PAGE_SELECT, @@ -1834,10 +1782,10 @@ s32 igb_get_cable_length_igp_2(struct e1000_hw *hw)  	u16 cur_agc_index, max_agc_index = 0;  	u16 min_agc_index = IGP02E1000_CABLE_LENGTH_TABLE_SIZE - 1;  	static const u16 agc_reg_array[IGP02E1000_PHY_CHANNEL_NUM] = { -	       IGP02E1000_PHY_AGC_A, -	       IGP02E1000_PHY_AGC_B, -	       IGP02E1000_PHY_AGC_C, -	       IGP02E1000_PHY_AGC_D +		IGP02E1000_PHY_AGC_A, +		IGP02E1000_PHY_AGC_B, +		IGP02E1000_PHY_AGC_C, +		IGP02E1000_PHY_AGC_D  	};  	/* Read the AGC registers for all channels */ @@ -1846,8 +1794,7 @@ s32 igb_get_cable_length_igp_2(struct e1000_hw *hw)  		if (ret_val)  			goto out; -		/* -		 * Getting bits 15:9, which represent the combination of +		/* Getting bits 15:9, which represent the combination of  		 * coarse and fine gain values.  The result is a number  		 * that can be put into the lookup table to obtain the  		 * approximate cable length. @@ -2167,15 +2114,13 @@ s32 igb_phy_init_script_igp3(struct e1000_hw *hw)  	hw->phy.ops.write_reg(hw, 0x1796, 0x0008);  	/* Change cg_icount + enable integbp for channels BCD */  	hw->phy.ops.write_reg(hw, 0x1798, 0xD008); -	/* -	 * Change cg_icount + enable integbp + change prop_factor_master +	/* Change cg_icount + enable integbp + change prop_factor_master  	 * to 8 for channel A  	 */  	hw->phy.ops.write_reg(hw, 0x1898, 0xD918);  	/* Disable AHT in Slave mode on channel A */  	hw->phy.ops.write_reg(hw, 0x187A, 0x0800); -	/* -	 * Enable LPLU and disable AN to 1000 in non-D0a states, +	/* Enable LPLU and disable AN to 1000 in non-D0a states,  	 * Enable SPD+B2B  	 */  	hw->phy.ops.write_reg(hw, 0x0019, 0x008D); @@ -2257,8 +2202,8 @@ static s32 igb_check_polarity_82580(struct e1000_hw *hw)  	if (!ret_val)  		phy->cable_polarity = (data & I82580_PHY_STATUS2_REV_POLARITY) -		                      ? e1000_rev_polarity_reversed -		                      : e1000_rev_polarity_normal; +				      ? e1000_rev_polarity_reversed +				      : e1000_rev_polarity_normal;  	return ret_val;  } @@ -2278,7 +2223,6 @@ s32 igb_phy_force_speed_duplex_82580(struct e1000_hw *hw)  	u16 phy_data;  	bool link; -  	ret_val = phy->ops.read_reg(hw, PHY_CONTROL, &phy_data);  	if (ret_val)  		goto out; @@ -2289,8 +2233,7 @@ s32 igb_phy_force_speed_duplex_82580(struct e1000_hw *hw)  	if (ret_val)  		goto out; -	/* -	 * Clear Auto-Crossover to force MDI manually.  82580 requires MDI +	/* Clear Auto-Crossover to force MDI manually.  82580 requires MDI  	 * forced whenever speed and duplex are forced.  	 */  	ret_val = phy->ops.read_reg(hw, I82580_PHY_CTRL_2, &phy_data); @@ -2310,10 +2253,7 @@ s32 igb_phy_force_speed_duplex_82580(struct e1000_hw *hw)  	if (phy->autoneg_wait_to_complete) {  		hw_dbg("Waiting for forced speed/duplex link on 82580 phy\n"); -		ret_val = igb_phy_has_link(hw, -		                           PHY_FORCE_LIMIT, -		                           100000, -		                           &link); +		ret_val = igb_phy_has_link(hw, PHY_FORCE_LIMIT, 100000, &link);  		if (ret_val)  			goto out; @@ -2321,10 +2261,7 @@ s32 igb_phy_force_speed_duplex_82580(struct e1000_hw *hw)  			hw_dbg("Link taking longer than expected.\n");  		/* Try once more */ -		ret_val = igb_phy_has_link(hw, -		                           PHY_FORCE_LIMIT, -		                           100000, -		                           &link); +		ret_val = igb_phy_has_link(hw, PHY_FORCE_LIMIT, 100000, &link);  		if (ret_val)  			goto out;  	} @@ -2349,7 +2286,6 @@ s32 igb_get_phy_info_82580(struct e1000_hw *hw)  	u16 data;  	bool link; -  	ret_val = igb_phy_has_link(hw, 1, 0, &link);  	if (ret_val)  		goto out; @@ -2383,12 +2319,12 @@ s32 igb_get_phy_info_82580(struct e1000_hw *hw)  			goto out;  		phy->local_rx = (data & SR_1000T_LOCAL_RX_STATUS) -		                ? e1000_1000t_rx_status_ok -		                : e1000_1000t_rx_status_not_ok; +				? e1000_1000t_rx_status_ok +				: e1000_1000t_rx_status_not_ok;  		phy->remote_rx = (data & SR_1000T_REMOTE_RX_STATUS) -		                 ? e1000_1000t_rx_status_ok -		                 : e1000_1000t_rx_status_not_ok; +				 ? e1000_1000t_rx_status_ok +				 : e1000_1000t_rx_status_not_ok;  	} else {  		phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED;  		phy->local_rx = e1000_1000t_rx_status_undefined; @@ -2412,13 +2348,12 @@ s32 igb_get_cable_length_82580(struct e1000_hw *hw)  	s32 ret_val;  	u16 phy_data, length; -  	ret_val = phy->ops.read_reg(hw, I82580_PHY_DIAG_STATUS, &phy_data);  	if (ret_val)  		goto out;  	length = (phy_data & I82580_DSTATUS_CABLE_LENGTH) >> -	         I82580_DSTATUS_CABLE_LENGTH_SHIFT; +		 I82580_DSTATUS_CABLE_LENGTH_SHIFT;  	if (length == E1000_CABLE_LENGTH_UNDEFINED)  		ret_val = -E1000_ERR_PHY;  |