public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: "Kok, Auke" <auke-jan.h.kok@intel.com>
To: Andy Gospodarek <andy@greyhouse.net>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH] e1000: repost work around 82571 completion timout on pseries HW
Date: Tue, 24 Jul 2007 08:31:08 -0700	[thread overview]
Message-ID: <46A61B3C.5070808@intel.com> (raw)
In-Reply-To: <20070724151912.GA2293@gospo.rdu.redhat.com>

Andy Gospodarek wrote:
> There seems to have been some discussion about a patch like this in the
> past but I still haven't noticed any platforms fixes or noticed that
> this got included, so I'd like to propose this modified version.
> 
> Thoughts?

I've written a completely new version for IBM based on the response that 
implements this as a pci quirk (to tag the chipset, not the device).

However IBM has spotted an issue due to firmware hiding the id for linux of the 
bridge involved (on pseries), and they're working on an alternative to fix that.

So, the patch will look different, and I'll post it as soon as we have a version 
for both pseries and xseries that works.

Auke


> 
> Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
> ---
> 
>  e1000_hw.c |    7 +++++++
>  e1000_hw.h |    1 +
>  2 files changed, 8 insertions(+)
> 
> diff --git a/drivers/net/e1000/e1000_hw.c b/drivers/net/e1000/e1000_hw.c
> index 9be4469..7c75b8b 100644
> --- a/drivers/net/e1000/e1000_hw.c
> +++ b/drivers/net/e1000/e1000_hw.c
> @@ -1030,6 +1030,13 @@ e1000_init_hw(struct e1000_hw *hw)
>          break;
>      }
>  
> +#if defined(CONFIG_PPC_PSERIES)
> +    if (hw->mac_type == e1000_82571) {
> +        uint32_t gcr = E1000_READ_REG(hw, GCR);
> +        gcr |= E1000_GCR_DISABLE_TIMEOUT_MECHANISM;
> +        E1000_WRITE_REG(hw, GCR, gcr);
> +    }
> +#endif 
>  
>      if (hw->mac_type == e1000_82573) {
>          uint32_t gcr = E1000_READ_REG(hw, GCR);
> diff --git a/drivers/net/e1000/e1000_hw.h b/drivers/net/e1000/e1000_hw.h
> index bd000b8..71f4e2d 100644
> --- a/drivers/net/e1000/e1000_hw.h
> +++ b/drivers/net/e1000/e1000_hw.h
> @@ -2211,6 +2211,7 @@ struct e1000_host_command_info {
>  #define PCI_EX_82566_SNOOP_ALL PCI_EX_NO_SNOOP_ALL
>  
>  #define E1000_GCR_L1_ACT_WITHOUT_L0S_RX 0x08000000
> +#define E1000_GCR_DISABLE_TIMEOUT_MECHANISM 0x80000000
>  /* Function Active and Power State to MNG */
>  #define E1000_FACTPS_FUNC0_POWER_STATE_MASK         0x00000003
>  #define E1000_FACTPS_LAN0_VALID                     0x00000004

  reply	other threads:[~2007-07-24 15:31 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-24 15:19 [PATCH] e1000: repost work around 82571 completion timout on pseries HW Andy Gospodarek
2007-07-24 15:31 ` Kok, Auke [this message]
2007-07-24 16:29   ` Andy Gospodarek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46A61B3C.5070808@intel.com \
    --to=auke-jan.h.kok@intel.com \
    --cc=andy@greyhouse.net \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox