linux/drivers/net/phy
Russell King 6623c0fba1 net: phy: marvell: avoid pause mode on SGMII-to-Copper for 88e151x
Observed on the 88e1512 in SGMII-to-Copper mode, negotiating pause
is unreliable.  While the pause bits can be set in the advertisment
register, they clear shortly after negotiation with a link partner
commences irrespective of the cause of the negotiation.

While these bits may be correctly conveyed to the link partner on the
first negotiation, a subsequent negotiation (eg, due to negotiation
restart by the link partner, or reconnection of the cable) will result
in the link partner seeing these bits as zero, while the kernel
believes that it has advertised pause modes.

This leads to the local kernel evaluating (eg) symmetric pause mode,
while the remote end evaluates that we have no pause mode capability.

Since we can't guarantee the advertisment, disable pause mode support
with this PHY when used in SGMII-to-Copper mode.

The 88e1510 in RGMII-to-Copper mode appears to behave correctly.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-12-18 15:04:44 -05:00
..
amd.c
aquantia.c
at803x.c net: phy: fix resume handling 2017-12-13 15:00:10 -05:00
bcm7xxx.c net: phy: bcm7xxx: make array bcm7xxx_suspend_cfg static, reduces object code size 2017-09-01 18:30:50 -07:00
bcm63xx.c
bcm87xx.c
bcm-cygnus.c
bcm-phy-lib.c
bcm-phy-lib.h
broadcom.c net: phy: broadcom: support new device flag for setting master mode 2017-10-12 22:59:38 -07:00
cicada.c
cortina.c net: phy: cortina: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE 2017-11-24 01:23:49 +09:00
davicom.c
dp83640_reg.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dp83640.c dp83640: don't hold spinlock while calling netif_rx_ni 2017-08-30 14:50:11 -07:00
dp83822.c net: phy: DP83822 initial driver submission 2017-10-11 14:14:32 -07:00
dp83848.c net: phy: DP83822 initial driver submission 2017-10-11 14:14:32 -07:00
dp83867.c net: phy: dp83867: add workaround for incorrect RX_CTRL pin strap 2017-07-05 09:23:53 +01:00
et1011c.c
fixed_phy.c
icplus.c
intel-xway.c
Kconfig net: phy: leds: Add support for "link" trigger 2017-11-08 10:24:14 +09:00
lxt.c net: phy: lxt: Export link partner advertising 2017-06-20 13:41:24 -04:00
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
marvell10g.c net: phy: marvell10g: fix the PHY id mask 2017-11-28 10:30:38 -05:00
marvell.c net: phy: marvell: avoid pause mode on SGMII-to-Copper for 88e151x 2017-12-18 15:04:44 -05:00
mdio_bus.c of_mdio / mdiobus: ensure mdio devices have fwnode correctly populated 2017-12-13 15:01:47 -05:00
mdio_device.c
mdio-bcm-iproc.c
mdio-bcm-unimac.c net: phy: mdio-bcm-unimac: Use correct I/O accessors 2017-08-29 14:42:17 -07:00
mdio-bitbang.c
mdio-boardinfo.c
mdio-boardinfo.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mdio-cavium.c
mdio-cavium.h
mdio-gpio.c net: mdio-gpio: make mdiobb_ops const 2017-08-22 14:22:18 -07:00
mdio-hisi-femac.c
mdio-i2c.c net: phy: add I2C mdio bus 2017-08-06 20:55:28 -07:00
mdio-i2c.h net: phy: add I2C mdio bus 2017-08-06 20:55:28 -07:00
mdio-moxart.c
mdio-mux-bcm-iproc.c net: mdio-mux: add mdio_mux parameter to mdio_mux_init() 2017-09-05 14:42:52 -07:00
mdio-mux-gpio.c net: mdio-mux: add mdio_mux parameter to mdio_mux_init() 2017-09-05 14:42:52 -07:00
mdio-mux-mmioreg.c net: mdio-mux: add mdio_mux parameter to mdio_mux_init() 2017-09-05 14:42:52 -07:00
mdio-mux.c net: mdio-mux: add mdio_mux parameter to mdio_mux_init() 2017-09-05 14:42:52 -07:00
mdio-octeon.c
mdio-sun4i.c
mdio-thunder.c
mdio-xgene.c
mdio-xgene.h
meson-gxl.c net: phy: meson-gxl: make function meson_gxl_read_status static 2017-12-13 15:04:40 -05:00
micrel.c net: phy-micrel: check return code in flp center function 2017-12-01 15:17:06 -05:00
microchip.c
mscc.c
national.c
phy_device.c net: phy: fix resume handling 2017-12-13 15:00:10 -05:00
phy_led_triggers.c net: phy: leds: Add support for "link" trigger 2017-11-08 10:24:14 +09:00
phy-c45.c net: phy: split out 10G genphy support 2017-06-06 21:14:13 -04:00
phy-core.c net: phy: add 1000Base-X to phy settings table 2017-08-06 20:55:28 -07:00
phy.c net: phy: fix resume handling 2017-12-13 15:00:10 -05:00
phylink.c phylink: ensure we take the link down when phylink_stop() is called 2017-12-01 15:18:42 -05:00
qsemi.c
realtek.c net: phy: realtek: fix RTL8211F interrupt mode 2017-11-14 21:33:50 +09:00
rockchip.c net: phy: Add rockchip PHY driver support 2017-08-11 14:28:58 -07:00
sfp-bus.c net: phy: Cosmetic fixes to phylink/sfp/sfp-bus.c 2017-11-01 21:15:09 +09:00
sfp.c sfp: warn about modules requiring address change sequence 2017-12-01 15:18:42 -05:00
sfp.h sfp: add sfp-bus to bridge between network devices and sfp cages 2017-08-06 20:55:29 -07:00
smsc.c net: phy: smsc: fix buffer overflow in memcpy 2017-06-22 11:12:31 -04:00
spi_ks8995.c
ste10Xp.c
swphy.c
swphy.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
teranetics.c
uPD60620.c Add a driver for Renesas uPD60620 and uPD60620A PHYs 2017-10-09 20:49:36 -07:00
vitesse.c
xilinx_gmii2rgmii.c net: phy: Fix mask value write on gmii2rgmii converter speed register 2017-09-18 16:33:18 -07:00