All of lore.kernel.org
 help / color / mirror / Atom feed
From: Riku Voipio <riku.voipio@iki.fi>
To: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Cc: "Stam, Michel [FINT]" <M.Stam@fugro.nl>,
	freddy@asix.com.tw, davem@davemloft.net,
	linux-usb@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org
Subject: Re: "asix: Don't reset PHY on if_up for ASIX 88772" breaks net on arndale platform
Date: Thu, 6 Nov 2014 11:06:51 +0200	[thread overview]
Message-ID: <20141106090651.GA19109@afflict.kos.to> (raw)
In-Reply-To: <20141105150258.GR23178@opensource.wolfsonmicro.com>

On Wed, Nov 05, 2014 at 03:02:58PM +0000, Charles Keepax wrote:
> On Wed, Nov 05, 2014 at 01:04:37PM +0100, Stam, Michel [FINT] wrote:
> > Hello Charles,
> > 
> > After looking around I found the reset value for the 8772 chip, which
> > seems to be 0x1E1 (ANAR register).
> > 
> > This equates to (according to include/uapi/linux/mii.h)
> > ADVERTISE_ALL | ADVERTISE_CSMA.
> > 
> > The register only seems to become 0 if the software reset fails.
 
> Odd it definitely reads back as zero on Arndale. I am guessing
> that the root of the problem here is that for some reason Arndale
> POR of the ethernet is pants and it needs a full software reset
> before it will work and the patch removes the full reset
> callback.

The asix on arndale comes semi-configured from u-boot, which I guess is
not the state kernel expects it to come in. At least in my case where
I use tftp from u-boot to load my kernel.

So probably the full reset is needed here to make the asix chip come
to a truly pristine state.

The commit that Michel partially reverted (by returning to use
ax88772_link_reset instead of ax88772_reset), indicates that a strong reset
is needed for suspend/resume as well:

commit 4ad1438f025ed8d1e4e95a796ca7f0ad5a22c378
Author: Grant Grundler <grundler@chromium.org>
Date:   Tue Oct 4 09:55:16 2011 +0000

    NET: fix phy init for AX88772 USB ethernet
        
    Fix phy initialization for AX88772 (USB 2.0 100BT). Failure
    was occasionally DHCP wouldn't work after reboot or
    suspend/resume cycle.
 
> > Unfortunately, this is exactly what I get when the patch is applied;
> > asix 1-2:1.0 eth1: Failed to send software reset: ffffffb5
> > asix 1-2:1.0 eth1: link reset failed (-75) usbnet usb-0000:00:1d.0-2, 
> > ASIX AX88772 USB 2.0 Ethernet
> > asix 1-2:1.0 eth1: Failed to send software reset: ffffffb5
> > asix 1-2:1.0 eth1: link reset failed (-75) usbnet usb-0000:00:1d.0-2, 
> > ASIX AX88772 USB 2.0 Ethernet
> 
> Ok so I am guessing you have a value in the register which is
> neither the reset value or 0 and this causing problems later in
> the reset/on the next reset. I do find the naming confusing in
> the error message there as it says link reset failed but the
> link_reset callback can't fail in the driver and I modified the
> reset callback. But I guess that is just oddities of the network
> stack I am not familiar with.
> 
> The other thing that feels odd is (and again apologies as I know
> next to nothing about the networking stack) how come it is
> unexpected that the reset callback destroys the state of the
> device. Naively I would have expected that a reset callback would
> reset the device back to its default state. Here we seem to be
> trying to avoid that happening.

Indeed, it would seems some tracing would be neede to figure out in
which order the .reset and .link_reset callbacks are being called.

  parent reply	other threads:[~2014-11-06  9:06 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-04  7:22 "asix: Don't reset PHY on if_up for ASIX 88772" breaks net on arndale platform Riku Voipio
2014-11-04  8:19 ` Stam, Michel [FINT]
2014-11-04  8:19   ` Stam, Michel [FINT]
2014-11-04  9:43   ` Riku Voipio
2014-11-04 10:23     ` Stam, Michel [FINT]
2014-11-04 10:23       ` Stam, Michel [FINT]
2014-11-04 20:09       ` Charles Keepax
2014-11-05 12:04         ` "asix: Don't reset PHY on if_up for ASIX 88772" breaks net onarndale platform Stam, Michel [FINT]
2014-11-05 12:04           ` Stam, Michel [FINT]
2014-11-05 12:39           ` Riku Voipio
2014-11-05 16:21             ` Stam, Michel [FINT]
2014-11-05 16:21               ` Stam, Michel [FINT]
2014-11-05 15:02           ` Charles Keepax
2014-11-05 16:17             ` "asix: Don't reset PHY on if_up for ASIX 88772" breaks netonarndale platform Stam, Michel [FINT]
2014-11-05 16:17               ` Stam, Michel [FINT]
2014-11-06  9:06             ` Riku Voipio [this message]
2014-11-06 10:01               ` "asix: Don't reset PHY on if_up for ASIX 88772" breaks net on arndale platform Charles Keepax
2014-11-06 12:04                 ` Riku Voipio
2014-11-06 12:39                   ` Stam, Michel [FINT]
2014-11-06 12:39                     ` Stam, Michel [FINT]
2014-11-06 12:46                     ` Charles Keepax
2014-11-06 14:01                       ` "asix: Don't reset PHY on if_up for ASIX 88772" breaks net onarndale platform Stam, Michel [FINT]
2014-11-06 14:01                         ` Stam, Michel [FINT]
2014-11-06 14:09                         ` Charles Keepax
     [not found]                           ` <20141106140940.GW23178-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2014-11-07  8:44                             ` Riku Voipio
2014-11-07  8:44                               ` Riku Voipio
2014-11-12  0:23         ` "asix: Don't reset PHY on if_up for ASIX 88772" breaks net on arndale platform Ben Hutchings
2014-11-12  9:49           ` Stam, Michel [FINT]
2014-11-12  9:49             ` Stam, Michel [FINT]
2014-11-12  9:49             ` Stam, Michel [FINT]
2014-11-12 17:43             ` David Miller

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=20141106090651.GA19109@afflict.kos.to \
    --to=riku.voipio@iki.fi \
    --cc=M.Stam@fugro.nl \
    --cc=ckeepax@opensource.wolfsonmicro.com \
    --cc=davem@davemloft.net \
    --cc=freddy@asix.com.tw \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --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 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.