summaryrefslogtreecommitdiff
path: root/drivers/net/dsa/mv88e6xxx/chip.c
diff options
context:
space:
mode:
authorKlaus Kudielka <klaus.kudielka@gmail.com>2023-03-15 17:38:46 +0100
committerJakub Kicinski <kuba@kernel.org>2023-03-17 22:31:42 -0700
commit2c7e46edbd0308c12b8232ff4270d0894cbdce44 (patch)
treebec9ad26f2fc2bd9c171515fdc64c24135ddb414 /drivers/net/dsa/mv88e6xxx/chip.c
parent2cb0658d4f88608a19b3833789ac0ac8a4214f0b (diff)
net: dsa: mv88e6xxx: mask apparently non-existing phys during probing
To avoid excessive mdio bus transactions during probing, mask all phy addresses that do not exist (there is a 1:1 mapping between switch port number and phy address). Suggested-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Vladimir Oltean <olteanv@gmail.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/dsa/mv88e6xxx/chip.c')
-rw-r--r--drivers/net/dsa/mv88e6xxx/chip.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
index de25f755725e..260e38c5c6e6 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -3805,6 +3805,7 @@ static int mv88e6xxx_mdio_register(struct mv88e6xxx_chip *chip,
bus->read_c45 = mv88e6xxx_mdio_read_c45;
bus->write_c45 = mv88e6xxx_mdio_write_c45;
bus->parent = chip->dev;
+ bus->phy_mask = GENMASK(31, mv88e6xxx_num_ports(chip));
if (!external) {
err = mv88e6xxx_g2_irq_mdio_setup(chip, bus);