linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* e1000e: PHY cann't be initialized correctly on some I218 controllers
@ 2016-08-01 12:28 Denis Turischev
  2016-08-04 16:18 ` [Intel-wired-lan] " Raanan Avargil
  0 siblings, 1 reply; 6+ messages in thread
From: Denis Turischev @ 2016-08-01 12:28 UTC (permalink / raw)
  To: Jeff Kirsher; +Cc: intel-wired-lan, netdev, linux-kernel

There is an error "e1000e: probe of 0000:00:19.0 failed with error -3"
that can be observed after power-on on some I218 controllers.
Hardware reset and re-initialization fixes the issue.

Signed-off-by: Denis Turischev <denis.turischev@compulab.co.il>

diff -Nru linux-4.7.orig/drivers/net/ethernet/intel/e1000e/ich8lan.c linux-4.7/drivers/net/ethernet/intel/e1000e/ich8lan.c
--- linux-4.7.orig/drivers/net/ethernet/intel/e1000e/ich8lan.c	2016-07-24 22:23:50.000000000 +0300
+++ linux-4.7/drivers/net/ethernet/intel/e1000e/ich8lan.c	2016-08-01 13:59:08.046563095 +0300
@@ -155,6 +155,7 @@
 static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force);
 static s32 e1000_setup_copper_link_pch_lpt(struct e1000_hw *hw);
 static s32 e1000_oem_bits_config_ich8lan(struct e1000_hw *hw, bool d0_state);
+static s32 e1000_reset_hw_ich8lan(struct e1000_hw *hw);
 
 static inline u16 __er16flash(struct e1000_hw *hw, unsigned long reg)
 {
@@ -459,8 +460,12 @@
 	phy->id = e1000_phy_unknown;
 
 	ret_val = e1000_init_phy_workarounds_pchlan(hw);
-	if (ret_val)
-		return ret_val;
+	if (ret_val) {
+		e1000_reset_hw_ich8lan(hw);
+		ret_val = e1000_init_phy_workarounds_pchlan(hw);
+		if (ret_val)
+			return ret_val;
+	}
 
 	if (phy->id == e1000_phy_unknown)
 		switch (hw->mac.type) {

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Intel-wired-lan] e1000e: PHY cann't be initialized correctly on some I218 controllers
  2016-08-01 12:28 e1000e: PHY cann't be initialized correctly on some I218 controllers Denis Turischev
@ 2016-08-04 16:18 ` Raanan Avargil
  2016-08-07  8:56   ` Denis Turischev
  0 siblings, 1 reply; 6+ messages in thread
From: Raanan Avargil @ 2016-08-04 16:18 UTC (permalink / raw)
  To: Denis Turischev, intel-wired-lan, Jeff Kirsher
  Cc: netdev, intel-wired-lan, linux-kernel



On 8/1/2016 15:28, Denis Turischev wrote:
> There is an error "e1000e: probe of 0000:00:19.0 failed with error -3"
> that can be observed after power-on on some I218 controllers.
> Hardware reset and re-initialization fixes the issue.
>
> Signed-off-by: Denis Turischev <denis.turischev@compulab.co.il>
>
> diff -Nru linux-4.7.orig/drivers/net/ethernet/intel/e1000e/ich8lan.c linux-4.7/drivers/net/ethernet/intel/e1000e/ich8lan.c
> --- linux-4.7.orig/drivers/net/ethernet/intel/e1000e/ich8lan.c	2016-07-24 22:23:50.000000000 +0300
> +++ linux-4.7/drivers/net/ethernet/intel/e1000e/ich8lan.c	2016-08-01 13:59:08.046563095 +0300
> @@ -155,6 +155,7 @@
>   static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force);
>   static s32 e1000_setup_copper_link_pch_lpt(struct e1000_hw *hw);
>   static s32 e1000_oem_bits_config_ich8lan(struct e1000_hw *hw, bool d0_state);
> +static s32 e1000_reset_hw_ich8lan(struct e1000_hw *hw);
>   
>   static inline u16 __er16flash(struct e1000_hw *hw, unsigned long reg)
>   {
> @@ -459,8 +460,12 @@
>   	phy->id = e1000_phy_unknown;
>   
>   	ret_val = e1000_init_phy_workarounds_pchlan(hw);
> -	if (ret_val)
> -		return ret_val;
> +	if (ret_val) {
> +		e1000_reset_hw_ich8lan(hw);
> +		ret_val = e1000_init_phy_workarounds_pchlan(hw);
> +		if (ret_val)
> +			return ret_val;
> +	}
>   
>   	if (phy->id == e1000_phy_unknown)
>   		switch (hw->mac.type) {
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan@lists.osuosl.org
> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan
>

It is hard to determine what is exactly the problem here and what causes 
the -3 error, but this is not the place to perform hw reset and retry to 
init the phy.
---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Intel-wired-lan] e1000e: PHY cann't be initialized correctly on some I218 controllers
  2016-08-04 16:18 ` [Intel-wired-lan] " Raanan Avargil
@ 2016-08-07  8:56   ` Denis Turischev
  2016-08-09 15:10     ` Raanan Avargil
  0 siblings, 1 reply; 6+ messages in thread
From: Denis Turischev @ 2016-08-07  8:56 UTC (permalink / raw)
  To: Raanan Avargil, intel-wired-lan, Jeff Kirsher; +Cc: netdev, linux-kernel

Hi Raanan,

On 08/04/2016 07:18 PM, Raanan Avargil wrote:
> It is hard to determine what is exactly the problem here and what causes the -3 error, but this is not the place to perform hw reset and retry to init the phy.

I agree that may be this is not the correct place for hw reset, can you advice about another solution?

It works, not only for me, for example it helps here:
http://www.linux.org.ru/forum/linux-hardware/10268216

Another fact that Windows drivers work fine with the same hw.

Denis

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Intel-wired-lan] e1000e: PHY cann't be initialized correctly on some I218 controllers
  2016-08-07  8:56   ` Denis Turischev
@ 2016-08-09 15:10     ` Raanan Avargil
  2016-08-09 18:59       ` Brown, Aaron F
  0 siblings, 1 reply; 6+ messages in thread
From: Raanan Avargil @ 2016-08-09 15:10 UTC (permalink / raw)
  To: Denis Turischev, intel-wired-lan, Brown, Aaron F, Jeff Kirsher
  Cc: netdev, linux-kernel



On 8/7/2016 11:56, Denis Turischev wrote:
> Hi Raanan,
>
> On 08/04/2016 07:18 PM, Raanan Avargil wrote:
>> It is hard to determine what is exactly the problem here and what causes the -3 error, but this is not the place to perform hw reset and retry to init the phy.
> I agree that may be this is not the correct place for hw reset, can you advice about another solution?
>
> It works, not only for me, for example it helps here:
> http://www.linux.org.ru/forum/linux-hardware/10268216
>
> Another fact that Windows drivers work fine with the same hw.
>
> Denis
>

Hi Denis,

More suitable place to retry init the device would be in probe function.
However, we haven't seen initialization issues like this on i218.

Adding Aaron.

@Aaron - have you seen initialization errors on i218 devices?

Raanan
---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [Intel-wired-lan] e1000e: PHY cann't be initialized correctly on some I218 controllers
  2016-08-09 15:10     ` Raanan Avargil
@ 2016-08-09 18:59       ` Brown, Aaron F
  2016-08-10 15:00         ` Neftin, Sasha
  0 siblings, 1 reply; 6+ messages in thread
From: Brown, Aaron F @ 2016-08-09 18:59 UTC (permalink / raw)
  To: Avargil, Raanan, Denis Turischev, intel-wired-lan, Kirsher, Jeffrey T
  Cc: netdev, linux-kernel



> -----Original Message-----
> From: Avargil, Raanan
> Sent: Tuesday, August 9, 2016 8:11 AM
> To: Denis Turischev <denis.turischev@compulab.co.il>; intel-wired-
> lan@lists.osuosl.org; Brown, Aaron F <aaron.f.brown@intel.com>; Kirsher,
> Jeffrey T <jeffrey.t.kirsher@intel.com>
> Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: Re: [Intel-wired-lan] e1000e: PHY cann't be initialized correctly on
> some I218 controllers
> 
> 
> 
> On 8/7/2016 11:56, Denis Turischev wrote:
> > Hi Raanan,
> >
> > On 08/04/2016 07:18 PM, Raanan Avargil wrote:
> >> It is hard to determine what is exactly the problem here and what causes
> the -3 error, but this is not the place to perform hw reset and retry to init the
> phy.
> > I agree that may be this is not the correct place for hw reset, can you advice
> about another solution?
> >
> > It works, not only for me, for example it helps here:
> > http://www.linux.org.ru/forum/linux-hardware/10268216
> >
> > Another fact that Windows drivers work fine with the same hw.
> >
> > Denis
> >
> 
> Hi Denis,
> 
> More suitable place to retry init the device would be in probe function.
> However, we haven't seen initialization issues like this on i218.
> 
> Adding Aaron.
> 
> @Aaron - have you seen initialization errors on i218 devices?

I have not.  But I don't have many systems with i218 so all that means is my systems do not exhibit the problem.

> 
> Raanan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [Intel-wired-lan] e1000e: PHY cann't be initialized correctly on some I218 controllers
  2016-08-09 18:59       ` Brown, Aaron F
@ 2016-08-10 15:00         ` Neftin, Sasha
  0 siblings, 0 replies; 6+ messages in thread
From: Neftin, Sasha @ 2016-08-10 15:00 UTC (permalink / raw)
  To: Brown, Aaron F, Avargil, Raanan, Denis Turischev,
	intel-wired-lan, Kirsher, Jeffrey T
  Cc: netdev, linux-kernel

Hello Denis,
In case this reset help you fix initialization error of I218 you can use it locally on your system. How many system with I218 encountered with initialization error on your side?

Thanks,
Sasha
-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces@lists.osuosl.org] On Behalf Of Brown, Aaron F
Sent: Tuesday, August 09, 2016 9:59 PM
To: Avargil, Raanan <raanan.avargil@intel.com>; Denis Turischev <denis.turischev@compulab.co.il>; intel-wired-lan@lists.osuosl.org; Kirsher, Jeffrey T <jeffrey.t.kirsher@intel.com>
Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org
Subject: Re: [Intel-wired-lan] e1000e: PHY cann't be initialized correctly on some I218 controllers



> -----Original Message-----
> From: Avargil, Raanan
> Sent: Tuesday, August 9, 2016 8:11 AM
> To: Denis Turischev <denis.turischev@compulab.co.il>; intel-wired- 
> lan@lists.osuosl.org; Brown, Aaron F <aaron.f.brown@intel.com>; 
> Kirsher, Jeffrey T <jeffrey.t.kirsher@intel.com>
> Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: Re: [Intel-wired-lan] e1000e: PHY cann't be initialized 
> correctly on some I218 controllers
> 
> 
> 
> On 8/7/2016 11:56, Denis Turischev wrote:
> > Hi Raanan,
> >
> > On 08/04/2016 07:18 PM, Raanan Avargil wrote:
> >> It is hard to determine what is exactly the problem here and what 
> >> causes
> the -3 error, but this is not the place to perform hw reset and retry 
> to init the phy.
> > I agree that may be this is not the correct place for hw reset, can 
> > you advice
> about another solution?
> >
> > It works, not only for me, for example it helps here:
> > http://www.linux.org.ru/forum/linux-hardware/10268216
> >
> > Another fact that Windows drivers work fine with the same hw.
> >
> > Denis
> >
> 
> Hi Denis,
> 
> More suitable place to retry init the device would be in probe function.
> However, we haven't seen initialization issues like this on i218.
> 
> Adding Aaron.
> 
> @Aaron - have you seen initialization errors on i218 devices?

I have not.  But I don't have many systems with i218 so all that means is my systems do not exhibit the problem.

> 
> Raanan
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@lists.osuosl.org
http://lists.osuosl.org/mailman/listinfo/intel-wired-lan
---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-08-10 18:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-01 12:28 e1000e: PHY cann't be initialized correctly on some I218 controllers Denis Turischev
2016-08-04 16:18 ` [Intel-wired-lan] " Raanan Avargil
2016-08-07  8:56   ` Denis Turischev
2016-08-09 15:10     ` Raanan Avargil
2016-08-09 18:59       ` Brown, Aaron F
2016-08-10 15:00         ` Neftin, Sasha

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).