All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Sims <rob@robsims.com>
To: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: netdev@vger.kernel.org
Subject: Re: [RFT] sky2 auto negotiation PHY errata
Date: Tue, 20 Feb 2007 11:42:13 -0700	[thread overview]
Message-ID: <20070220184212.GC30164@robsims.com> (raw)
In-Reply-To: <20070202112846.31acaa03@freekitty>

[-- Attachment #1: Type: text/plain, Size: 2228 bytes --]

On Fri, Feb 02, 2007 at 11:28:46AM -0800, Stephen Hemminger wrote:
> This patch does the Marvell errata before auto negotiation
> (from drivers/phy/marvell.c).  The Yukon II chips have an internal
> version of the same PHY, so perhaps this errata is necessary for them
> as well.
> 
> For test only, but it may fix some of the hangs. It seems to fix
> the PHY lockups I saw yesterday on Mac Mini.
> 
> ---
>  drivers/net/sky2.c |    8 ++++++++
>  1 files changed, 8 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
> index 822dd0b..4f04ffa 100644
> --- a/drivers/net/sky2.c
> +++ b/drivers/net/sky2.c
> @@ -387,6 +387,14 @@ static void sky2_phy_init(struct sky2_hw
>  
>  	if (sky2->autoneg == AUTONEG_ENABLE) {
>  		if (sky2_is_copper(hw)) {
> +			/* Errata setup */
> +			gm_phy_write(hw, port, PHY_MARV_PAGE_ADDR, 0x1f);
> +			gm_phy_write(hw, port, PHY_MARV_PAGE_DATA, 0x200c);
> +			gm_phy_write(hw, port, PHY_MARV_PAGE_ADDR, 5);
> +			gm_phy_write(hw, port, PHY_MARV_PAGE_DATA, 0);
> +			gm_phy_write(hw, port, PHY_MARV_PAGE_DATA, 0x100);
> +
> +
>  			if (sky2->advertising & ADVERTISED_1000baseT_Full)
>  				ct1000 |= PHY_M_1000C_AFD;
>  			if (sky2->advertising & ADVERTISED_1000baseT_Half)

With this and the
-       sky2->flow_mode = FC_BOTH;
+       sky2->flow_mode = FC_NONE;
patch applied to the vanilla 2.6.20 kernel, behavior changed from whole
system locks up about once per 4 days to module locks up once per 4 days.
Neither case has any log messages.  Current behavior is "fixed" by a
rmmod/modprobe sequence.  Old behavior requires a hard reset.

Never had an issue with the vendor sk98lin driver.
lspci:
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller (rev 15)
03:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller (rev 15)

Only 1 controller is in use, and is connected to a Gb switch, though I
also saw issues earlier when hooked to a 100Mb switch.  Motherboard is
an ASUS P5AD2-E-Premium.  I have not tried any of the kernel/module
command line parameters suggested in various sky2 threads.

Just FYI.
-- 
Rob

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2007-02-20 19:02 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-02 19:28 [RFT] sky2 auto negotiation PHY errata Stephen Hemminger
2007-02-20 18:42 ` Rob Sims [this message]
2007-02-20 19:00   ` Stephen Hemminger
2007-03-05 14:23     ` Rob Sims

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=20070220184212.GC30164@robsims.com \
    --to=rob@robsims.com \
    --cc=netdev@vger.kernel.org \
    --cc=shemminger@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.