* [PATCH] e1000: Work around 82571 completion timout on Pseries HW
@ 2007-05-16 8:53 Auke Kok
2007-05-16 16:00 ` Jeff Garzik
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: Auke Kok @ 2007-05-16 8:53 UTC (permalink / raw)
To: jeff; +Cc: wenxiong, e1000-devel, netdev, auke-jan.h.kok
Our 82571 (first PCI-E hardware) causes P-Series hardware to throw
issues. Disabling PCI-E completion timeouts in our NIC resolves
the issue.
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Cc: Wen Xiong <wenxiong@us.ibm.com>
---
drivers/net/e1000/e1000_main.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 49be393..830d851 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -819,6 +819,16 @@ e1000_reset(struct e1000_adapter *adapter)
E1000_WRITE_REG(&adapter->hw, CTRL, ctrl);
}
+#if defined(CONFIG_PPC64) || defined(CONFIG_PPC)
+#define E1000_GCR_DISABLE_TIMEOUT_MECHANISM 0x80000000
+ if (adapter->hw.mac.type == e1000_82571) {
+ /* work around pSeries hardware by disabling timeouts */
+ u32 gcr = E1000_READ_REG(&adapter->hw, E1000_GCR);
+ gcr |= E1000_GCR_DISABLE_TIMEOUT_MECHANISM;
+ E1000_WRITE_REG(&adapter->hw, E1000_GCR, gcr);
+ }
+#endif
+
/* Enable h/w to recognize an 802.1Q VLAN Ethernet packet */
E1000_WRITE_REG(&adapter->hw, VET, ETHERNET_IEEE_VLAN_TYPE);
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
2007-05-16 8:53 [PATCH] e1000: Work around 82571 completion timout on Pseries HW Auke Kok
@ 2007-05-16 16:00 ` Jeff Garzik
2007-05-16 22:11 ` Wen Xiong
2007-05-17 0:43 ` Kumar Gala
2007-05-18 0:47 ` Jeff Garzik
2 siblings, 1 reply; 13+ messages in thread
From: Jeff Garzik @ 2007-05-16 16:00 UTC (permalink / raw)
To: Auke Kok; +Cc: wenxiong, e1000-devel, netdev, Benjamin Herrenschmidt
Auke Kok wrote:
> Our 82571 (first PCI-E hardware) causes P-Series hardware to throw
> issues. Disabling PCI-E completion timeouts in our NIC resolves
> the issue.
>
> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
> Cc: Wen Xiong <wenxiong@us.ibm.com>
> ---
>
> drivers/net/e1000/e1000_main.c | 10 ++++++++++
> 1 files changed, 10 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
> index 49be393..830d851 100644
> --- a/drivers/net/e1000/e1000_main.c
> +++ b/drivers/net/e1000/e1000_main.c
> @@ -819,6 +819,16 @@ e1000_reset(struct e1000_adapter *adapter)
> E1000_WRITE_REG(&adapter->hw, CTRL, ctrl);
> }
>
> +#if defined(CONFIG_PPC64) || defined(CONFIG_PPC)
> +#define E1000_GCR_DISABLE_TIMEOUT_MECHANISM 0x80000000
> + if (adapter->hw.mac.type == e1000_82571) {
> + /* work around pSeries hardware by disabling timeouts */
> + u32 gcr = E1000_READ_REG(&adapter->hw, E1000_GCR);
> + gcr |= E1000_GCR_DISABLE_TIMEOUT_MECHANISM;
> + E1000_WRITE_REG(&adapter->hw, E1000_GCR, gcr);
Why is this needed?
Is pSeries PCI-E implementation problematic? Or is this a e1000 PCI-E
hardware bug? If the former, I wonder if this is the best way to work
around the issue, especially since it might crop up in other PCI-E
boards besides e1000. If the latter, it seems like we should disable
the feature on all platforms.
Jeff
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
2007-05-16 16:00 ` Jeff Garzik
@ 2007-05-16 22:11 ` Wen Xiong
2007-05-16 22:31 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 13+ messages in thread
From: Wen Xiong @ 2007-05-16 22:11 UTC (permalink / raw)
To: Jeff Garzik; +Cc: e1000-devel, Benjamin Herrenschmidt, Auke Kok, netdev
[-- Attachment #1.1: Type: text/plain, Size: 2452 bytes --]
Hi Jeff,
little history, on PCI-X adapters we did not time dma reads being
returned to the adapter. On PCIe unfortunately the spec says that adapters
need to time the dma reads the spec is not specific on the range but the
timers can range from worst case 50 usecs to 10 ms with some adapters
supporting upto 50ms. The PCIe spec has approved an ECR to the PCIe 1.0a
spec that will support the ability to disable the timer. To work aroung
the adapter doesn't support ECR. We need the driver to disable the timer.
Thanks,
wendy
Jeff Garzik <jeff@garzik.org>
05/16/2007 11:00 AM
To
Auke Kok <auke-jan.h.kok@intel.com>
cc
Wen Xiong/Austin/IBM@IBMUS, e1000-devel@lists.sourceforge.net,
netdev@vger.kernel.org, Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject
Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
Auke Kok wrote:
> Our 82571 (first PCI-E hardware) causes P-Series hardware to throw
> issues. Disabling PCI-E completion timeouts in our NIC resolves
> the issue.
>
> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
> Cc: Wen Xiong <wenxiong@us.ibm.com>
> ---
>
> drivers/net/e1000/e1000_main.c | 10 ++++++++++
> 1 files changed, 10 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/e1000/e1000_main.c
b/drivers/net/e1000/e1000_main.c
> index 49be393..830d851 100644
> --- a/drivers/net/e1000/e1000_main.c
> +++ b/drivers/net/e1000/e1000_main.c
> @@ -819,6 +819,16 @@ e1000_reset(struct e1000_adapter *adapter)
> E1000_WRITE_REG(&adapter->hw, CTRL,
ctrl);
> }
>
> +#if defined(CONFIG_PPC64) || defined(CONFIG_PPC)
> +#define E1000_GCR_DISABLE_TIMEOUT_MECHANISM 0x80000000
> + if (adapter->hw.mac.type == e1000_82571) {
> + /* work around pSeries hardware by
disabling timeouts */
> + u32 gcr = E1000_READ_REG(&adapter->hw,
E1000_GCR);
> + gcr |=
E1000_GCR_DISABLE_TIMEOUT_MECHANISM;
> + E1000_WRITE_REG(&adapter->hw, E1000_GCR,
gcr);
Why is this needed?
Is pSeries PCI-E implementation problematic? Or is this a e1000 PCI-E
hardware bug? If the former, I wonder if this is the best way to work
around the issue, especially since it might crop up in other PCI-E
boards besides e1000. If the latter, it seems like we should disable
the feature on all platforms.
Jeff
[-- Attachment #2: Type: text/plain, Size: 286 bytes --]
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
[-- Attachment #3: Type: text/plain, Size: 164 bytes --]
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
2007-05-16 22:11 ` Wen Xiong
@ 2007-05-16 22:31 ` Benjamin Herrenschmidt
0 siblings, 0 replies; 13+ messages in thread
From: Benjamin Herrenschmidt @ 2007-05-16 22:31 UTC (permalink / raw)
To: Wen Xiong; +Cc: e1000-devel, netdev, Auke Kok, Jeff Garzik
On Wed, 2007-05-16 at 17:11 -0500, Wen Xiong wrote:
> little history, on PCI-X adapters we did not time dma reads being
> returned to the adapter. On PCIe unfortunately the spec says that
> adapters need to time the dma reads the spec is not specific on the
> range but the timers can range from worst case 50 usecs to 10 ms with
> some adapters supporting upto 50ms. The PCIe spec has approved an ECR
> to the PCIe 1.0a spec that will support the ability to disable the
> timer. To work aroung the adapter doesn't support ECR. We need the
> driver to disable the timer.
You do get more than 10ms delay for DMA replies on pSeries ? Ouch...
Ben.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
2007-05-16 8:53 [PATCH] e1000: Work around 82571 completion timout on Pseries HW Auke Kok
2007-05-16 16:00 ` Jeff Garzik
@ 2007-05-17 0:43 ` Kumar Gala
2007-05-17 9:01 ` Christoph Hellwig
2007-05-18 0:47 ` Jeff Garzik
2 siblings, 1 reply; 13+ messages in thread
From: Kumar Gala @ 2007-05-17 0:43 UTC (permalink / raw)
To: Auke Kok; +Cc: jeff, wenxiong, e1000-devel, netdev
On May 16, 2007, at 3:53 AM, Auke Kok wrote:
> Our 82571 (first PCI-E hardware) causes P-Series hardware to throw
> issues. Disabling PCI-E completion timeouts in our NIC resolves
> the issue.
>
> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
> Cc: Wen Xiong <wenxiong@us.ibm.com>
> ---
>
> drivers/net/e1000/e1000_main.c | 10 ++++++++++
> 1 files changed, 10 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/
> e1000_main.c
> index 49be393..830d851 100644
> --- a/drivers/net/e1000/e1000_main.c
> +++ b/drivers/net/e1000/e1000_main.c
> @@ -819,6 +819,16 @@ e1000_reset(struct e1000_adapter *adapter)
> E1000_WRITE_REG(&adapter->hw, CTRL, ctrl);
> }
>
> +#if defined(CONFIG_PPC64) || defined(CONFIG_PPC)
If this is really on need on pseries HW this should be #ifdef
CONFIG_PPC_PSERIES. No reason to force this on all PPC.
> +#define E1000_GCR_DISABLE_TIMEOUT_MECHANISM 0x80000000
> + if (adapter->hw.mac.type == e1000_82571) {
> + /* work around pSeries hardware by disabling timeouts */
> + u32 gcr = E1000_READ_REG(&adapter->hw, E1000_GCR);
> + gcr |= E1000_GCR_DISABLE_TIMEOUT_MECHANISM;
> + E1000_WRITE_REG(&adapter->hw, E1000_GCR, gcr);
> + }
> +#endif
> +
> /* Enable h/w to recognize an 802.1Q VLAN Ethernet packet */
> E1000_WRITE_REG(&adapter->hw, VET, ETHERNET_IEEE_VLAN_TYPE);
>
> -
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
2007-05-17 0:43 ` Kumar Gala
@ 2007-05-17 9:01 ` Christoph Hellwig
2007-05-17 13:10 ` Kumar Gala
2007-05-17 14:58 ` Wen Xiong
0 siblings, 2 replies; 13+ messages in thread
From: Christoph Hellwig @ 2007-05-17 9:01 UTC (permalink / raw)
To: Kumar Gala; +Cc: e1000-devel, netdev, Auke Kok, jeff, wenxiong
On Wed, May 16, 2007 at 07:43:27PM -0500, Kumar Gala wrote:
> >index 49be393..830d851 100644
> >--- a/drivers/net/e1000/e1000_main.c
> >+++ b/drivers/net/e1000/e1000_main.c
> >@@ -819,6 +819,16 @@ e1000_reset(struct e1000_adapter *adapter)
> > E1000_WRITE_REG(&adapter->hw, CTRL, ctrl);
> > }
> >
> >+#if defined(CONFIG_PPC64) || defined(CONFIG_PPC)
>
> If this is really on need on pseries HW this should be #ifdef
> CONFIG_PPC_PSERIES. No reason to force this on all PPC.
No, it shouldn't. powerpc kernels are multi-platform.
It really shouldn't be there at all because something in either the intel
or pseries hardware is totally buggy and we should disable features in
the buggy one completely.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
2007-05-17 9:01 ` Christoph Hellwig
@ 2007-05-17 13:10 ` Kumar Gala
2007-05-17 14:58 ` Wen Xiong
1 sibling, 0 replies; 13+ messages in thread
From: Kumar Gala @ 2007-05-17 13:10 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Auke Kok, jeff, wenxiong, e1000-devel, netdev
On May 17, 2007, at 4:01 AM, Christoph Hellwig wrote:
> On Wed, May 16, 2007 at 07:43:27PM -0500, Kumar Gala wrote:
>>> index 49be393..830d851 100644
>>> --- a/drivers/net/e1000/e1000_main.c
>>> +++ b/drivers/net/e1000/e1000_main.c
>>> @@ -819,6 +819,16 @@ e1000_reset(struct e1000_adapter *adapter)
>>> E1000_WRITE_REG(&adapter->hw, CTRL, ctrl);
>>> }
>>>
>>> +#if defined(CONFIG_PPC64) || defined(CONFIG_PPC)
>>
>> If this is really on need on pseries HW this should be #ifdef
>> CONFIG_PPC_PSERIES. No reason to force this on all PPC.
>
> No, it shouldn't. powerpc kernels are multi-platform.
Right, but if you build a multi-platform kernel with pseries support
you'll get CONFIG_PPC_PSERIES set.
> It really shouldn't be there at all because something in either the
> intel
> or pseries hardware is totally buggy and we should disable features in
> the buggy one completely.
Agreed.
- k
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
2007-05-17 9:01 ` Christoph Hellwig
2007-05-17 13:10 ` Kumar Gala
@ 2007-05-17 14:58 ` Wen Xiong
2007-05-17 21:04 ` Jeff Garzik
2007-06-23 8:20 ` Christoph Hellwig
1 sibling, 2 replies; 13+ messages in thread
From: Wen Xiong @ 2007-05-17 14:58 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: wendyx, Auke Kok, jeff, e1000-devel, netdev, Kumar Gala
[-- Attachment #1.1: Type: text/plain, Size: 1543 bytes --]
>>It really shouldn't be there at all because something in either the
intel
>>or pseries hardware is totally buggy and we should disable features in
>>the buggy one completely.
Hi,
Here there are not hardware issue on both Intel or PPC. The patch is to
work around a loop hold on early version of PCI SGI spec.
The later PCI Sgi have spec have corrected it. We can just implement it
for PPC only. Other vendor may have the same issue.
Thanks,
wendy
Christoph Hellwig <hch@infradead.org>
05/17/2007 04:01 AM
To
Kumar Gala <galak@kernel.crashing.org>
cc
Auke Kok <auke-jan.h.kok@intel.com>, jeff@garzik.org, Wen
Xiong/Austin/IBM@IBMUS, e1000-devel@lists.sourceforge.net,
netdev@vger.kernel.org
Subject
Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
On Wed, May 16, 2007 at 07:43:27PM -0500, Kumar Gala wrote:
> >index 49be393..830d851 100644
> >--- a/drivers/net/e1000/e1000_main.c
> >+++ b/drivers/net/e1000/e1000_main.c
> >@@ -819,6 +819,16 @@ e1000_reset(struct e1000_adapter *adapter)
> > E1000_WRITE_REG(&adapter->hw, CTRL,
ctrl);
> > }
> >
> >+#if defined(CONFIG_PPC64) || defined(CONFIG_PPC)
>
> If this is really on need on pseries HW this should be #ifdef
> CONFIG_PPC_PSERIES. No reason to force this on all PPC.
No, it shouldn't. powerpc kernels are multi-platform.
It really shouldn't be there at all because something in either the intel
or pseries hardware is totally buggy and we should disable features in
the buggy one completely.
[-- Attachment #2: Type: text/plain, Size: 286 bytes --]
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
[-- Attachment #3: Type: text/plain, Size: 164 bytes --]
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
2007-05-17 14:58 ` Wen Xiong
@ 2007-05-17 21:04 ` Jeff Garzik
2007-05-17 21:44 ` wendy xiong
2007-06-23 8:20 ` Christoph Hellwig
1 sibling, 1 reply; 13+ messages in thread
From: Jeff Garzik @ 2007-05-17 21:04 UTC (permalink / raw)
To: Wen Xiong
Cc: Christoph Hellwig, Auke Kok, e1000-devel, Kumar Gala, netdev,
wendyx
Wen Xiong wrote:
> Here there are not hardware issue on both Intel or PPC. The patch is to
> work around a loop hold on early version of PCI SGI spec.
> The later PCI Sgi have spec have corrected it. We can just implement it
> for PPC only. Other vendor may have the same issue.
If it is not a PPC-specific issue, then we should not limit it to PPC.
Jeff
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
2007-05-17 21:04 ` Jeff Garzik
@ 2007-05-17 21:44 ` wendy xiong
0 siblings, 0 replies; 13+ messages in thread
From: wendy xiong @ 2007-05-17 21:44 UTC (permalink / raw)
To: Jeff Garzik
Cc: Wen Xiong, Christoph Hellwig, Auke Kok, e1000-devel, Kumar Gala,
netdev, wendyx
On Thu, 2007-05-17 at 17:04 -0400, Jeff Garzik wrote:
> Wen Xiong wrote:
> > Here there are not hardware issue on both Intel or PPC. The patch is to
> > work around a loop hold on early version of PCI SGI spec.
> > The later PCI Sgi have spec have corrected it. We can just implement it
> > for PPC only. Other vendor may have the same issue.
>
>
> If it is not a PPC-specific issue, then we should not limit it to PPC.
>
> Jeff
>
>
Hi Jeff,
We have tested the patch on PowerPC CEC and IO drawers. We really want
to fix this for PPC. If you can accept for vendors, we are ok.
Thanks for your help!
wendy
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
2007-05-17 14:58 ` Wen Xiong
2007-05-17 21:04 ` Jeff Garzik
@ 2007-06-23 8:20 ` Christoph Hellwig
2007-06-23 17:05 ` Kok, Auke
1 sibling, 1 reply; 13+ messages in thread
From: Christoph Hellwig @ 2007-06-23 8:20 UTC (permalink / raw)
To: Wen Xiong
Cc: wendyx, Auke Kok, jeff, e1000-devel, netdev, Kumar Gala,
Christoph Hellwig
On Thu, May 17, 2007 at 09:58:03AM -0500, Wen Xiong wrote:
> >>It really shouldn't be there at all because something in either the
> intel
> >>or pseries hardware is totally buggy and we should disable features in
> >>the buggy one completely.
>
> Hi,
>
> Here there are not hardware issue on both Intel or PPC. The patch is to
> work around a loop hold on early version of PCI SGI spec.
> The later PCI Sgi have spec have corrected it. We can just implement it
> for PPC only. Other vendor may have the same issue.
In this case we should add a blacklist for implementations of the old
spec. There should be a way to find specific bridges in the OF firmware
tree on powerpc and similar things on other platforms aswell.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
2007-06-23 8:20 ` Christoph Hellwig
@ 2007-06-23 17:05 ` Kok, Auke
0 siblings, 0 replies; 13+ messages in thread
From: Kok, Auke @ 2007-06-23 17:05 UTC (permalink / raw)
To: Christoph Hellwig
Cc: wendyx, Auke Kok, jeff, e1000-devel, netdev, Kumar Gala,
Wen Xiong
Christoph Hellwig wrote:
> On Thu, May 17, 2007 at 09:58:03AM -0500, Wen Xiong wrote:
>>>> It really shouldn't be there at all because something in either the
>> intel
>>>> or pseries hardware is totally buggy and we should disable features in
>>>> the buggy one completely.
>> Hi,
>>
>> Here there are not hardware issue on both Intel or PPC. The patch is to
>> work around a loop hold on early version of PCI SGI spec.
>> The later PCI Sgi have spec have corrected it. We can just implement it
>> for PPC only. Other vendor may have the same issue.
>
> In this case we should add a blacklist for implementations of the old
> spec. There should be a way to find specific bridges in the OF firmware
> tree on powerpc and similar things on other platforms aswell.
Yes, this is almost what we did.
IBM is currently testing my patches that implement a generic pci quirk that will
be enabled for only selected root complex ID's that require the (1.0a spec)
device to disable the completion timeouts.
They are currently validating this test on the affected hardware. I expect to
get the results within a week and then I will post the patch.
Since this is one of the few holes in between the two specs (where manual
intervention is needed) I think that a single quirk is a fairly sane approach.
Cheers,
Auke
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] e1000: Work around 82571 completion timout on Pseries HW
2007-05-16 8:53 [PATCH] e1000: Work around 82571 completion timout on Pseries HW Auke Kok
2007-05-16 16:00 ` Jeff Garzik
2007-05-17 0:43 ` Kumar Gala
@ 2007-05-18 0:47 ` Jeff Garzik
2 siblings, 0 replies; 13+ messages in thread
From: Jeff Garzik @ 2007-05-18 0:47 UTC (permalink / raw)
To: Auke Kok; +Cc: wenxiong, e1000-devel, netdev
Auke Kok wrote:
> Our 82571 (first PCI-E hardware) causes P-Series hardware to throw
> issues. Disabling PCI-E completion timeouts in our NIC resolves
> the issue.
>
> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
> Cc: Wen Xiong <wenxiong@us.ibm.com>
> ---
>
> drivers/net/e1000/e1000_main.c | 10 ++++++++++
> 1 files changed, 10 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
> index 49be393..830d851 100644
> --- a/drivers/net/e1000/e1000_main.c
> +++ b/drivers/net/e1000/e1000_main.c
> @@ -819,6 +819,16 @@ e1000_reset(struct e1000_adapter *adapter)
> E1000_WRITE_REG(&adapter->hw, CTRL, ctrl);
> }
>
> +#if defined(CONFIG_PPC64) || defined(CONFIG_PPC)
> +#define E1000_GCR_DISABLE_TIMEOUT_MECHANISM 0x80000000
> + if (adapter->hw.mac.type == e1000_82571) {
> + /* work around pSeries hardware by disabling timeouts */
> + u32 gcr = E1000_READ_REG(&adapter->hw, E1000_GCR);
> + gcr |= E1000_GCR_DISABLE_TIMEOUT_MECHANISM;
> + E1000_WRITE_REG(&adapter->hw, E1000_GCR, gcr);
> + }
> +#endif
not applied. based on the conversation, it sounds like this is not
specific to PPC
Jeff
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2007-06-23 17:05 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-16 8:53 [PATCH] e1000: Work around 82571 completion timout on Pseries HW Auke Kok
2007-05-16 16:00 ` Jeff Garzik
2007-05-16 22:11 ` Wen Xiong
2007-05-16 22:31 ` Benjamin Herrenschmidt
2007-05-17 0:43 ` Kumar Gala
2007-05-17 9:01 ` Christoph Hellwig
2007-05-17 13:10 ` Kumar Gala
2007-05-17 14:58 ` Wen Xiong
2007-05-17 21:04 ` Jeff Garzik
2007-05-17 21:44 ` wendy xiong
2007-06-23 8:20 ` Christoph Hellwig
2007-06-23 17:05 ` Kok, Auke
2007-05-18 0:47 ` Jeff Garzik
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).