All of lore.kernel.org
 help / color / mirror / Atom feed
From: Florian Fainelli <florian@openwrt.org>
To: Wolfgang Grandegger <wg@grandegger.com>
Cc: Manuel Lauss <manuel.lauss@googlemail.com>,
	linux-mips@linux-mips.org, Wolfgang Grandegger <wg@denx.de>
Subject: Re: [PATCH] mips/alchemy: define eth platform devices in the correct order
Date: Sat, 17 Jul 2010 19:37:58 +0200	[thread overview]
Message-ID: <201007171937.59573.florian@openwrt.org> (raw)
In-Reply-To: <4C41E5C0.9010006@grandegger.com>

Hi 

Le Saturday 17 July 2010 19:17:52, Wolfgang Grandegger a écrit :
> On 07/17/2010 07:01 PM, Manuel Lauss wrote:
> > Servus Wolfgang,
> > 
> > On Sat, Jul 17, 2010 at 4:38 PM, Wolfgang Grandegger <wg@grandegger.com> 
wrote:
> >> From: Wolfgang Grandegger <wg@denx.de>
> >> 
> >> Currently, the eth devices are probed in the inverse order, first
> >> au1xxx_eth1_device and then au1xxx_eth0_device. On the GPR board,
> >> 
> >> this makes trouble:
> >>  # ifconfig|grep HWaddr
> >>  eth0      Link encap:Ethernet  HWaddr 00:50:C2:0C:30:01
> >>  eth1      Link encap:Ethernet  HWaddr 66:22:01:80:38:10
> >> 
> >> A bogous ethernet hwaddr is assigned to the first device and
> >> au1xxx_eth0_device is mapped to eth1, which even does not work

Most likely prom_get_ethernet_addr is failing for the first device because 
pdev->id == 1 that is why you get such an address, take a look at au1000-
eth.c.

> >> 
> >> properly. With this patch, the problems are gone:
> >>  # ifconfig|grep HWaddr
> >>  eth0      Link encap:Ethernet  HWaddr 66:22:11:32:38:10
> >>  eth1      Link encap:Ethernet  HWaddr 66:22:11:32:38:11
> > 
> > Interesting.  I don't disagree with the patch; what do you think about
> > passing MAC address via platform_data?   I don't particularly like
> > how the driver is trying to get a MAC address using the prom interface.

The patch is actually good, because there are no reasons to register the 
second MAC before the first one, sorry about that. However, the real fix also 
involves au1000-eth,c in au1000_probe(). We currently only handle the case 
where the pdev->id is 0, not 1. When pdev->id == 1 you end up defaulting to 
the default au1000-eth defined MAC address. So I would do it that way:

- make the board code get the ethernet MAC address for the given adapter
- pass it via platform_data
- au1000-eth checks for its validity or generates a random one

> 
> Well, I don't think it's a good idea. Each board should have a different
> mac address and it's nomally stored somewhere in the boards non-volatile
> storage during board bringup.
> 
> > I'll try to cook something up.
> 
> But not via platform data, please. Or have I missed something. With the
> flat device tree (as used for PowerPC) the situation is different
> because the boot-loader can fixup the MAC address before booting Linux.

MIPS has no mainlined support for DT yet, but still, you would have to cope 
with existing boards running YAMON as a bootloader, so using prom_getenv() is 
imho a good solution.
--
Florian

  reply	other threads:[~2010-07-17 17:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-17 14:38 [PATCH] mips/alchemy: define eth platform devices in the correct order Wolfgang Grandegger
2010-07-17 17:01 ` Manuel Lauss
2010-07-17 17:01   ` Manuel Lauss
2010-07-17 17:17   ` Wolfgang Grandegger
2010-07-17 17:37     ` Florian Fainelli [this message]
2010-07-23 16:34 ` Ralf Baechle

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=201007171937.59573.florian@openwrt.org \
    --to=florian@openwrt.org \
    --cc=linux-mips@linux-mips.org \
    --cc=manuel.lauss@googlemail.com \
    --cc=wg@denx.de \
    --cc=wg@grandegger.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.