[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49B77CBF.6070005@embedded-sol.com>
Date: Wed, 11 Mar 2009 10:56:31 +0200
From: Felix Radensky <felix@...edded-sol.com>
To: Benjamin Herrenschmidt <benh@...nel.crashing.org>
CC: netdev <netdev@...r.kernel.org>,
linuxppc-dev list <linuxppc-dev@...abs.org>
Subject: Re: RX problem in ibm_newemac driver
Benjamin Herrenschmidt wrote:
> On Wed, 2009-03-11 at 01:39 +0200, Felix Radensky wrote:
>
>> Benjamin Herrenschmidt wrote:
>>
>>> On Wed, 2009-03-11 at 00:14 +0200, Felix Radensky wrote:
>>>
>>>
>>>> Yes, seems logical. U-boot has code to enable and disable loopback clock
>>>> for 440SPE, 440EPX,440GRX,405EX, 460EX and 460GT.
>>>>
>>>> I can test patches on my board. Alternatively, I can try something myself
>>>> if you can provide some guidance. I guess you are referring to the code
>>>> using
>>>> EMAC_FTR_440GX_PHY_CLK_FIX and EMAC_FTR_440EP_PHY_CLK_FIX.
>>>>
>>>>
>>> It would be nice if you could try something as I don't have anything to
>>> test here.
>>>
>>> And yes, it's probably one of those 2 fixes that need to be extended.
>>>
>>> I'll have a look later today if I can find the 405EXr user manual and
>>> give you more precise guidance.
>>>
>
> >From the doc, it looks like it needs the 440 type workaround (and the
> 405EX as well). Can you try this patch:
>
> emac: Fix clock control for 405EX and 405EXr chips
>
> The EMAC variant in the 405EX and 405EXr chips needs the "440EP" type clock
> control workaround to avoid lockups of the Rx side during reset.
>
> Signed-off-by: Benjamin Herrenschmidt <benh@...nel.crashing.org>
> ---
>
> Index: linux-work/drivers/net/ibm_newemac/core.c
> ===================================================================
> --- linux-work.orig/drivers/net/ibm_newemac/core.c 2009-03-11 11:13:37.000000000 +1100
> +++ linux-work/drivers/net/ibm_newemac/core.c 2009-03-11 11:14:00.000000000 +1100
> @@ -2594,6 +2594,9 @@ static int __devinit emac_init_config(st
> if (of_device_is_compatible(np, "ibm,emac-460ex") ||
> of_device_is_compatible(np, "ibm,emac-460gt"))
> dev->features |= EMAC_FTR_460EX_PHY_CLK_FIX;
> + if (of_device_is_compatible(np, "ibm,emac-405ex") ||
> + of_device_is_compatible(np, "ibm,emac-405exr"))
> + dev->features |= EMAC_FTR_440EP_PHY_CLK_FIX;
> } else if (of_device_is_compatible(np, "ibm,emac4")) {
> dev->features |= EMAC_FTR_EMAC4;
> if (of_device_is_compatible(np, "ibm,emac-440gx"))
>
>
>
Hi, Ben
This patch fixes a problem for me. Thank you very much for a quick fix.
Felix.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists