From: Andrew Lunn <andrew@lunn.ch>
To: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Jose Abreu <Jose.Abreu@synopsys.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
Florian Fainelli <f.fainelli@gmail.com>
Subject: Re: C45 support and mdiobus_scan
Date: Fri, 10 Aug 2018 18:34:49 +0200 [thread overview]
Message-ID: <20180810163449.GA11955@lunn.ch> (raw)
In-Reply-To: <a7b9fcfe-fbd5-648e-9e38-c66ed6081810@amd.com>
On Fri, Aug 10, 2018 at 10:20:56AM -0500, Tom Lendacky wrote:
> On 8/9/2018 10:25 AM, Andrew Lunn wrote:
> >>> The PCIe core will look in the device tree and when it creates the
> >>> platform device for the i210 on the pcie bus, it points
> >>> pdev->dev.of_node at this node. So long as you are using a platform
> >>> with DT, you can do this. I hope you are not using x86..
> >>
> >> Yes I am :( Any possible solution for this?
>
> I haven't looked too closely, but maybe you can add a new mdiobus_scan
> function for 10G that attempts get_phy_device() with is_c45 set to true
> and if nothing is found falls back to get_phy_device() with is_c45 set to
> false.
Hi Tom
I did consider at one point adding extra flags to the struct mii_bus
to indicate if the bus master supports C22 and or C45, and then scan
the bus as appropriate. We cannot unconditionally do a C45 scan on all
busses, because most bus drivers don't look for MII_ADDR_C45, and so
are wrongly going to do a C22 transaction. There is also one bus
driver i know of which can only do C45. But it at least returns
EOPNOTSUPP if you ask it to do a C22.
I think this needs addressing at some point. We are seeing more 2.5G,
5G and 10G MAC/PHY combinations, and they often need C45. So maybe
adding a flag saying C45 is supported, and then scanning is a good way
forward. Adding a flag saying C22 is supported might be too much work,
without enough return.
> I don't know what would happen if you have a non-c45 phy attached,
> but it's worth a shot to try it and see for each situation.
That should be fine. A C22 PHY should ignore a C45 transaction. At
least that was the design idea when C45 was introduced. But i would
not be too surprised if we find the odd C22 phy get confused, and we
need to add some sort of quirks.
Andrew
prev parent reply other threads:[~2018-08-10 19:05 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-09 13:54 C45 support and mdiobus_scan Jose Abreu
2018-08-09 15:03 ` Andrew Lunn
2018-08-09 15:07 ` Jose Abreu
2018-08-09 15:25 ` Andrew Lunn
2018-08-10 15:20 ` Tom Lendacky
2018-08-10 16:34 ` Andrew Lunn [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=20180810163449.GA11955@lunn.ch \
--to=andrew@lunn.ch \
--cc=Jose.Abreu@synopsys.com \
--cc=f.fainelli@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=thomas.lendacky@amd.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).