linux/drivers/net/phy
Andrew Lunn bc0f4a87fc net: phy: fixed_phy: Set phy capabilities even when link down.
What features a phy supports is masked in genphy_config_init() by
looking at the PHYs BMSR register.

If the link is down, fixed_phy_update_regs() will only set the auto-
negotiation capable bit in BMSR. Thus genphy_config_init() comes to
the conclusion the PHY can only perform 10/Half, and masks out the
higher speed features. If however the link it up, BMSR is set to
indicate the speed the PHY is capable of auto-negotiating, and
genphy_config_init() does not mask out the high speed features.

To fix this, when the link is down, have fixed_phy_update_regs() leave
the link status, auto-negotiation complete, and link partner
capabilities unset, but set all the local capabilities depending on
the fixed phy speed.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-08-31 14:48:03 -07:00
..
amd.c net: phy: replace phy_driver_register calls 2014-11-12 13:52:53 -05:00
aquantia.c net: phy: add interrupt support for aquantia phy 2015-08-23 23:14:14 -07:00
at803x.c net: phy: at803x: simplify using devm_gpiod_get_optional and its 4th argument 2015-04-01 12:44:04 -04:00
bcm7xxx.c net: phy: bcm7xxx: workaround MDIO management controller initial read 2015-06-28 20:28:20 -07:00
bcm63xx.c net: phy: replace phy_drivers_register calls 2014-11-12 13:52:53 -05:00
bcm87xx.c net: phy: replace phy_drivers_register calls 2014-11-12 13:52:53 -05:00
broadcom.c net: phy: broadcom: Add BCM54616S phy entry 2015-04-08 15:28:13 -04:00
cicada.c net: phy: replace phy_drivers_register calls 2014-11-12 13:52:53 -05:00
davicom.c net: phy: davicom: add IDs for DM9161B and C variants 2015-06-11 00:24:53 -07:00
dp83640_reg.h
dp83640.c dp83640: only report generic filters in ts_info 2015-07-17 19:59:06 -07:00
dp83867.c net: phy: dp83867: fix simple_return.cocci warnings 2015-07-27 00:59:16 -07:00
et1011c.c net: phy: replace phy_driver_register calls 2014-11-12 13:52:53 -05:00
fixed_phy.c net: phy: fixed_phy: Set phy capabilities even when link down. 2015-08-31 14:48:03 -07:00
icplus.c net: phy: Utilize phy_interface_is_rgmii 2015-05-27 00:27:35 -04:00
Kconfig net: phy: add driver for aquantia phy 2015-07-31 15:28:19 -07:00
lxt.c net: phy: replace phy_drivers_register calls 2014-11-12 13:52:53 -05:00
Makefile net: phy: add driver for aquantia phy 2015-07-31 15:28:19 -07:00
marvell.c net: phy: select copper mode when Marvel 88e1111 in SGMII 2015-08-10 13:31:18 -07:00
mdio_bus.c net/mdio: fix mdio_bus_match for c45 PHY 2015-07-21 00:16:37 -07:00
mdio-bcm-unimac.c net: phy: mdio-bcm-unimac: workaround initial read failures for integrated PHYs 2015-06-28 20:28:20 -07:00
mdio-bitbang.c net: phy: mdio-gpio: Handle phy_ignore_ta_mask 2015-05-14 13:40:55 -04:00
mdio-gpio.c mdio-gpio: Propagate mii_bus.phy_ignore_ta_mask 2015-05-14 22:35:13 -04:00
mdio-moxart.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
mdio-mux-gpio.c gpiolib: rename gpiod_set_array to gpiod_set_array_value 2015-06-01 15:10:09 +02:00
mdio-mux-mmioreg.c net: phy: constify of_device_id array 2015-03-17 15:00:23 -04:00
mdio-mux.c netdev/phy: skip disabled mdio-mux nodes 2012-08-20 02:16:00 -07:00
mdio-octeon.c net: mdio-octeon: Fix octeon_mdiobus_probe function for return values 2015-07-29 17:17:44 -07:00
mdio-sun4i.c net: sun4i: remove empty MDIO bus reset function 2014-03-28 01:38:02 -04:00
micrel.c net/phy: micrel: Center FLP timing at 16ms 2015-06-08 00:50:48 -07:00
national.c net: phy: replace phy_driver_register calls 2014-11-12 13:52:53 -05:00
phy_device.c phylib: simplify NULL checks 2015-08-28 14:15:25 -07:00
phy.c phylib: simplify NULL checks 2015-08-28 14:15:25 -07:00
qsemi.c net: phy: replace phy_driver_register calls 2014-11-12 13:52:53 -05:00
realtek.c net: phy: add RealTek RTL8211DN phy id 2015-08-09 22:52:15 -07:00
smsc.c net: phy: fix semicolon.cocci warnings 2015-08-17 15:53:06 -07:00
spi_ks8995.c net: phy: spi_ks8995: clean up ks8995_registers_read/write 2015-07-30 14:16:45 -07:00
ste10Xp.c net: phy: replace phy_drivers_register calls 2014-11-12 13:52:53 -05:00
teranetics.c net: phy: fix auto negotiation checking for teranetics 2015-07-27 01:04:30 -07:00
vitesse.c net/phy: Add Vitesse 8641 phy ID 2015-06-25 02:13:05 -07:00