From: Florian Fainelli <f.fainelli@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: netdev@vger.kernel.org
Subject: Re: DSA: Attaching phy twice?
Date: Sun, 08 Feb 2015 14:59:36 -0800 [thread overview]
Message-ID: <54D7EA58.40706@gmail.com> (raw)
In-Reply-To: <20150208203211.GB23581@lunn.ch>
Hi Andrew,
Le 08/02/2015 12:32, Andrew Lunn a écrit :
> Hi Florian
>
> Have you seen messages like this before?
Yes :)
>
> [ 2.495126] Distributed Switch Architecture driver version 0.1
> [ 2.501358] mvneta f1070000.ethernet eth0: [0]: detected a Marvell 88E6172 switch
> [ 2.556441] libphy: dsa slave smi: probed
> [ 2.638292] net lan4: PHY already attached
> [ 2.733285] net lan3: PHY already attached
> [ 2.820749] net lan2: PHY already attached
> [ 2.910749] net lan1: PHY already attached
> [ 3.000772] net internet: PHY already attached
>
> What appears to be happening is that dsa_slave_phy_setup() is finding
> the phy for the port via device tree and using of_phy_connect(), or it
> uses the fall back of taking a phy from the switch internal mdio bus
> and calling phy_connect_direct(). So if a phy is found,
> phy_attach_direct() gets called to attach the phy to the device.
>
> Then in dsa_slave_create(), a second call to phy_attach() is
> made. This is when we get the warning "PHY already attached", and it
> returns EBUSY, which is ignored.
>
> Is this code at the end of dsa_slave_create() doing anything useful?
>
> if (p->phy != NULL) {
> if (ds->drv->get_phy_flags)
> p->phy->dev_flags |= ds->drv->get_phy_flags(ds, port);
>
> phy_attach(slave_dev, dev_name(&p->phy->dev),
> PHY_INTERFACE_MODE_GMII);
>
> p->phy->autoneg = AUTONEG_ENABLE;
> p->phy->speed = 0;
> p->phy->duplex = 0;
> p->phy->advertising = p->phy->supported | ADVERTISED_Autoneg;
> }
>
> My quick testing suggests its not useful, so if you agree, i will
> submit a patch removing it. Or am i missing something?
Right, now that we have a call to phy_connect_direct() for the built-in
MDIO bus of the switch, we can remove that code, as it is indeed
redundant (note that it was not before, especially for !OF setups). I
would be happy to ack such a patch and give it a try here as well (with
bcm_sf2).
Thanks!
--
Florian
prev parent reply other threads:[~2015-02-08 22:59 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-08 20:32 DSA: Attaching phy twice? Andrew Lunn
2015-02-08 22:59 ` Florian Fainelli [this message]
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=54D7EA58.40706@gmail.com \
--to=f.fainelli@gmail.com \
--cc=andrew@lunn.ch \
--cc=netdev@vger.kernel.org \
/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.