net: dsa: microchip: Make switch detection more informative
authorPaul Barker <pbarker@konsulko.com>
Wed, 9 Sep 2020 10:04:14 +0000 (11:04 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Sep 2020 18:26:32 +0000 (11:26 -0700)
To make switch detection more informative print the result of the
ksz9477/ksz9893 compatibility check. With debug output enabled also
print the contents of the Chip ID registers as a 40-bit hex string.

As this detection is the first communication with the switch performed
by the driver, making it easy to see any errors here will help identify
issues with SPI data corruption or reset sequencing.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/microchip/ksz9477.c

index 3cb22d1..df5ecd0 100644 (file)
@@ -1426,10 +1426,12 @@ static int ksz9477_switch_detect(struct ksz_device *dev)
        /* Default capability is gigabit capable. */
        dev->features = GBIT_SUPPORT;
 
+       dev_dbg(dev->dev, "Switch detect: ID=%08x%02x\n", id32, data8);
        id_hi = (u8)(id32 >> 16);
        id_lo = (u8)(id32 >> 8);
        if ((id_lo & 0xf) == 3) {
                /* Chip is from KSZ9893 design. */
+               dev_info(dev->dev, "Found KSZ9893\n");
                dev->features |= IS_9893;
 
                /* Chip does not support gigabit. */
@@ -1438,6 +1440,7 @@ static int ksz9477_switch_detect(struct ksz_device *dev)
                dev->mib_port_cnt = 3;
                dev->phy_port_cnt = 2;
        } else {
+               dev_info(dev->dev, "Found KSZ9477 or compatible\n");
                /* Chip uses new XMII register definitions. */
                dev->features |= NEW_XMII;