Thread (43 messages) 43 messages, 4 authors, 2017-08-25

Re: [PATCH net-next 09/13] net: mvpp2: dynamic reconfiguration of the PHY mode

From: Antoine Tenart <hidden>
Date: 2017-08-24 16:19:50
Also in: lkml

On Thu, Aug 24, 2017 at 06:01:24PM +0200, Andrew Lunn wrote:
On Thu, Aug 24, 2017 at 05:52:41PM +0200, Antoine Tenart wrote:
quoted
On Thu, Aug 24, 2017 at 04:56:09PM +0200, Andrew Lunn wrote:
quoted
On Thu, Aug 24, 2017 at 10:38:19AM +0200, Antoine Tenart wrote:
quoted
This patch adds logic to reconfigure the comphy/gop when the link status
change at runtime. This is very useful on boards such as the mcbin which
have SFP and Ethernet ports connected to the same MAC port: depending on
what the user connects the driver will automatically reconfigure the
link mode.
I would expect each of these external Ethernet ports to have its own
Ethernet PHY. Don't you need to disconnect from one Ethernet phy and
connect to the other Ethernet PHY when you change external Ethernet
port?
That's the other way around. The engines outputs (say GoP#) are
connected to the comphy inputs. In the SoC. Then there's a single output
of this comphy lane to the board. So when switching modes, you do not
have to connect to a different Ethernet PHY, it's the same.
I think there is a mixup here between generic PHY and Ethernet PHY.

When you swap from the copper RJ45 to the fibre SFP, the phylib needs
to swap from the Copper Ethernet PHY driving the RJ45, to the PHY
driving the SFP module, which is probably a fixed-phy.
Or on the mcbin the Alaska X 88X3310 which can operate from 10G to 10M.
This PHY changes its interface mode depending on what speed is
negotiated.
I actually think this is why you have the carrier_on/off calls in the
link modify callback.
Well, I still do not know if these calls are *really* needed. At least
in our case.
Imagine phylib is using the copper Ethernet PHY, but the MAC is using
the SFP port. Somebody pulls out the copper cable, phylib says the
link is down, turns the carrier off and calls the callback. Not good,
since your SFP cable is still plugged in...  Ethtool is
returning/setting stuff in the Copper Ethernet PHY, when in fact you
intend to be setting SFP settings.
I see what could be the issue but I do not understand one aspect though:
how could we switch from one PHY to another, as there's only one output
between the SoC (and so a given GoP#) and the board. So if a given PHY
can handle multiple modes I see, but in the other case a muxing
somewhere would be needed? Or did I miss something?

Thanks!
Antoine

-- 
Antoine Ténart, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help