All of lore.kernel.org
 help / color / mirror / Atom feed
From: Antoine Tenart <antoine.tenart@free-electrons.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: Antoine Tenart <antoine.tenart@free-electrons.com>,
	davem@davemloft.net, kishon@ti.com, jason@lakedaemon.net,
	sebastian.hesselbarth@gmail.com,
	gregory.clement@free-electrons.com,
	thomas.petazzoni@free-electrons.com, nadavh@marvell.com,
	linux@armlinux.org.uk, linux-kernel@vger.kernel.org,
	mw@semihalf.com, stefanc@marvell.com,
	miquel.raynal@free-electrons.com, netdev@vger.kernel.org
Subject: Re: [PATCH net-next 09/13] net: mvpp2: dynamic reconfiguration of the PHY mode
Date: Thu, 24 Aug 2017 18:19:45 +0200	[thread overview]
Message-ID: <20170824161945.GG28443@kwain> (raw)
In-Reply-To: <20170824160124.GA18700@lunn.ch>

[-- Attachment #1: Type: text/plain, Size: 2621 bytes --]

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:
> > On Thu, Aug 24, 2017 at 04:56:09PM +0200, Andrew Lunn wrote:
> > > On Thu, Aug 24, 2017 at 10:38:19AM +0200, Antoine Tenart wrote:
> > > > 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2017-08-24 16:19 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-24  8:38 [PATCH net-next 00/13] net: mvpp2: comphy configuration Antoine Tenart
2017-08-24  8:38 ` [PATCH net-next 01/13] phy: add sgmii and 10gkr modes to the phy_mode enum Antoine Tenart
2017-08-24 13:19   ` Andrew Lunn
2017-08-24 13:31     ` Antoine Tenart
2017-08-24  8:38 ` [PATCH net-next 02/13] phy: add the mvebu cp110 comphy driver Antoine Tenart
2017-08-24 13:39   ` Andrew Lunn
2017-08-24 13:44     ` Antoine Tenart
2017-08-24 13:51       ` Andrew Lunn
2017-08-24 13:57         ` Stefan Chulski
2017-08-24 14:01           ` Antoine Tenart
2017-08-24 14:02           ` Andrew Lunn
2017-08-24 13:45   ` Andrew Lunn
2017-08-24 13:58     ` Antoine Tenart
2017-08-24  8:38 ` [PATCH net-next 03/13] Documentation/bindings: phy: document the Marvell " Antoine Tenart
2017-08-24  8:38 ` [PATCH net-next 04/13] net: mvpp2: initialize the comphy Antoine Tenart
2017-08-24  8:38 ` [PATCH net-next 05/13] net: mvpp2: do not force the link mode Antoine Tenart
2017-08-24  8:38 ` [PATCH net-next 06/13] net: mvpp2: simplify the link_event function Antoine Tenart
2017-08-24  8:38 ` [PATCH net-next 07/13] net: mvpp2: improve the link management function Antoine Tenart
2017-08-24 14:06   ` Andrew Lunn
2017-08-24 14:14     ` Antoine Tenart
2017-08-24  8:38 ` [PATCH net-next 08/13] net: mvpp2: check the netif is running in the link_event function Antoine Tenart
2017-08-24  8:38 ` [PATCH net-next 09/13] net: mvpp2: dynamic reconfiguration of the PHY mode Antoine Tenart
2017-08-24 14:56   ` Andrew Lunn
2017-08-24 15:52     ` Antoine Tenart
2017-08-24 16:01       ` Andrew Lunn
2017-08-24 16:19         ` Antoine Tenart [this message]
2017-08-24 16:57           ` Andrew Lunn
2017-08-24 17:04             ` Russell King - ARM Linux
2017-08-24 17:13               ` Antoine Tenart
2017-08-24 17:25                 ` [EXT] " Stefan Chulski
2017-08-24 17:08           ` Stefan Chulski
2017-08-24 17:14             ` Antoine Tenart
2017-08-24 17:16               ` Stefan Chulski
2017-08-25  8:19               ` Russell King - ARM Linux
2017-08-24 16:59     ` Russell King - ARM Linux
2017-08-24 17:45       ` Andrew Lunn
2017-08-24 22:16         ` Russell King - ARM Linux
2017-08-24  8:38 ` [PATCH net-next 10/13] arm64: dts: marvell: extend the cp110 syscon register area length Antoine Tenart
2017-08-24  8:38 ` [PATCH net-next 11/13] arm64: dts: marvell: add comphy nodes on cp110 master and slave Antoine Tenart
2017-08-24  8:38 ` [PATCH net-next 12/13] arm64: dts: marvell: mcbin: add comphy references to Ethernet ports Antoine Tenart
2017-08-24 13:58   ` Andrew Lunn
2017-08-24 14:03     ` Antoine Tenart
2017-08-24  8:38 ` [PATCH net-next 13/13] arm64: defconfig: enable Marvell CP110 comphy Antoine Tenart

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=20170824161945.GG28443@kwain \
    --to=antoine.tenart@free-electrons.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=gregory.clement@free-electrons.com \
    --cc=jason@lakedaemon.net \
    --cc=kishon@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=miquel.raynal@free-electrons.com \
    --cc=mw@semihalf.com \
    --cc=nadavh@marvell.com \
    --cc=netdev@vger.kernel.org \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=stefanc@marvell.com \
    --cc=thomas.petazzoni@free-electrons.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.