diff options
Diffstat (limited to 'drivers/net/e1000e/82571.c')
| -rw-r--r-- | drivers/net/e1000e/82571.c | 22 | 
1 files changed, 12 insertions, 10 deletions
diff --git a/drivers/net/e1000e/82571.c b/drivers/net/e1000e/82571.c index 89a69035e53..8295f219243 100644 --- a/drivers/net/e1000e/82571.c +++ b/drivers/net/e1000e/82571.c @@ -300,6 +300,7 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)  		func->set_lan_id = e1000_set_lan_id_single_port;  		func->check_mng_mode = e1000e_check_mng_mode_generic;  		func->led_on = e1000e_led_on_generic; +		func->blink_led = e1000e_blink_led_generic;  		/* FWSM register */  		mac->has_fwsm = true; @@ -320,6 +321,7 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)  	default:  		func->check_mng_mode = e1000e_check_mng_mode_generic;  		func->led_on = e1000e_led_on_generic; +		func->blink_led = e1000e_blink_led_generic;  		/* FWSM register */  		mac->has_fwsm = true; @@ -431,9 +433,6 @@ static s32 e1000_get_variants_82571(struct e1000_adapter *adapter)  	case e1000_82573:  	case e1000_82574:  	case e1000_82583: -		/* Disable ASPM L0s due to hardware errata */ -		e1000e_disable_aspm(adapter->pdev, PCIE_LINK_STATE_L0S); -  		if (pdev->device == E1000_DEV_ID_82573L) {  			adapter->flags |= FLAG_HAS_JUMBO_FRAMES;  			adapter->max_hw_frame_size = DEFAULT_JUMBO; @@ -594,7 +593,7 @@ static s32 e1000_get_hw_semaphore_82573(struct e1000_hw *hw)  		extcnf_ctrl |= E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP; -		msleep(2); +		usleep_range(2000, 4000);  		i++;  	} while (i < MDIO_OWNERSHIP_TIMEOUT); @@ -816,7 +815,7 @@ static s32 e1000_update_nvm_checksum_82571(struct e1000_hw *hw)  	/* Check for pending operations. */  	for (i = 0; i < E1000_FLASH_UPDATES; i++) { -		msleep(1); +		usleep_range(1000, 2000);  		if ((er32(EECD) & E1000_EECD_FLUPD) == 0)  			break;  	} @@ -840,7 +839,7 @@ static s32 e1000_update_nvm_checksum_82571(struct e1000_hw *hw)  	ew32(EECD, eecd);  	for (i = 0; i < E1000_FLASH_UPDATES; i++) { -		msleep(1); +		usleep_range(1000, 2000);  		if ((er32(EECD) & E1000_EECD_FLUPD) == 0)  			break;  	} @@ -930,7 +929,7 @@ static s32 e1000_get_cfg_done_82571(struct e1000_hw *hw)  		if (er32(EEMNGCTL) &  		    E1000_NVM_CFG_DONE_PORT_0)  			break; -		msleep(1); +		usleep_range(1000, 2000);  		timeout--;  	}  	if (!timeout) { @@ -1037,7 +1036,7 @@ static s32 e1000_reset_hw_82571(struct e1000_hw *hw)  	ew32(TCTL, E1000_TCTL_PSP);  	e1e_flush(); -	msleep(10); +	usleep_range(10000, 20000);  	/*  	 * Must acquire the MDIO ownership before MAC reset. @@ -2066,7 +2065,8 @@ struct e1000_info e1000_82573_info = {  				  | FLAG_HAS_SMART_POWER_DOWN  				  | FLAG_HAS_AMT  				  | FLAG_HAS_SWSM_ON_LOAD, -	.flags2			= FLAG2_DISABLE_ASPM_L1, +	.flags2			= FLAG2_DISABLE_ASPM_L1 +				  | FLAG2_DISABLE_ASPM_L0S,  	.pba			= 20,  	.max_hw_frame_size	= ETH_FRAME_LEN + ETH_FCS_LEN,  	.get_variants		= e1000_get_variants_82571, @@ -2086,7 +2086,8 @@ struct e1000_info e1000_82574_info = {  				  | FLAG_HAS_SMART_POWER_DOWN  				  | FLAG_HAS_AMT  				  | FLAG_HAS_CTRLEXT_ON_LOAD, -	.flags2			  = FLAG2_CHECK_PHY_HANG, +	.flags2			  = FLAG2_CHECK_PHY_HANG +				  | FLAG2_DISABLE_ASPM_L0S,  	.pba			= 32,  	.max_hw_frame_size	= DEFAULT_JUMBO,  	.get_variants		= e1000_get_variants_82571, @@ -2104,6 +2105,7 @@ struct e1000_info e1000_82583_info = {  				  | FLAG_HAS_SMART_POWER_DOWN  				  | FLAG_HAS_AMT  				  | FLAG_HAS_CTRLEXT_ON_LOAD, +	.flags2			= FLAG2_DISABLE_ASPM_L0S,  	.pba			= 32,  	.max_hw_frame_size	= ETH_FRAME_LEN + ETH_FCS_LEN,  	.get_variants		= e1000_get_variants_82571,  |