public inbox for netdev@vger.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$(echo .)com \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=shemminger@linux-foundation$(echo .)org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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