android_kernel_oneplus_msm8998/drivers/net/phy
Florian Fainelli e9e037088f net: phy: broadcom: Fix bcm_write_exp()
[ Upstream commit 79fb218d97980d4fee9a64f4c8ff05289364ba25 ]

On newer PHYs, we need to select the expansion register to write with
setting bits [11:8] to 0xf. This was done correctly by bcm7xxx.c prior
to being migrated to generic code under bcm-phy-lib.c which
unfortunately used the older implementation from the BCM54xx days.

Fix this by creating an inline stub: bcm_write_exp_sel() which adds the
correct value (MII_BCM54XX_EXP_SEL_ER) and update both the Cygnus PHY
and BCM7xxx PHY drivers which require setting these bits.

broadcom.c is unchanged because some PHYs even use a different selector
method, so let them specify it directly (e.g: SerDes secondary selector).

Fixes: a1cba5613e ("net: phy: Add Broadcom phy library for common interfaces")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-13 16:15:29 +02:00
..
amd.c
aquantia.c net: phy: aquantia/teranetics: Convert to use module_phy_driver macro 2015-10-14 19:01:16 -07:00
at803x.c net: phy: at803x: Change error to EINVAL for invalid MAC 2017-12-25 14:22:14 +01:00
bcm-cygnus.c net: phy: broadcom: Fix bcm_write_exp() 2018-06-13 16:15:29 +02:00
bcm-phy-lib.c net: phy: bcm-phy-lib: Fix module license issue 2015-10-18 19:35:10 -07:00
bcm-phy-lib.h net: phy: broadcom: Fix bcm_write_exp() 2018-06-13 16:15:29 +02:00
bcm7xxx.c net: phy: broadcom: Fix bcm_write_exp() 2018-06-13 16:15:29 +02:00
bcm63xx.c net: phy: bcm63xx: Utilize correct config_intr function 2017-02-04 09:45:09 +01:00
bcm87xx.c
broadcom.c broadcom: fix PHY_ID_BCM5481 entry in the id table 2015-11-23 23:29:27 -05:00
cicada.c
davicom.c net: phy: davicom: add IDs for DM9161B and C variants 2015-06-11 00:24:53 -07:00
dp83640.c dp83640: Ensure against premature access to PHY registers after reset 2018-05-30 07:49:08 +02:00
dp83640_reg.h
dp83848.c net: phy: dp83848: Add TI DP83848 Ethernet PHY 2015-10-22 06:37:19 -07:00
dp83867.c net: phy: dp83867: fix irq generation 2017-08-11 09:08:56 -07:00
et1011c.c
fixed_phy.c phy: fixed-phy: properly validate phy in fixed_phy_update_state() 2015-09-24 23:04:53 -07:00
icplus.c net: phy: Utilize phy_interface_is_rgmii 2015-05-27 00:27:35 -04:00
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-10-24 06:54:12 -07:00
lxt.c
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-10-24 06:54:12 -07:00
marvell.c net: phy: fix marvell phy status reading 2017-06-29 12:48:53 +02:00
mdio-bcm-iproc.c net: phy: Initialize mdio clock at probe function 2017-06-29 12:48:53 +02:00
mdio-bcm-unimac.c net: phy: mdio-bcm-unimac: Fix module autoload for OF platform driver 2015-09-21 16:11: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 net: mdio-gpio: move platform data header 2015-10-21 19:50:44 -07:00
mdio-moxart.c
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: mdio: add missing of_node_put 2015-10-26 22:08:12 -07:00
mdio-mux.c net: phy: mdio-mux: Check return value of mdiobus_alloc() 2015-12-14 14:27:40 -05: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 mdio-sun4i: Fix a memory leak 2018-03-03 10:19:45 +01:00
mdio_bus.c net: phy: Add nested variants of mdiobus read/write 2015-10-23 05:57:43 -07:00
micrel.c net: phy: micrel: ksz9031: reconfigure autoneg after phy autoneg workaround 2018-01-02 20:33:26 +01:00
microchip.c add microchip LAN88xx phy driver 2015-09-09 17:19:14 -07:00
national.c
phy.c net: phy: avoid genphy_aneg_done() for PHYs without clause 22 support 2018-04-13 19:50:18 +02:00
phy_device.c net: phy: Fix PHY unbind crash 2017-08-11 09:08:55 -07:00
qsemi.c
realtek.c net: phy: add RealTek RTL8211DN phy id 2015-08-09 22:52:15 -07:00
smsc.c net: phy: smsc: disable energy detect mode 2015-10-21 06:41:44 -07:00
spi_ks8995.c spi_ks8995: fix "BUG: key accdaa28 not in .data!" 2017-12-16 10:33:53 +01:00
ste10Xp.c
teranetics.c net: phy: aquantia/teranetics: Convert to use module_phy_driver macro 2015-10-14 19:01:16 -07:00
vitesse.c net: phy: vitesse: add support for VSC8601 2015-11-16 14:18:40 -05:00