All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@armlinux.org.uk>
To: Stefan Chulski <stefanc@marvell.com>
Cc: "Marcin Wojtas" <mw@semihalf.com>,
	"Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>,
	"Andrew Lunn" <andrew@lunn.ch>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Yan Markman" <ymarkman@marvell.com>,
	"Jason Cooper" <jason@lakedaemon.net>,
	netdev <netdev@vger.kernel.org>,
	"Antoine Tenart" <antoine.tenart@free-electrons.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"kishon@ti.com" <kishon@ti.com>,
	"Nadav Haklai" <nadavh@marvell.com>,
	"Miquèl Raynal" <miquel.raynal@free-electrons.com>,
	"Gregory Clément" <gregory.clement@free-electrons.com>,
	"David S. Miller" <davem@davemloft.net>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"Sebastian Hesselbarth" <sebastian.hesselbarth@gmail.com>
Subject: Re: [EXT] Re: [PATCH net-next 5/6] arm64: dts: marvell: mcbin: enable the fourth network interface
Date: Wed, 3 Jan 2018 17:54:46 +0000	[thread overview]
Message-ID: <20180103175446.GI28752@n2100.armlinux.org.uk> (raw)
In-Reply-To: <0e95e9b20e2d42bc95e04034bd88e781@IL-EXCH01.marvell.com>

On Wed, Jan 03, 2018 at 05:00:47PM +0000, Stefan Chulski wrote:
> > > > -----Original Message-----
> > > > Hi Russell,
> > > >
> > > > Indeed. RGMII MAC behaves same way, although it shouldn't be named
> > > > as 'in- band' to be on par with the specifications. Anyway - this
> > > > one is rather a stub for being able to work with ACPI, so once the
> > > > MDIO bus works there, this will be out of any concerns.
> > >
> > > Hi Marcin,
> > >
> > > This is correct.
> > > "in-band" supported only for SGMII mode.
> > > IRQ link interrupt depend on "in-band"' auto negation only if "in-band"'
> > enabled.
> > > But IRQ link interrupt could be triggered with "in-band", "out-band" or with
> > specific fixed speed/duplex/flow_contol.
> > 
> > Hi Stefan,
> > 
> > How does this work in RGMII mode - is this handled by the PP2 polling the PHY
> > to get the speed, duplex and flow control settings?
> > 
> 
> IRQ interrupt doesn't handled speed, duplex and flow control settings.
> It's just raised if number of criterions met:
> 1) Physical signal detected by MAC
> 2) MAC auto negotiation succeeded(valid only auto negotiation enabled in MAC and "in-band" bypass disabled)
> 
> So if auto negotiation mechanism disabled in MAC or bypassed, link status would changes to up and IRQ interrupt be triggered.
> 
> In case of RGMII mode obviously we don't have "in-band" auto negotiation and "out-band" cannot be used in Kernel(due to missed locks).
> So auto negotiation should be disabled on MAC level and speed/duplex/flow_contol would be negotiate by PHY. 
> phylink/phylib infrastructure should provide speed/duplex/flow_contol(that were agreed between PHY's) to ppv2 driver.

Sorry, I find this very confusing.

It seems we have some people telling me that when there's no PHY
described in DT, we use this link interrupt, and have a functional
network interface (presumably at whatever speed.)

I can't see this working from what you describe - what you describe
basically tells me that when in-band autonegotiation is disabled, and we
have no PHY in the kernel, then effectively we are in fixed-link mode -
since we need to know what speed, duplex and flow control settings to
use.

So, this means that mvpp2 should be enforcing the presence of a
fixed-link description in DT if there is no PHY node at the moment, but
it doesn't.

Instead, it looks to me like the speed and duplex settings are inherited
from the boot loader or whatever was running before - I can't find
anything that configures MVPP2_GMAC_AUTONEG_CONFIG in this case.  That
seems quite a mess.

Maybe I'm missing something, but I don't see how mvpp2 can be converted
to phylink given this without causing some kind of regression, unless
someone can be much clearer about exactly what kinds of link mvpp2
supports and how they work (which is basically what I asked back in
October.)

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up
According to speedtest.net: 8.21Mbps down 510kbps up

WARNING: multiple messages have this Message-ID (diff)
From: Russell King - ARM Linux <linux@armlinux.org.uk>
To: Stefan Chulski <stefanc@marvell.com>
Cc: "Marcin Wojtas" <mw@semihalf.com>,
	"Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>,
	"Andrew Lunn" <andrew@lunn.ch>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Yan Markman" <ymarkman@marvell.com>,
	"Jason Cooper" <jason@lakedaemon.net>,
	netdev <netdev@vger.kernel.org>,
	"Antoine Tenart" <antoine.tenart@free-electrons.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"kishon@ti.com" <kishon@ti.com>,
	"Nadav Haklai" <nadavh@marvell.com>,
	"Miquèl Raynal" <miquel.raynal@free-electrons.com>,
	"Gregory Clément" <gregory.clement@free-electrons.com>,
	"David S. Miller" <davem@davemloft.net>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"Sebastian Hesselbarth" <sebastian.hesselbarth@g>
Subject: Re: [EXT] Re: [PATCH net-next 5/6] arm64: dts: marvell: mcbin: enable the fourth network interface
Date: Wed, 3 Jan 2018 17:54:46 +0000	[thread overview]
Message-ID: <20180103175446.GI28752@n2100.armlinux.org.uk> (raw)
In-Reply-To: <0e95e9b20e2d42bc95e04034bd88e781@IL-EXCH01.marvell.com>

On Wed, Jan 03, 2018 at 05:00:47PM +0000, Stefan Chulski wrote:
> > > > -----Original Message-----
> > > > Hi Russell,
> > > >
> > > > Indeed. RGMII MAC behaves same way, although it shouldn't be named
> > > > as 'in- band' to be on par with the specifications. Anyway - this
> > > > one is rather a stub for being able to work with ACPI, so once the
> > > > MDIO bus works there, this will be out of any concerns.
> > >
> > > Hi Marcin,
> > >
> > > This is correct.
> > > "in-band" supported only for SGMII mode.
> > > IRQ link interrupt depend on "in-band"' auto negation only if "in-band"'
> > enabled.
> > > But IRQ link interrupt could be triggered with "in-band", "out-band" or with
> > specific fixed speed/duplex/flow_contol.
> > 
> > Hi Stefan,
> > 
> > How does this work in RGMII mode - is this handled by the PP2 polling the PHY
> > to get the speed, duplex and flow control settings?
> > 
> 
> IRQ interrupt doesn't handled speed, duplex and flow control settings.
> It's just raised if number of criterions met:
> 1) Physical signal detected by MAC
> 2) MAC auto negotiation succeeded(valid only auto negotiation enabled in MAC and "in-band" bypass disabled)
> 
> So if auto negotiation mechanism disabled in MAC or bypassed, link status would changes to up and IRQ interrupt be triggered.
> 
> In case of RGMII mode obviously we don't have "in-band" auto negotiation and "out-band" cannot be used in Kernel(due to missed locks).
> So auto negotiation should be disabled on MAC level and speed/duplex/flow_contol would be negotiate by PHY. 
> phylink/phylib infrastructure should provide speed/duplex/flow_contol(that were agreed between PHY's) to ppv2 driver.

Sorry, I find this very confusing.

It seems we have some people telling me that when there's no PHY
described in DT, we use this link interrupt, and have a functional
network interface (presumably at whatever speed.)

I can't see this working from what you describe - what you describe
basically tells me that when in-band autonegotiation is disabled, and we
have no PHY in the kernel, then effectively we are in fixed-link mode -
since we need to know what speed, duplex and flow control settings to
use.

So, this means that mvpp2 should be enforcing the presence of a
fixed-link description in DT if there is no PHY node at the moment, but
it doesn't.

Instead, it looks to me like the speed and duplex settings are inherited
from the boot loader or whatever was running before - I can't find
anything that configures MVPP2_GMAC_AUTONEG_CONFIG in this case.  That
seems quite a mess.

Maybe I'm missing something, but I don't see how mvpp2 can be converted
to phylink given this without causing some kind of regression, unless
someone can be much clearer about exactly what kinds of link mvpp2
supports and how they work (which is basically what I asked back in
October.)

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up
According to speedtest.net: 8.21Mbps down 510kbps up

WARNING: multiple messages have this Message-ID (diff)
From: linux@armlinux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [EXT] Re: [PATCH net-next 5/6] arm64: dts: marvell: mcbin: enable the fourth network interface
Date: Wed, 3 Jan 2018 17:54:46 +0000	[thread overview]
Message-ID: <20180103175446.GI28752@n2100.armlinux.org.uk> (raw)
In-Reply-To: <0e95e9b20e2d42bc95e04034bd88e781@IL-EXCH01.marvell.com>

On Wed, Jan 03, 2018 at 05:00:47PM +0000, Stefan Chulski wrote:
> > > > -----Original Message-----
> > > > Hi Russell,
> > > >
> > > > Indeed. RGMII MAC behaves same way, although it shouldn't be named
> > > > as 'in- band' to be on par with the specifications. Anyway - this
> > > > one is rather a stub for being able to work with ACPI, so once the
> > > > MDIO bus works there, this will be out of any concerns.
> > >
> > > Hi Marcin,
> > >
> > > This is correct.
> > > "in-band" supported only for SGMII mode.
> > > IRQ link interrupt depend on "in-band"' auto negation only if "in-band"'
> > enabled.
> > > But IRQ link interrupt could be triggered with "in-band", "out-band" or with
> > specific fixed speed/duplex/flow_contol.
> > 
> > Hi Stefan,
> > 
> > How does this work in RGMII mode - is this handled by the PP2 polling the PHY
> > to get the speed, duplex and flow control settings?
> > 
> 
> IRQ interrupt doesn't handled speed, duplex and flow control settings.
> It's just raised if number of criterions met:
> 1) Physical signal detected by MAC
> 2) MAC auto negotiation succeeded(valid only auto negotiation enabled in MAC and "in-band" bypass disabled)
> 
> So if auto negotiation mechanism disabled in MAC or bypassed, link status would changes to up and IRQ interrupt be triggered.
> 
> In case of RGMII mode obviously we don't have "in-band" auto negotiation and "out-band" cannot be used in Kernel(due to missed locks).
> So auto negotiation should be disabled on MAC level and speed/duplex/flow_contol would be negotiate by PHY. 
> phylink/phylib infrastructure should provide speed/duplex/flow_contol(that were agreed between PHY's) to ppv2 driver.

Sorry, I find this very confusing.

It seems we have some people telling me that when there's no PHY
described in DT, we use this link interrupt, and have a functional
network interface (presumably at whatever speed.)

I can't see this working from what you describe - what you describe
basically tells me that when in-band autonegotiation is disabled, and we
have no PHY in the kernel, then effectively we are in fixed-link mode -
since we need to know what speed, duplex and flow control settings to
use.

So, this means that mvpp2 should be enforcing the presence of a
fixed-link description in DT if there is no PHY node at the moment, but
it doesn't.

Instead, it looks to me like the speed and duplex settings are inherited
from the boot loader or whatever was running before - I can't find
anything that configures MVPP2_GMAC_AUTONEG_CONFIG in this case.  That
seems quite a mess.

Maybe I'm missing something, but I don't see how mvpp2 can be converted
to phylink given this without causing some kind of regression, unless
someone can be much clearer about exactly what kinds of link mvpp2
supports and how they work (which is basically what I asked back in
October.)

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up
According to speedtest.net: 8.21Mbps down 510kbps up

  reply	other threads:[~2018-01-03 17:55 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
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 [this message]
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=20180103175446.GI28752@n2100.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=andrew@lunn.ch \
    --cc=antoine.tenart@free-electrons.com \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=gregory.clement@free-electrons.com \
    --cc=jason@lakedaemon.net \
    --cc=kishon@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --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 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.