netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Antoine Tenart <antoine.tenart@free-electrons.com>
To: Russell King - ARM Linux <linux@armlinux.org.uk>
Cc: Antoine Tenart <antoine.tenart@free-electrons.com>,
	davem@davemloft.net, kishon@ti.com, andrew@lunn.ch,
	jason@lakedaemon.net, sebastian.hesselbarth@gmail.com,
	gregory.clement@free-electrons.com, mw@semihalf.com,
	stefanc@marvell.com, ymarkman@marvell.com,
	thomas.petazzoni@free-electrons.com,
	miquel.raynal@free-electrons.com, nadavh@marvell.com,
	netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Jon Nettleton <jon@solid-run.com>
Subject: Re: [PATCH net-next 5/6] arm64: dts: marvell: mcbin: enable the fourth network interface
Date: Fri, 29 Dec 2017 22:41:12 +0100	[thread overview]
Message-ID: <20171229214112.GB4835@kwain> (raw)
In-Reply-To: <20171228185920.GW10595@n2100.armlinux.org.uk>

Hi Russell,

On Thu, Dec 28, 2017 at 06:59:21PM +0000, Russell King - ARM Linux wrote:
> On Thu, Dec 28, 2017 at 11:04:16AM +0100, Antoine Tenart wrote:
> > 
> > That's not what I remembered. You had some valid points, and others
> > related to PHY modes the driver wasn't supporting before the phylink
> > transition. My understanding of this was that you wanted a full
> > featured support while I only wanted to convert the already supported
> > modes.
> 
> You are mistaken - you can get a full refresher on where things were
> at via https://patchwork.kernel.org/patch/9963971/

I read it again and still have the same feeling. There's been a
misunderstanding at some point. Anyway, let's move forward :)

> 1. I asked for details about what mvpp2.c supports that phylink does
>    not (as you indicated that there were certain things that mvpp2
>    supports that phylink does not.)  I'm still awaiting a response.

I don't remember PHY modes supported in the PPv2 driver that aren't
supported in PHYLINK. I think this point is the main misunderstanding. I
thought you wanted me to support modes unsupported in the PPv2 driver
before. But you explained quite well what these comments were about
below.

So I guess this point is resolved (aka I'll have to take your comments
into account for the v2).

> 2. 25th Sept, you indicated that you would get someone to test
>    an issue related to in-band AN. No results of that testing have
>    been forthcoming.

That's right. I asked someone to make a test, but did not get an answer.
And because the PHYLINK patch stalled on my side I kinda forget about
it. I'll try again to have this test made.

> I am not after a full featured support, what I'm after is ensuring
> that phylink is (a) used correctly and (b) implementations using it
> are correct.  Part of that is ensuring that users don't introduce
> unexpected failure conditions.
> 
> So, when you do this in the validate() callback:
> 
>  +       phylink_set(mask, 1000baseX_Full);
> 
> and then do this in the mac_config() callback:
> 
>  +       if (!phy_interface_mode_is_rgmii(port->phy_interface) &&
>  +           port->phy_interface != PHY_INTERFACE_MODE_SGMII)
>  +               return;
> 
> and this in the link_state() callback:
> 
>  +       if (!phy_interface_mode_is_rgmii(port->phy_interface) &&
>  +           port->phy_interface != PHY_INTERFACE_MODE_SGMII)
>  +               return 0;
> 
> the result is that phylink thinks that you support 1000base-X modes,
> and it will call mac_config() asking for 1000base-X, but you silently
> ignore that, leaving the hardware configured in whatever state it was.
> That leads to a silent failure as far as the user is concerned.
> 
> So, if you do not intend to support 1000base-X initially, don't
> allow it in the validate callback until you do.
> 
> It gets worse, because the return in link_state() means that phylink
> thinks that the link is up if it has requested 1000base-X, which it
> won't be unless you've properly configured it.
> 
> It's this kind of unreliability that I was concerned about in your
> patch.  I'm not demanding "full featured implementation" but I do
> want you to use it correctly.

Thanks for the detailed explanations!

> > > What I'm most concerned about, given the bindings for comphy that
> > > have been merged, is that Free Electrons is pushing forward seemingly
> > > with no regard to the requirement that the serdes lanes are dynamically
> > > reconfigurable, and that's a basic requirement for SFP, and for the
> > > 88x3310 PHYs on the Macchiatobin platform.
> > 
> > The main idea behind the comphy driver is to provide a way to
> > reconfigure the serdes lanes at runtime. Could you develop what are
> > blocking points to properly support SFP, regarding the current comphy
> > support?
> 
> If it supports serdes lane mode reconfiguration (iow, switching between
> 1000base-X, 2500base-X, SGMII, 10G-KR), then that's all that's required.

It does, and the PPv2 driver already ask the COMPHY driver to perform
these reconfigurations (when using the 10G/1G interface on the mcbin for
example).

Thanks!
Antoine

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

  reply	other threads:[~2017-12-29 21:41 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-27 22:14 [PATCH net-next 0/6] net: mvpp2: 1000BaseX and 2000BaseX support Antoine Tenart
2017-12-27 22:14 ` [PATCH net-next 1/6] phy: add 2.5G SGMII mode to the phy_mode enum Antoine Tenart
2017-12-28  7:20   ` Andrew Lunn
2017-12-28 10:06     ` Antoine Tenart
2017-12-28 14:16       ` Florian Fainelli
2017-12-28 18:24         ` Antoine Tenart
2018-01-03 14:35         ` Antoine Tenart
2018-01-03 15:08           ` Andrew Lunn
2018-01-03 17:29             ` Russell King - ARM Linux
2017-12-27 22:14 ` [PATCH net-next 2/6] phy: cp110-comphy: 2.5G SGMII mode Antoine Tenart
2017-12-27 22:14 ` [PATCH net-next 3/6] net: mvpp2: 1000baseX support Antoine Tenart
2017-12-27 22:14 ` [PATCH net-next 4/6] net: mvpp2: 2500baseX support Antoine Tenart
2017-12-27 22:14 ` [PATCH net-next 5/6] arm64: dts: marvell: mcbin: enable the fourth network interface Antoine Tenart
2017-12-27 22:24   ` Russell King - ARM Linux
2017-12-27 22:42     ` Antoine Tenart
2017-12-27 23:20       ` Russell King - ARM Linux
2017-12-28 10:04         ` Antoine Tenart
2017-12-28 18:59           ` Russell King - ARM Linux
2017-12-29 21:41             ` Antoine Tenart [this message]
2017-12-28  7:46     ` Andrew Lunn
2017-12-28 10:05       ` Antoine Tenart
2017-12-28 15:02         ` Florian Fainelli
2017-12-28 18:27           ` Antoine Tenart
2017-12-28 18:46             ` Russell King - ARM Linux
2017-12-29 11:12               ` Marcin Wojtas
2017-12-29 11:38                 ` Russell King - ARM Linux
2017-12-30 16:34                   ` Marcin Wojtas
2017-12-30 17:31                     ` Russell King - ARM Linux
2018-01-01 10:18                       ` Marcin Wojtas
2018-01-01 10:35                         ` [EXT] " Stefan Chulski
2018-01-01 13:25                           ` Russell King - ARM Linux
2018-01-03 17:00                             ` Stefan Chulski
2018-01-03 17:54                               ` Russell King - ARM Linux
2018-01-03 18:17                                 ` Marcin Wojtas
2018-01-03 18:26                                 ` Stefan Chulski
2017-12-27 22:14 ` [PATCH net-next 6/6] arm64: dts: marvell: add Ethernet aliases 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=20171229214112.GB4835@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=jon@solid-run.com \
    --cc=kishon@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --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 \
    --cc=ymarkman@marvell.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).