From: Marek Behún <kabel@kernel.org> Date: 2021-03-24 16:51:53
The MV_V2_PORT_MAC_TYPE_* is part of the CTRL register. Rename to
MV_V2_PORT_CTRL_MACTYPE_*.
Signed-off-by: Marek Behún <kabel@kernel.org>
---
drivers/net/phy/marvell10g.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
From: Marek Behún <kabel@kernel.org> Date: 2021-03-24 16:51:53
This space should be a tab instead.
Signed-off-by: Marek Behún <kabel@kernel.org>
---
drivers/net/phy/marvell10g.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Marek Behún <kabel@kernel.org> Date: 2021-03-24 16:51:53
This modes are also supported by this PHYs.
Signed-off-by: Marek Behún <kabel@kernel.org>
---
drivers/net/phy/marvell10g.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
@@ -462,9 +462,11 @@ static int mv3310_config_init(struct phy_device *phydev)/* Check that the PHY interface type is compatible */if(phydev->interface!=PHY_INTERFACE_MODE_SGMII&&phydev->interface!=PHY_INTERFACE_MODE_2500BASEX&&+phydev->interface!=PHY_INTERFACE_MODE_5GBASER&&phydev->interface!=PHY_INTERFACE_MODE_XAUI&&phydev->interface!=PHY_INTERFACE_MODE_RXAUI&&-phydev->interface!=PHY_INTERFACE_MODE_10GBASER)+phydev->interface!=PHY_INTERFACE_MODE_10GBASER&&+phydev->interface!=PHY_INTERFACE_MODE_USXGMII)return-ENODEV;phydev->mdix_ctrl=ETH_TP_MDI_AUTO;
From: Marek Behún <kabel@kernel.org> Date: 2021-03-24 16:51:53
Add all MACTYPE definitions for 88X3310/88X3310P.
In order to have consistent naming, rename
MV_V2_PORT_CTRL_MACTYPE_RATE_MATCH to
MV_V2_PORT_CTRL_MACTYPE_10GR_RATE_MATCH.
Signed-off-by: Marek Behún <kabel@kernel.org>
---
drivers/net/phy/marvell10g.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
@@ -596,13 +596,22 @@ static void mv3310_update_interface(struct phy_device *phydev){structmv3310_priv*priv=dev_get_drvdata(&phydev->mdio.dev);-/* In "XFI with Rate Matching" mode the PHY interface is fixed at-*10Gb.ThePHYadaptstheratetoactualwirespeedwithhelpof+/* In all of the "* with Rate Matching" modes the PHY interface is fixed+*at10Gb.ThePHYadaptstheratetoactualwirespeedwithhelpof*internal16KBbuffer.*/-if(priv->mactype==MV_V2_PORT_CTRL_MACTYPE_10GBASER_RATE_MATCH){+switch(priv->mactype){+caseMV_V2_PORT_CTRL_MACTYPE_10GBASER_RATE_MATCH:phydev->interface=PHY_INTERFACE_MODE_10GBASER;return;+caseMV_V2_PORT_CTRL_MACTYPE_XAUI_RATE_MATCH:+phydev->interface=PHY_INTERFACE_MODE_XAUI;+return;+caseMV_V2_PORT_CTRL_MACTYPE_RXAUI_RATE_MATCH:+phydev->interface=PHY_INTERFACE_MODE_RXAUI;+return;+default:+break;}if((phydev->interface==PHY_INTERFACE_MODE_SGMII||
From: Marek Behún <kabel@kernel.org> Date: 2021-03-24 16:51:53
Save MACTYPE instead of rate_matching boolean. We will need this for
other configurations.
Signed-off-by: Marek Behún <kabel@kernel.org>
---
drivers/net/phy/marvell10g.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
From: Marek Behún <kabel@kernel.org> Date: 2021-03-24 16:51:53
Currently the only "changing" MACTYPE we support is when the PHY changes
between
10gbase-r / 5gbase-r / 2500base-x / sgmii
Add support for
xaui / 5gbase-r / 2500base-x / sgmii
rxaui / 5gbase-r / 2500base-x / sgmii
Signed-off-by: Marek Behún <kabel@kernel.org>
---
drivers/net/phy/marvell10g.c | 70 +++++++++++++++++++++---------------
1 file changed, 41 insertions(+), 29 deletions(-)
@@ -595,6 +595,10 @@ static int mv3310_aneg_done(struct phy_device *phydev)staticvoidmv3310_update_interface(structphy_device*phydev){structmv3310_priv*priv=dev_get_drvdata(&phydev->mdio.dev);+phy_interface_tinterface10g;++if(!phydev->link)+return;/* In all of the "* with Rate Matching" modes the PHY interface is fixed*at10Gb.ThePHYadaptstheratetoactualwirespeedwithhelpof
@@ -610,38 +614,46 @@ static void mv3310_update_interface(struct phy_device *phydev)caseMV_V2_PORT_CTRL_MACTYPE_RXAUI_RATE_MATCH:phydev->interface=PHY_INTERFACE_MODE_RXAUI;return;-default:+caseMV_V2_PORT_CTRL_MACTYPE_USXGMII:+phydev->interface=PHY_INTERFACE_MODE_USXGMII;+return;+caseMV_V2_PORT_CTRL_MACTYPE_10GBASER:+caseMV_V2_PORT_CTRL_MACTYPE_10GBASER_NO_SGMII_AN:+interface10g=PHY_INTERFACE_MODE_10GBASER;break;+caseMV_V2_PORT_CTRL_MACTYPE_XAUI:+interface10g=PHY_INTERFACE_MODE_XAUI;+break;+caseMV_V2_PORT_CTRL_MACTYPE_RXAUI:+interface10g=PHY_INTERFACE_MODE_RXAUI;+break;+default:+unreachable();}-if((phydev->interface==PHY_INTERFACE_MODE_SGMII||-phydev->interface==PHY_INTERFACE_MODE_2500BASEX||-phydev->interface==PHY_INTERFACE_MODE_10GBASER)&&-phydev->link){-/* The PHY automatically switches its serdes interface (and-*activePHYXSinstance)betweenCiscoSGMII,10GBase-Rand-*2500BaseXmodesaccordingtothespeed.Floriansuggests-*settingphydev->interfacetocommunicatethistotheMAC.-*Onlydothisifwearealreadyinoneoftheabovemodes.-*/-switch(phydev->speed){-caseSPEED_10000:-phydev->interface=PHY_INTERFACE_MODE_10GBASER;-break;-caseSPEED_5000:-phydev->interface=PHY_INTERFACE_MODE_5GBASER;-break;-caseSPEED_2500:-phydev->interface=PHY_INTERFACE_MODE_2500BASEX;-break;-caseSPEED_1000:-caseSPEED_100:-caseSPEED_10:-phydev->interface=PHY_INTERFACE_MODE_SGMII;-break;-default:-break;-}+/* The PHY automatically switches its serdes interface (and active PHYXS+*instance)betweenCiscoSGMII,2500BaseX,5GBase-Rand10GBase-R/+*xaui/rxauimodesaccordingtothespeed.+*Floriansuggestssettingphydev->interfacetocommunicatethistothe+*MAC.Onlydothisifwearealreadyinoneoftheabovemodes.+*/+switch(phydev->speed){+caseSPEED_10000:+phydev->interface=interface10g;+break;+caseSPEED_5000:+phydev->interface=PHY_INTERFACE_MODE_5GBASER;+break;+caseSPEED_2500:+phydev->interface=PHY_INTERFACE_MODE_2500BASEX;+break;+caseSPEED_1000:+caseSPEED_100:+caseSPEED_10:+phydev->interface=PHY_INTERFACE_MODE_SGMII;+break;+default:+break;}}
From: Russell King - ARM Linux admin <linux@armlinux.org.uk> Date: 2021-03-24 16:59:24
On Wed, Mar 24, 2021 at 05:50:20PM +0100, Marek Behún wrote:
Add all MACTYPE definitions for 88X3310/88X3310P.
In order to have consistent naming, rename
MV_V2_PORT_CTRL_MACTYPE_RATE_MATCH to
MV_V2_PORT_CTRL_MACTYPE_10GR_RATE_MATCH.
We probably ought to note that the 88x3310 and 88x3340 will be detected
by this driver, but have different MACTYPE definitions.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
From: Russell King - ARM Linux admin <linux@armlinux.org.uk> Date: 2021-03-24 17:00:31
On Wed, Mar 24, 2021 at 05:50:21PM +0100, Marek Behún wrote:
Save MACTYPE instead of rate_matching boolean. We will need this for
other configurations.
This could lead us to having to test for multiple different mactype
values depending on the PHY type in mv3310_update_interface() which
is something I wanted to avoid.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
From: Marek Behún <kabel@kernel.org> Date: 2021-03-24 17:10:43
On Wed, 24 Mar 2021 16:58:36 +0000
Russell King - ARM Linux admin [off-list ref] wrote:
On Wed, Mar 24, 2021 at 05:50:20PM +0100, Marek Behún wrote:
quoted
Add all MACTYPE definitions for 88X3310/88X3310P.
In order to have consistent naming, rename
MV_V2_PORT_CTRL_MACTYPE_RATE_MATCH to
MV_V2_PORT_CTRL_MACTYPE_10GR_RATE_MATCH.
We probably ought to note that the 88x3310 and 88x3340 will be detected
by this driver, but have different MACTYPE definitions.
Is 88X3340 supported? The drivers structure only defines for
.phy_id = MARVELL_PHY_ID_88X3310
Do 88X3310 and 3340 have the same PHY_ID ?
Also these registers are different for 88E2110, and the register
which contains MACTYPE has a different address. Yes, I want to do this,
but in another series, because I don't have the board with 88E2210 now.
Marek
From: Marek Behún <kabel@kernel.org> Date: 2021-03-24 17:12:55
On Wed, 24 Mar 2021 16:59:46 +0000
Russell King - ARM Linux admin [off-list ref] wrote:
On Wed, Mar 24, 2021 at 05:50:21PM +0100, Marek Behún wrote:
quoted
Save MACTYPE instead of rate_matching boolean. We will need this for
other configurations.
This could lead us to having to test for multiple different mactype
values depending on the PHY type in mv3310_update_interface() which
is something I wanted to avoid.
This is currently done in patches 6/7 and 7/7...
Either we do this this way, or we save both members
bool rate_matching;
phy_interface_t interface10g;
in order not to do this always in mv3310_update_interface().
I guess I am going to change it.
Marek
From: Russell King - ARM Linux admin <linux@armlinux.org.uk> Date: 2021-03-24 18:12:54
On Wed, Mar 24, 2021 at 06:09:09PM +0000, Marek Behún wrote:
On Wed, 24 Mar 2021 16:58:36 +0000
Russell King - ARM Linux admin [off-list ref] wrote:
quoted
On Wed, Mar 24, 2021 at 05:50:20PM +0100, Marek Behún wrote:
quoted
Add all MACTYPE definitions for 88X3310/88X3310P.
In order to have consistent naming, rename
MV_V2_PORT_CTRL_MACTYPE_RATE_MATCH to
MV_V2_PORT_CTRL_MACTYPE_10GR_RATE_MATCH.
We probably ought to note that the 88x3310 and 88x3340 will be detected
by this driver, but have different MACTYPE definitions.
Is 88X3340 supported? The drivers structure only defines for
.phy_id = MARVELL_PHY_ID_88X3310
Do 88X3310 and 3340 have the same PHY_ID ?
Yes they do. I believe they can be distinguished by bit 3,
conventionally part of the PHY revision.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!