linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: baruch@tkos.co.il (Baruch Siach)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] Fix for missed MII interrupts and MDIO timeouts when FEC is in STOP
Date: Fri, 22 Apr 2011 10:25:42 +0300	[thread overview]
Message-ID: <20110422072542.GB429@tarshish> (raw)
In-Reply-To: <BANLkTim9EGaxvYvgEVFAh+iZmu4nfboSdQ@mail.gmail.com>

Hi Metteo,

On Fri, Apr 22, 2011 at 08:36:17AM +0200, Matteo Fortini wrote:
> Ok I sent it to netdev, let's see if they accept it.

Keeping the linux-arm-kernel list Cc on the patch is a good idea.

> The interface is not working without it.
> I patched the opensource.freescale.com git tree, since it is the most
> common start for iMX.

The networking drivers maintainer (David Miller) can not possibly accept this 
patch because it does not apply to the current mainline kernel. For patches 
against the Freescale git tree you should contact Freescale.

Which i.MX variant is this?

I suggest you to try the latest mainline kernel, or the i.MX kernel 
development tree at http://git.pengutronix.de/?p=imx/linux-2.6.git;a=summary.

baruch

> On Thu, Apr 21, 2011 at 8:10 PM, Baruch Siach <baruch@tkos.co.il> wrote:
> > Hi Matteo,
> >
> > On Thu, Apr 21, 2011 at 04:03:49PM +0200, Matteo Fortini wrote:
> >> We are experiencing unrecoverable timeouts if we disconnect a cable from the
> >> FEC. This patch solves the issue by keeping the Ethernet enabled even in
> >> STOP. The RM doesn't state it, but i seems that if disabled, the Ethernet is
> >> not issuing interrupts to the core.
> >> (See
> >> http://forums.freescale.com/t5/i-MX-Microprocessors/iMX28-Network-MDIO-timeout-recovery-and-lost-IRQs/td-p/73309
> >> )
> >
> > Please send network driver patches to the network drivers mailing list at
> > netdev at vger.kernel.org.
> >
> > This patch does not apply to the current mainline kernel. Which kernel tree
> > are you using?
> >
> > baruch
> >
> >> ---
> >> ?drivers/net/fec.c | ? ?7 ++++++-
> >> ?1 files changed, 6 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/drivers/net/fec.c b/drivers/net/fec.c
> >> index d0e2e69..26ea72d 100644
> >> --- a/drivers/net/fec.c
> >> +++ b/drivers/net/fec.c
> >> @@ -121,8 +121,10 @@
> >> ?#if defined(CONFIG_FEC_1588) && defined(CONFIG_ARCH_MX28)
> >> ?#define FEC_DEFAULT_IMASK (FEC_ENET_TXF | FEC_ENET_RXF | FEC_ENET_MII | \
> >> ? ? ? ? ? ? ? ? FEC_ENET_TS_AVAIL | FEC_ENET_TS_TIMER)
> >> +#define FEC_STOP_IMASK (FEC_ENET_MII)
> >> ?#else
> >> ?#define FEC_DEFAULT_IMASK (FEC_ENET_TXF | FEC_ENET_RXF | FEC_ENET_MII)
> >> +#define FEC_STOP_IMASK (FEC_ENET_MII)
> >> ?#endif
> >>
> >> ?/* The FEC stores dest/src/type, data, and checksum for receive packets.
> >> @@ -1409,6 +1411,9 @@ fec_stop(struct net_device *dev)
> >> ? ? writel(1, fep->hwp + FEC_ECNTRL);
> >> ? ? udelay(10);
> >>
> >> + ? ?/* Reactivate the controller to get the IRQs */
> >> + ? ?writel(0x00000002, fep->hwp + FEC_ECNTRL);
> >> +
> >> ?#ifdef CONFIG_ARCH_MXS
> >> ? ? /* Check MII or RMII */
> >> ? ? if (fep->phy_interface == PHY_INTERFACE_MODE_RMII)
> >> @@ -1423,7 +1428,7 @@ fec_stop(struct net_device *dev)
> >> ? ? writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED);
> >> ? ? if (fep->ptimer_present)
> >> ? ? ? ? fec_ptp_stop(fep->ptp_priv);
> >> - ? ?writel(FEC_DEFAULT_IMASK, fep->hwp + FEC_IMASK);
> >> + ? ?writel(FEC_STOP_IMASK, fep->hwp + FEC_IMASK);
> >>
> >> ? ? netif_stop_queue(dev);
> >> ? ? fep->link = 0;

-- 
                                                     ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

      reply	other threads:[~2011-04-22  7:25 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-21 14:03 [PATCH] Fix for missed MII interrupts and MDIO timeouts when FEC is in STOP Matteo Fortini
2011-04-21 18:10 ` Baruch Siach
2011-04-22  6:36   ` Matteo Fortini
2011-04-22  7:25     ` Baruch Siach [this message]

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=20110422072542.GB429@tarshish \
    --to=baruch@tkos.co.il \
    --cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).