]> git.baikalelectronics.ru Git - kernel.git/commit
net: dsa: b53: Fix IMP port setup on BCM5301x
authorRafał Miłecki <rafal@milecki.pl>
Sun, 5 Sep 2021 17:23:28 +0000 (19:23 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 5 Sep 2021 18:02:38 +0000 (19:02 +0100)
commit9a8c8ec1e03c2dbdb5ae34263bc97ad26686e300
treeb418d42eb6054fc138e8568ca04bd0f9c5da698d
parent87815943182783573d4df4ad068e0f967e183830
net: dsa: b53: Fix IMP port setup on BCM5301x

Broadcom's b53 switches have one IMP (Inband Management Port) that needs
to be programmed using its own designed register. IMP port may be
different than CPU port - especially on devices with multiple CPU ports.

For that reason it's required to explicitly note IMP port index and
check for it when choosing a register to use.

This commit fixes BCM5301x support. Those switches use CPU port 5 while
their IMP port is 8. Before this patch b53 was trying to program port 5
with B53_PORT_OVERRIDE_CTRL instead of B53_GMII_PORT_OVERRIDE_CTRL(5).

It may be possible to also replace "cpu_port" usages with
dsa_is_cpu_port() but that is out of the scope of thix BCM5301x fix.

Fixes: 89fb23a74505 ("net: dsa: b53: Add support for Broadcom RoboSwitch")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/b53/b53_common.c
drivers/net/dsa/b53/b53_priv.h