net: add support for phy speed limitation
Subsystems (2)
v2 cover net: add support for phy speed limitation
In some cases Ethernet PHY and network itself might support speeds which are not supported by Ethernet controller (MAC).
To support that kind of situation it is required to force limit PHY so it is not configured for unsupported mode or even if PHY autonegotiated too high speed it will be reconfigured for slower mode.
Note this series is v2 because v1 patches were sent separately not being aranged in series. And now I'm putting all patches in one series and marking it v2 even though no changes were done in patches itself.
Alexey Brodkin (4):
drivers/net/phy: introduce phy_set_supported() include/net.h: add max_speed member in struct eth_pdata net/designware: do explicit port selection for 1Gb mode net/designware: add support of max-speed device tree property
Florian Fainelli (2):
net: phy: ensure Gigabit features are masked off if requested
net: phy: breakdown PHY_*_FEATURES defines
Sascha Hauer (1):
net: phy: genphy: Allow overwriting features
drivers/net/designware.c | 16 +++++++++- drivers/net/designware.h | 1 + drivers/net/phy/phy.c | 77 ++++++++++++++++++++++++++++++++++-------------- include/net.h | 2 ++ include/phy.h | 23 ++++++++++----- 5 files changed, 89 insertions(+), 30 deletions(-)
Signature · 1 line
2.4.3
PATCH v2 1/7 net: phy: ensure Gigabit features are masked off if requested
From: Florian Fainelli <[email protected]>
When a Gigabit PHY device is connected to a 10/100Mbits capable Ethernet MAC, the driver will restrict the phydev->supported modes to mask off Gigabit. If the Gigabit PHY comes out of reset with the Gigabit features set by default in MII_CTRL1000, it will keep advertising these feature, so by the time we call genphy_config_advert(), the condition on phydev->supported having the Gigabit features on is false, and we do not update MII_CTRL1000 with updated values, and we keep advertising Gigabit features, eventually configuring the PHY for Gigabit whilst the Ethernet MAC does not support that.
This patches fixes the problem by ensuring that the Gigabit feature bits are always cleared in MII_CTRL1000, if the PHY happens to be a Gigabit PHY, and then, if Gigabit features are supported, setting those and updating MII_CTRL1000 accordingly.
This is a copy of patch from Linux kernel, see
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5273e3a5ca94fbeb8e07d31203069220d5e682aa
---
Changes v1 -> v2:
No changes, this is just a resent in series with other related patches.
drivers/net/phy/phy.c | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-)
drivers/net/phy/phy.c +26 -17
@@ -38,11 +38,10 @@ DECLARE_GLOBAL_DATA_PTR;static int genphy_config_advert (struct phy_device *phydev) {u32 advertise; -int oldadv, adv; +int oldadv, adv, bmsr;int err, changed =0 ; -/* Only allow advertising what -* this PHY supports */ +/* Only allow advertising what this PHY supports */ phydev->advertising &= phydev->supported; advertise = phydev->advertising;
@@ -79,29 +78,39 @@ static int genphy_config_advert(struct phy_device *phydev) changed =1 ; } + bmsr =phy_read (phydev,MDIO_DEVAD_NONE ,MII_BMSR ); +if (bmsr <0 ) +return bmsr; + +/* Per 802.3-2008, Section 22.2.4.2.16 Extended status all +* 1000Mbits/sec capable PHYs shall have the BMSR_ESTATEN bit set to a +* logical 1. +*/ +if (!(bmsr &BMSR_ESTATEN )) +return changed; +/* Configure gigabit if it's supported */ -if (phydev->supported & (SUPPORTED_1000baseT_Half | - SUPPORTED_1000baseT_Full)) { - oldadv = adv =phy_read (phydev,MDIO_DEVAD_NONE ,MII_CTRL1000 ); + oldadv = adv =phy_read (phydev,MDIO_DEVAD_NONE ,MII_CTRL1000 ); + +if (adv <0 ) +return adv; -if (adv <0 ) -return adv; + adv &= ~(ADVERTISE_1000FULL |ADVERTISE_1000HALF ); - adv &= ~(ADVERTISE_1000FULL |ADVERTISE_1000HALF ); +if (phydev->supported & (SUPPORTED_1000baseT_Half | + SUPPORTED_1000baseT_Full)) {if (advertise & SUPPORTED_1000baseT_Half) adv |=ADVERTISE_1000HALF ;if (advertise & SUPPORTED_1000baseT_Full) adv |=ADVERTISE_1000FULL ; + } -if (adv != oldadv) { - err =phy_write (phydev,MDIO_DEVAD_NONE ,MII_CTRL1000 , - adv); +if (adv != oldadv) + changed =1 ; -if (err <0 ) -return err; - changed =1 ; - } - } + err =phy_write (phydev,MDIO_DEVAD_NONE ,MII_CTRL1000 , adv); +if (err <0 ) +return err;return changed; }
Signature · 1 line
2.4.3
PATCH v2 1/7 net: phy: ensure Gigabit features are masked off if requested
Quoted 17 lines · Alexey Brodkin
From: Florian Fainelli <[email protected]>
When a Gigabit PHY device is connected to a 10/100Mbits capable Ethernet MAC, the driver will restrict the
phydev->supportedmodes to mask off Gigabit. If the Gigabit PHY comes out of reset with the Gigabit features set by default inMII_CTRL1000, it will keep advertising these feature, so by the time we callgenphy_config_advert(), the condition onphydev->supportedhaving the Gigabit features on is false, and we do not updateMII_CTRL1000with updated values, and we keep advertising Gigabit features, eventually configuring the PHY for Gigabit whilst the Ethernet MAC does not support that.This patches fixes the problem by ensuring that the Gigabit feature bits are always cleared in
MII_CTRL1000, if the PHY happens to be a Gigabit PHY, and then, if Gigabit features are supported, setting those and updatingMII_CTRL1000accordingly.
Quoted 7 lines
This is a copy of patch from Linux kernel, see
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5273e3a5ca94fbeb8e07d31203069220d5e682aaSigned-off-by Florian Fainelli <[email protected]>Signed-off-by Alexey Brodkin <[email protected]>Cc Joe Hershberger <[email protected]>---
[U-Boot] net: phy: ensure Gigabit features are masked off if requested
In reply to Alexey BrodkinPATCH v2 2/7 net: phy: genphy: Allow overwriting features
In reply to Alexey BrodkinFrom: Sascha Hauer <[email protected]>
of_set_phy_supported allows overwiting hardware capabilities of a phy with values from the devicetree. This does not work with the genphy driver though because the genphys config_init function will overwrite all values adjusted by of_set_phy_supported. Fix this by initialising the genphy features in the phy_driver struct and in config_init just limit the features to the ones the hardware can actually support. The resulting features are a subset of the devicetree specified features and the hardware features.
This is a copy of the patch from Linux kernel, see
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c242a47238fa2a6a54af8a16e62b54e6e031d4bc
---
Changes v1 -> v2:
No changes, this is just a resent in series with other related patches.
drivers/net/phy/phy.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
drivers/net/phy/phy.c +5 -5
@@ -380,8 +380,6 @@ int genphy_config(struct phy_device *phydev)int val;u32 features; -/* For now, I'll claim that the generic driver supports -* all possible port types */ features = (SUPPORTED_TP |SUPPORTED_MII |SUPPORTED_AUI |SUPPORTED_FIBRE |SUPPORTED_BNC );
@@ -420,8 +418,8 @@ int genphy_config(struct phy_device *phydev) features |= SUPPORTED_1000baseX_Half; } - phydev->supported = features; - phydev->advertising = features; + phydev->supported &= features; + phydev->advertising &= features;genphy_config_aneg (phydev);
@@ -445,7 +443,9 @@ static struct phy_driver genphy_driver = { .uid = 0xffffffff, .mask = 0xffffffff, .name = "Generic PHY", - .features = 0, + .features =PHY_GBIT_FEATURES |SUPPORTED_MII | +SUPPORTED_AUI |SUPPORTED_FIBRE | + SUPPORTED_BNC, .config = genphy_config, .startup = genphy_startup, .shutdown = genphy_shutdown,
Signature · 1 line
2.4.3
PATCH v2 2/7 net: phy: genphy: Allow overwriting features
Quoted 11 lines · Alexey Brodkin
From: Sascha Hauer <[email protected]>
of_set_phy_supportedallows overwiting hardware capabilities of a phy with values from the devicetree. This does not work with the genphy driver though because the genphysconfig_initfunction will overwrite all values adjusted byof_set_phy_supported. Fix this by initialising the genphy features in thephy_driverstruct and inconfig_initjust limit the features to the ones the hardware can actually support. The resulting features are a subset of the devicetree specified features and the hardware features.
Quoted 6 lines
This is a copy of the patch from Linux kernel, see
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c242a47238fa2a6a54af8a16e62b54e6e031d4bcSigned-off-by Sascha Hauer <[email protected]>Signed-off-by Alexey Brodkin <[email protected]>Cc Joe Hershberger <[email protected]>
[U-Boot] net: phy: genphy: Allow overwriting features
In reply to Alexey BrodkinPATCH v2 3/7 net: phy: breakdown PHY_*_FEATURES defines
In reply to Alexey BrodkinFrom: Florian Fainelli <[email protected]>
Breakdown the PHY_*_FEATURES into per speed defines such that we can easily re-use them individually.
---
Changes v1 -> v2:
No changes, this is just a resent in series with other related patches.
include/phy.h | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-)
include/phy.h +15 -7
@@ -17,18 +17,26 @@#define PHY_MAX_ADDR 32 -#define PHY_BASIC_FEATURES (SUPPORTED_10baseT_Half | \ - SUPPORTED_10baseT_Full | \ - SUPPORTED_100baseT_Half | \ - SUPPORTED_100baseT_Full | \ - SUPPORTED_Autoneg | \ +#define PHY_DEFAULT_FEATURES (SUPPORTED_Autoneg | \ SUPPORTED_TP | \ SUPPORTED_MII) -#define PHY_GBIT_FEATURES (PHY_BASIC_FEATURES | \ - SUPPORTED_1000baseT_Half | \ +#define PHY_10BT_FEATURES (SUPPORTED_10baseT_Half | \ + SUPPORTED_10baseT_Full) + +#define PHY_100BT_FEATURES (SUPPORTED_100baseT_Half | \ + SUPPORTED_100baseT_Full) + +#define PHY_1000BT_FEATURES (SUPPORTED_1000baseT_Half | \ SUPPORTED_1000baseT_Full) +#define PHY_BASIC_FEATURES (PHY_10BT_FEATURES | \ + PHY_100BT_FEATURES | \ + PHY_DEFAULT_FEATURES) + +#define PHY_GBIT_FEATURES (PHY_BASIC_FEATURES | \ + PHY_1000BT_FEATURES) +#define PHY_10G_FEATURES (PHY_GBIT_FEATURES | \ SUPPORTED_10000baseT_Full)
Signature · 1 line
2.4.3
PATCH v2 3/7 net: phy: breakdown PHY_*_FEATURES defines
Quoted 8 lines · Alexey Brodkin
From: Florian Fainelli <[email protected]>
Breakdown the PHY_*_FEATURES into per speed defines such that we can easily re-use them individually.
Signed-off-by Florian Fainelli <[email protected]>Signed-off-by Alexey Brodkin <[email protected]>Cc Joe Hershberger <[email protected]>
[U-Boot] net: phy: breakdown PHY_*_FEATURES defines
In reply to Alexey BrodkinPATCH v2 4/7 drivers/net/phy: introduce phy_set_supported()
In reply to Alexey BrodkinThis new function will allow MAC drivers to override supported capabilities of the phy. It is required when MAC cannot handle all speeds supported by phy.
For example phy supports up-to 1Gb connections while MAC may only work in modes up to 100 or even 10 Mbit/sec.
---
Changes v1 -> v2:
No changes, this is just a resent in series with other related patches.
drivers/net/phy/phy.c | 24 ++++++++++++++++++++++++ include/phy.h | 1 + 2 files changed, 25 insertions(+)
drivers/net/phy/phy.c +24 -0
@@ -526,6 +526,30 @@ int phy_register(struct phy_driver *drv)return 0 ; } +int phy_set_supported (struct phy_device *phydev,u32 max_speed) +{ +/* The default values for phydev->supported are provided by the PHY +* driver "features" member, we want to reset to sane defaults first +* before supporting higher speeds. +*/ + phydev->supported &=PHY_DEFAULT_FEATURES ; + +switch (max_speed) { +default : +return -ENOTSUPP ; +case SPEED_1000 : + phydev->supported |=PHY_1000BT_FEATURES ; +/* fall through */ +case SPEED_100 : + phydev->supported |=PHY_100BT_FEATURES ; +/* fall through */ +case SPEED_10 : + phydev->supported |=PHY_10BT_FEATURES ; + } + +return 0 ; +} +static int phy_probe (struct phy_device *phydev) {int err =0 ;
include/phy.h +1 -0
@@ -234,6 +234,7 @@ int phy_startup(struct phy_device *phydev);int phy_config (struct phy_device *phydev);int phy_shutdown (struct phy_device *phydev);int phy_register (struct phy_driver *drv); +int phy_set_supported (struct phy_device *phydev,u32 max_speed);int genphy_config_aneg (struct phy_device *phydev);int genphy_restart_aneg (struct phy_device *phydev);int genphy_update_link (struct phy_device *phydev);
Signature · 1 line
2.4.3
PATCH v2 4/7 drivers/net/phy: introduce phy_set_supported()
Quoted 9 lines · Alexey Brodkin
This new function will allow MAC drivers to override supported capabilities of the phy. It is required when MAC cannot handle all speeds supported by phy.
For example phy supports up-to 1Gb connections while MAC may only work in modes up to 100 or even 10 Mbit/sec.
Signed-off-by Alexey Brodkin <[email protected]>Cc Joe Hershberger <[email protected]>
[U-Boot] drivers/net/phy: introduce phy_set_supported()
In reply to Alexey BrodkinPATCH v2 5/7 include/net.h: add max_speed member in struct eth_pdata
In reply to Alexey BrodkinThis will be used for getting max speed mode of Ethernet interface that a particular MAC supports from Device Tree blob and later being used for phy configuration.
---
Changes v1 -> v2:
No changes, this is just a resent in series with other related patches.
include/net.h | 2 ++ 1 file changed, 2 insertions(+)
include/net.h +2 -0
@@ -86,11 +86,13 @@ enum eth_state_t {* @iobase: The base address of the hardware registers * @enetaddr: The Ethernet MAC address that is loaded from EEPROM or env * @phy_interface: PHY interface to use - see PHY_INTERFACE_MODE_... +* @max_speed: Maximum speed of Ethernet connection supported by MAC */ struct eth_pdata {phys_addr_t iobase;unsigned char enetaddr[6 ];int phy_interface; +int max_speed; };enum eth_recv_flags {
Signature · 1 line
2.4.3
PATCH v2 5/7 include/net.h: add max_speed member in struct eth_pdata
Quoted 6 lines · Alexey Brodkin
This will be used for getting max speed mode of Ethernet interface that a particular MAC supports from Device Tree blob and later being used for phy configuration.
Signed-off-by Alexey Brodkin <[email protected]>Cc Joe Hershberger <[email protected]>
[U-Boot] include/net.h: add max_speed member in struct eth_pdata
In reply to Alexey BrodkinPATCH v2 6/7 net/designware: do explicit port selection for 1Gb mode
In reply to Alexey BrodkinCurrent implementation only sets "port select" bit for non-1Gb mode. That works fine if GMAC has just exited reset state but we may as well change connection mode in runtime. Then we'll need to reprogram GMAC for that new mode of operation and if previous mode was 10 or 100 Mb and new one is 1 Gb we'll need to reset port mode bit.
---
Changes v1 -> v2:
No changes, this is just a resent in series with other related patches.
drivers/net/designware.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/net/designware.c +2 -0
@@ -196,6 +196,8 @@ static void dw_adjust_link(struct eth_mac_regs *mac_p,if (phydev->speed !=1000 ) conf |=MII_PORTSELECT ; +else + conf &= ~MII_PORTSELECT ;if (phydev->speed ==100 ) conf |=FES_100 ;
Signature · 1 line
2.4.3
PATCH v2 6/7 net/designware: do explicit port selection for 1Gb mode
Quoted 11 lines · Alexey Brodkin
Current implementation only sets "port select" bit for non-1Gb mode. That works fine if GMAC has just exited reset state but we may as well change connection mode in runtime. Then we'll need to reprogram GMAC for that new mode of operation and if previous mode was 10 or 100 Mb and new one is 1 Gb we'll need to reset port mode bit.
Signed-off-by Alexey Brodkin <[email protected]>Cc Bin Meng <[email protected]>Cc Joe Hershberger <[email protected]>Cc Sonic Zhang <[email protected]>cc Simon Glass <[email protected]>
[U-Boot] net/designware: do explicit port selection for 1Gb mode
In reply to Alexey BrodkinPATCH v2 7/7 net/designware: add support of max-speed device tree property
In reply to Alexey BrodkinThis property allows to specify fastest connection mode supported by the MAC (as opposed to features of the phy).
There are situations when phy may handle faster modes than the MAC (or even it's particular implementation or even due to CPU being too slow).
This property is a standard one in Linux kernel these days and some boards do already use it in their device tree descriptions.
---
Changes v1 -> v2:
No changes, this is just a resent in series with other related patches.
drivers/net/designware.c | 14 +++++++++++++- drivers/net/designware.h | 1 + 2 files changed, 14 insertions(+), 1 deletion(-)
drivers/net/designware.c +13 -1
@@ -406,7 +406,7 @@ static int _dw_free_pkt(struct dw_eth_dev *priv)static int dw_phy_init (struct dw_eth_dev *priv,void *dev) {struct phy_device *phydev; -int mask =0xffffffff ; +int mask =0xffffffff , ret;#ifdef CONFIG_PHY_ADDR mask =1 <<CONFIG_PHY_ADDR ;
@@ -419,6 +419,11 @@ static int dw_phy_init(struct dw_eth_dev *priv, void *dev)phy_connect_dev (phydev, dev); phydev->supported &=PHY_GBIT_FEATURES ; +if (priv->max_speed) { + ret =phy_set_supported (phydev, priv->max_speed); +if (ret) +return ret; + } phydev->advertising = phydev->supported; priv->phydev = phydev;
@@ -601,6 +606,7 @@ static int designware_eth_probe(struct udevice *dev) priv->mac_regs_p = (struct eth_mac_regs *)iobase; priv->dma_regs_p = (struct eth_dma_regs *)(iobase +DW_DMA_BASE_OFFSET ); priv->interface = pdata->phy_interface; + priv->max_speed = pdata->max_speed;dw_mdio_init (dev->name, priv->mac_regs_p); priv->bus =miiphy_get_dev_by_name (dev->name);
@@ -635,6 +641,7 @@ static int designware_eth_ofdata_to_platdata(struct udevice *dev) {struct eth_pdata *pdata =dev_get_platdata (dev);const char *phy_mode; +const fdt32_t *cell; pdata->iobase =dev_get_addr (dev); pdata->phy_interface =-1 ;
@@ -646,6 +653,11 @@ static int designware_eth_ofdata_to_platdata(struct udevice *dev)return -EINVAL ; } + pdata->max_speed =0 ; + cell =fdt_getprop (gd->fdt_blob, dev->of_offset,"max-speed" ,NULL ); +if (cell) + pdata->max_speed =fdt32_to_cpu (*cell); +return 0 ; }
drivers/net/designware.h +1 -0
@@ -223,6 +223,7 @@ struct dw_eth_dev {char rxbuffs[RX_TOTAL_BUFSIZE ]__aligned(ARCH_DMA_MINALIGN) ;u32 interface; +u32 max_speed;u32 tx_currdescnum;u32 rx_currdescnum;
Signature · 1 line
2.4.3
PATCH v2 7/7 net/designware: add support of max-speed device tree property
Quoted 7 lines · Alexey Brodkin
This property allows to specify fastest connection mode supported by the MAC (as opposed to features of the phy).
There are situations when phy may handle faster modes than the MAC (or even it's particular implementation or even due to CPU being too slow).
Quoted 8 lines
This property is a standard one in Linux kernel these days and some boards do already use it in their device tree descriptions.
Signed-off-by Alexey Brodkin <[email protected]>Cc Bin Meng <[email protected]>Cc Joe Hershberger <[email protected]>Cc Sonic Zhang <[email protected]>cc Simon Glass <[email protected]>
[U-Boot] net/designware: add support of max-speed device tree property
In reply to Alexey Brodkinv2 cover net: add support for phy speed limitation
In reply to Alexey BrodkinHi Joe,
Quoted 24 lines · Alexey Brodkin
In some cases Ethernet PHY and network itself might support speeds which are not supported by Ethernet controller (MAC).
To support that kind of situation it is required to force limit PHY so it is not configured for unsupported mode or even if PHY autonegotiated too high speed it will be reconfigured for slower mode.
Note this series is v2 because v1 patches were sent separately not being aranged in series. And now I'm putting all patches in one series and marking it v2 even though no changes were done in patches itself.
Alexey Brodkin (4):
drivers/net/phy: introducephy_set_supported()include/net.h: addmax_speedmember in structeth_pdatanet/designware: do explicit port selection for 1Gb mode net/designware: add support of max-speed device tree propertyFlorian Fainelli (2):
net: phy: ensure Gigabit features are masked off if requested
net: phy: breakdown PHY_*_FEATURES definesSascha Hauer (1):
net: phy: genphy: Allow overwriting features
Quoted 6 lines
drivers/net/designware.c | 16 +++++++++- drivers/net/designware.h | 1 + drivers/net/phy/phy.c | 77 ++++++++++++++++++++++++++++++++++-------------- include/net.h | 2 ++ include/phy.h | 23 ++++++++++----- 5 files changed, 89 insertions(+), 30 deletions(-)
Please treat this as a polite reminder to review
that series sometime soon.
-Alexey
v2 cover net: add support for phy speed limitation
Hi Joe,
Quoted 34 lines · Alexey Brodkin
Hi Joe,
Quoted 24 lines · Alexey Brodkin
In some cases Ethernet PHY and network itself might support speeds which are not supported by Ethernet controller (MAC).
To support that kind of situation it is required to force limit PHY so it is not configured for unsupported mode or even if PHY autonegotiated too high speed it will be reconfigured for slower mode.
Note this series is v2 because v1 patches were sent separately not being aranged in series. And now I'm putting all patches in one series and marking it v2 even though no changes were done in patches itself.
Alexey Brodkin (4):
drivers/net/phy: introducephy_set_supported()include/net.h: addmax_speedmember in structeth_pdatanet/designware: do explicit port selection for 1Gb mode net/designware: add support of max-speed device tree propertyFlorian Fainelli (2):
net: phy: ensure Gigabit features are masked off if requested
net: phy: breakdown PHY_*_FEATURES definesSascha Hauer (1):
net: phy: genphy: Allow overwriting featuresQuoted 6 lines
drivers/net/designware.c | 16 +++++++++- drivers/net/designware.h | 1 + drivers/net/phy/phy.c | 77 ++++++++++++++++++++++++++++++++++-------------- include/net.h | 2 ++ include/phy.h | 23 ++++++++++----- 5 files changed, 89 insertions(+), 30 deletions(-)
Quoted 2 lines
Please treat this as a polite reminder to review
that series sometime soon.
Thank you for reviewing that series.
I'm wondering who's going to pick it up?
-Alexey
v2 cover net: add support for phy speed limitation
Quoted 37 lines · Alexey Brodkin
Hi Joe,
Quoted 34 lines · Alexey Brodkin
Hi Joe,
Quoted 30 lines · Alexey Brodkin
In some cases Ethernet PHY and network itself might support speeds which are not supported by Ethernet controller (MAC).
To support that kind of situation it is required to force limit PHY so it is not configured for unsupported mode or even if PHY autonegotiated too high speed it will be reconfigured for slower mode.
Note this series is v2 because v1 patches were sent separately not being aranged in series. And now I'm putting all patches in one series and marking it v2 even though no changes were done in patches itself.
Alexey Brodkin (4):
drivers/net/phy: introducephy_set_supported()include/net.h: addmax_speedmember in structeth_pdatanet/designware: do explicit port selection for 1Gb mode net/designware: add support of max-speed device tree propertyFlorian Fainelli (2):
net: phy: ensure Gigabit features are masked off if requested
net: phy: breakdown PHY_*_FEATURES definesSascha Hauer (1):
net: phy: genphy: Allow overwriting featuresdrivers/net/designware.c | 16 +++++++++- drivers/net/designware.h | 1 + drivers/net/phy/phy.c | 77 ++++++++++++++++++++++++++++++++++-------------- include/net.h | 2 ++ include/phy.h | 23 ++++++++++----- 5 files changed, 89 insertions(+), 30 deletions(-)
Quoted 5 lines
Quoted 2 lines
Please treat this as a polite reminder to review
that series sometime soon.Thank you for reviewing that series.
I'm wondering who's going to pick it up?
I'm picking it up now and build testing it.
Thanks,
-Joe
v2 cover net: add support for phy speed limitation
Hi Joe,
Quoted 39 lines · Joe Hershberger
Quoted 37 lines · Alexey Brodkin
Hi Joe,
Quoted 34 lines · Alexey Brodkin
Hi Joe,
Quoted 30 lines · Alexey Brodkin
In some cases Ethernet PHY and network itself might support speeds which are not supported by Ethernet controller (MAC).
To support that kind of situation it is required to force limit PHY so it is not configured for unsupported mode or even if PHY autonegotiated too high speed it will be reconfigured for slower mode.
Note this series is v2 because v1 patches were sent separately not being aranged in series. And now I'm putting all patches in one series and marking it v2 even though no changes were done in patches itself.
Alexey Brodkin (4):
drivers/net/phy: introducephy_set_supported()include/net.h: addmax_speedmember in structeth_pdatanet/designware: do explicit port selection for 1Gb mode net/designware: add support of max-speed device tree propertyFlorian Fainelli (2):
net: phy: ensure Gigabit features are masked off if requested
net: phy: breakdown PHY_*_FEATURES definesSascha Hauer (1):
net: phy: genphy: Allow overwriting featuresdrivers/net/designware.c | 16 +++++++++- drivers/net/designware.h | 1 + drivers/net/phy/phy.c | 77 ++++++++++++++++++++++++++++++++++-------------- include/net.h | 2 ++ include/phy.h | 23 ++++++++++----- 5 files changed, 89 insertions(+), 30 deletions(-)
Quoted 7 lines
Quoted 5 lines
Quoted 2 lines
Please treat this as a polite reminder to review
that series sometime soon.Thank you for reviewing that series.
I'm wondering who's going to pick it up?I'm picking it up now and build testing it.
Thanks for doing that!
-Alexey