All of lore.kernel.org
 help / color / mirror / Atom feed
From: antoine.tenart@free-electrons.com (Antoine Tenart)
To: linux-arm-kernel@lists.infradead.org
Subject: [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

WARNING: multiple messages have this Message-ID (diff)
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: 77+ 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 ` 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-27 22:14   ` Antoine Tenart
2017-12-28  7:20   ` Andrew Lunn
2017-12-28  7:20     ` Andrew Lunn
2017-12-28 10:06     ` Antoine Tenart
2017-12-28 10:06       ` Antoine Tenart
2017-12-28 14:16       ` Florian Fainelli
2017-12-28 14:16         ` Florian Fainelli
2017-12-28 18:24         ` Antoine Tenart
2017-12-28 18:24           ` Antoine Tenart
2018-01-03 14:35         ` Antoine Tenart
2018-01-03 14:35           ` Antoine Tenart
2018-01-03 15:08           ` Andrew Lunn
2018-01-03 15:08             ` Andrew Lunn
2018-01-03 17:29             ` Russell King - ARM Linux
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   ` Antoine Tenart
2017-12-27 22:14 ` [PATCH net-next 3/6] net: mvpp2: 1000baseX support Antoine Tenart
2017-12-27 22:14   ` Antoine Tenart
2017-12-27 22:14 ` [PATCH net-next 4/6] net: mvpp2: 2500baseX support Antoine Tenart
2017-12-27 22:14   ` 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:14   ` Antoine Tenart
2017-12-27 22:24   ` Russell King - ARM Linux
2017-12-27 22:24     ` Russell King - ARM Linux
2017-12-27 22:42     ` Antoine Tenart
2017-12-27 22:42       ` Antoine Tenart
2017-12-27 23:20       ` Russell King - ARM Linux
2017-12-27 23:20         ` Russell King - ARM Linux
2017-12-28 10:04         ` Antoine Tenart
2017-12-28 10:04           ` Antoine Tenart
2017-12-28 18:59           ` Russell King - ARM Linux
2017-12-28 18:59             ` Russell King - ARM Linux
2017-12-29 21:41             ` Antoine Tenart [this message]
2017-12-29 21:41               ` Antoine Tenart
2017-12-28  7:46     ` Andrew Lunn
2017-12-28  7:46       ` Andrew Lunn
2017-12-28  7:46       ` Andrew Lunn
2017-12-28 10:05       ` Antoine Tenart
2017-12-28 10:05         ` Antoine Tenart
2017-12-28 15:02         ` Florian Fainelli
2017-12-28 15:02           ` Florian Fainelli
2017-12-28 18:27           ` Antoine Tenart
2017-12-28 18:27             ` Antoine Tenart
2017-12-28 18:46             ` Russell King - ARM Linux
2017-12-28 18:46               ` Russell King - ARM Linux
2017-12-29 11:12               ` Marcin Wojtas
2017-12-29 11:12                 ` Marcin Wojtas
2017-12-29 11:38                 ` Russell King - ARM Linux
2017-12-29 11:38                   ` Russell King - ARM Linux
2017-12-30 16:34                   ` Marcin Wojtas
2017-12-30 16:34                     ` Marcin Wojtas
2017-12-30 17:31                     ` Russell King - ARM Linux
2017-12-30 17:31                       ` Russell King - ARM Linux
2018-01-01 10:18                       ` Marcin Wojtas
2018-01-01 10:18                         ` Marcin Wojtas
2018-01-01 10:35                         ` [EXT] " Stefan Chulski
2018-01-01 10:35                           ` Stefan Chulski
2018-01-01 13:25                           ` Russell King - ARM Linux
2018-01-01 13:25                             ` Russell King - ARM Linux
2018-01-01 13:25                             ` Russell King - ARM Linux
2018-01-03 17:00                             ` Stefan Chulski
2018-01-03 17:00                               ` Stefan Chulski
2018-01-03 17:00                               ` Stefan Chulski
2018-01-03 17:54                               ` Russell King - ARM Linux
2018-01-03 17:54                                 ` Russell King - ARM Linux
2018-01-03 17:54                                 ` Russell King - ARM Linux
2018-01-03 18:17                                 ` Marcin Wojtas
2018-01-03 18:17                                   ` Marcin Wojtas
2018-01-03 18:26                                 ` Stefan Chulski
2018-01-03 18:26                                   ` Stefan Chulski
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
2017-12-27 22:14   ` 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=linux-arm-kernel@lists.infradead.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.