diff options
author | Marek Vasut <marex@denx.de> | 2021-01-20 01:10:45 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2021-01-20 20:50:49 -0800 |
commit | c369d7fc8fddc5e5af4aea73dd403681a74c1a86 (patch) | |
tree | 96a9891f21eae766a943703aa207179dd73c3c75 /net/lapb/lapb_timer.c | |
parent | 75439bc439e0f02903b48efce84876ca92da97bd (diff) | |
download | linux-c369d7fc8fddc5e5af4aea73dd403681a74c1a86.tar.gz linux-c369d7fc8fddc5e5af4aea73dd403681a74c1a86.tar.bz2 linux-c369d7fc8fddc5e5af4aea73dd403681a74c1a86.zip |
net: dsa: microchip: ksz8795: Fix KSZ8794 port map again
The KSZ8795 switch has 4 external ports {0,1,2,3} and 1 CPU port {4}, so
does the KSZ8765. The KSZ8794 seems to be repackaged KSZ8795 with different
ID and port 3 not routed out, however the port 3 registers are present in
the silicon, so the KSZ8794 switch has 3 external ports {0,1,2} and 1 CPU
port {4}. Currently the driver always uses the last port as CPU port, on
KSZ8795/KSZ8765 that is port 4 and that is OK, but on KSZ8794 that is port
3 and that is not OK, as it must also be port 4.
This patch adjusts the driver such that it always registers a switch with
5 ports total (4 external ports, 1 CPU port), always sets the CPU port to
switch port 4, and then configures the external port mask according to
the switch model -- 3 ports for KSZ8794 and 4 for KSZ8795/KSZ8765.
Fixes: 68a1b676db52 ("net: dsa: microchip: ksz8795: remove superfluous port_cnt assignment")
Fixes: 4ce2a984abd8 ("net: dsa: microchip: ksz8795: use phy_port_cnt where possible")
Fixes: 241ed719bc98 ("net: dsa: microchip: ksz8795: use port_cnt instead of TOTOAL_PORT_NUM")
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Michael Grzeschik <m.grzeschik@pengutronix.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20210120001045.488506-1-marex@denx.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/lapb/lapb_timer.c')
0 files changed, 0 insertions, 0 deletions