linux/drivers/net/dsa/mv88e6xxx
Baruch Siach f7a48b68ab net: dsa: mv88e6xxx: force cmode write on 6141/6341
mv88e6xxx_port_set_cmode() relies on cmode stored in struct
mv88e6xxx_port to skip cmode update when the requested value matches the
cached value. It turns out that mv88e6xxx_port_hidden_write() might
change the port cmode setting as a side effect, so we can't rely on the
cached value to determine that cmode update in not necessary.

Force cmode update in mv88e6341_port_set_cmode(), to make
serdes configuration work again. Other mv88e6xxx_port_set_cmode()
callers keep the current behaviour.

This fixes serdes configuration of the 6141 switch on SolidRun Clearfog
GT-8K.

Fixes: 7a3007d22e ("net: dsa: mv88e6xxx: fully support SERDES on Topaz family")
Reported-by: Denis Odintsov <d.odintsov@traviangames.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-01-02 15:30:48 -08:00
..
chip.c net: dsa: mv88e6xxx: fix broken if statement because of a stray semicolon 2019-11-12 11:29:20 -08:00
chip.h net: dsa: mv88e6xxx: Add support for port mirroring 2019-11-11 12:51:03 -08:00
global1.c net: dsa: mv88e6xxx: Add support for port mirroring 2019-11-11 12:51:03 -08:00
global1.h net: dsa: mv88e6xxx: Split monitor port configuration 2019-11-11 12:51:03 -08:00
global1_atu.c net: dsa: mv88e6xxx: global1_atu: Add helper for get next 2019-11-05 18:09:45 -08:00
global1_vtu.c net: dsa: mv88e6xxx: introduce wait bit routine 2019-08-11 21:27:15 -07:00
global2.c net: dsa: mv88e6xxx: global1_atu: Add helper for get next 2019-11-05 18:09:45 -08:00
global2.h net: dsa: mv8e6xxx: Fix stub function parameters 2019-11-06 21:42:53 -08:00
global2_avb.c net: dsa: mv88e6xxx: wait for AVB Busy bit 2019-08-11 21:27:15 -07:00
global2_scratch.c net: dsa: mv88e6xxx: remove wait and update routines 2019-08-11 21:27:15 -07:00
hwtstamp.c net: dsa: mv88e6xxx: introduce helpers for handling chip->reg_lock 2019-06-23 11:11:11 -07:00
hwtstamp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile net: dsa: mv88e6xxx: update code operating on hidden registers 2019-08-27 21:42:16 -07:00
phy.c net: dsa: mv88e6xxx: introduce helpers for handling chip->reg_lock 2019-06-23 11:11:11 -07:00
phy.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
port.c net: dsa: mv88e6xxx: force cmode write on 6141/6341 2020-01-02 15:30:48 -08:00
port.h net: dsa: mv88e6xxx: Add support for port mirroring 2019-11-11 12:51:03 -08:00
port_hidden.c net: dsa: mv88e6xxx: update code operating on hidden registers 2019-08-27 21:42:16 -07:00
ptp.c mv88e6xxx: Reject requests to enable time stamping on both edges. 2019-11-15 12:48:32 -08:00
ptp.h net: dsa: mv88e6xxx: add PTP support for MV88E6250 family 2019-08-02 17:58:53 -07:00
serdes.c net: dsa: mv88e6xxx: centralize SERDES IRQ handling 2019-09-01 12:16:38 -07:00
serdes.h net: dsa: mv88e6xxx: centralize SERDES IRQ handling 2019-09-01 12:16:38 -07:00
smi.c net: dsa: mv88e6xxx: add delay in direct SMI wait 2019-08-11 21:27:15 -07:00
smi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00