[U-Boot] [PATCH] net/designware: revert MAC-address setup on init

Joe Hershberger joe.hershberger at gmail.com
Wed Jul 8 06:00:33 CEST 2015


Hi Bin,

On Tue, Jul 7, 2015 at 10:46 PM, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Joe,
>
> On Tue, Jul 7, 2015 at 5:55 AM, Joe Hershberger
> <joe.hershberger at gmail.com> wrote:
>> Hey Tom,
>>
>> On Wed, Jul 1, 2015 at 5:02 PM, Tom Rini <trini at konsulko.com> wrote:
>>> On Wed, Jul 01, 2015 at 10:26:21AM -0500, Joe Hershberger wrote:
>>>> Hi Alexey,
>>>>
>>>> On Wed, Jul 1, 2015 at 9:25 AM, Alexey Brodkin
>>>> <Alexey.Brodkin at synopsys.com> wrote:
>>>> > Hi Tom, Joe,
>>>> >
>>>> > On Wed, 2015-07-01 at 22:22 +0800, Bin Meng wrote:
>>>> >> Hi Alexey,
>>>> >>
>>>> >> On Wed, Jul 1, 2015 at 9:59 PM, Alexey Brodkin
>>>> >> <Alexey.Brodkin at synopsys.com> wrote:
>>>> >> > http://git.denx.de/?p=u
>>>> >> > -boot.git;a=patch;h=f566c9949fbdce2e09a900c5343ca9986e5ba360
>>>> >> > broke DW GMAC operation if !DM_ETH because eth_write_hwaddr()
>>>> >> > doesn't
>>>> >> > exist if !DM_NET.
>>>> >> >
>>>> >> > As for DM_ETH case I'm still not sure if existing implementation
>>>> >> > will
>>>> >> > fly.
>>>> >> >
>>>> >> > The point is as it is said in the comment on "soft reset" that is
>>>> >> > triggered with setting DMAMAC_SRST in "busmode" register HW address
>>>> >> > gets
>>>> >> > reset as well. And we inevitably need to set HW address again.
>>>> >> >
>>>> >> > So probably better solution is to move mentioned "soft-reset" from
>>>> >> > "init" (that is used on start of any network activity) to
>>>> >> > "initialize"
>>>> >> > (which is only executed once in "board_r" sequence). But that's a
>>>> >> > bit of
>>>> >> > a different story and for now let's just get DW GMAC functional
>>>> >> > again.
>>>> >> >
>>>> >> > Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
>>>> >> > Cc: Joe Hershberger <joe.hershberger at ni.com>
>>>> >> > Cc: Michal Simek <michal.simek at xilinx.com>
>>>> >> > Cc: Tom Rini <trini at konsulko.com>
>>>> >> > ---
>>>> >> >  drivers/net/designware.c | 4 ++++
>>>> >> >  1 file changed, 4 insertions(+)
>>>> >> >
>>>> >> > diff --git a/drivers/net/designware.c b/drivers/net/designware.c
>>>> >> > index ae51cf3..07281a6 100644
>>>> >> > --- a/drivers/net/designware.c
>>>> >> > +++ b/drivers/net/designware.c
>>>> >> > @@ -243,6 +243,10 @@ static int _dw_eth_init(struct dw_eth_dev
>>>> >> > *priv, u8 *enetaddr)
>>>> >> >                 mdelay(100);
>>>> >> >         };
>>>> >> >
>>>> >> > +       /* Soft reset above clears HW address registers.
>>>> >> > +        * So we have to set it here once again */
>>>> >> > +       _dw_write_hwaddr(priv, enetaddr);
>>>> >> > +
>>>> >> >         rx_descs_init(priv);
>>>> >> >         tx_descs_init(priv);
>>>> >> >
>>>> >> > --
>>>> >>
>>>> >> There is already a patch submitted. Please check
>>>> >> http://patchwork.ozlabs.org/patch/484214/
>>>> >
>>>> > Any chance for mentioned patch "net: designware: Program MAC address to
>>>> > hardware after soft reset" to be applied?
>>>> >
>>>> > This really fixes GMAC operation and it would be nice to have this fix
>>>> > in upcoming release.
>>>>
>>>> I think that sounds appropriate. Tom?
>>>
>>> Yes.  Of the handful of recent (in my mind anyhow) net patches, are you
>>> going to do a PR for them or should I just grab things?
>>
>> Sorry, was on vacation. I think you can just grab this one. Is there
>> another you are thinking of that is a bug fix for this release?
>>
>
> I think you want Tom to grab the previous one here
> http://patchwork.ozlabs.org/patch/484214/

You are correct. I forgot this was a duplicate.

Cheers,
-Joe


More information about the U-Boot mailing list