[U-Boot] [PATCH] net/designware: revert MAC-address setup on init
Bin Meng
bmeng.cn at gmail.com
Wed Jul 8 05:46:20 CEST 2015
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/
Regards,
Bin
More information about the U-Boot
mailing list