[U-Boot] [PATCH] net/designware: revert MAC-address setup on init
Joe Hershberger
joe.hershberger at gmail.com
Mon Jul 6 23:55:49 CEST 2015
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?
Thanks,
-Joe
More information about the U-Boot
mailing list