net: phy: dp83867: Fix SGMII FIFO depth for non OF devices
authorMichael Sit Wei Hong <michael.wei.hong.sit@intel.com>
Thu, 10 Nov 2022 05:49:38 +0000 (13:49 +0800)
committerJakub Kicinski <kuba@kernel.org>
Sat, 12 Nov 2022 03:58:44 +0000 (19:58 -0800)
Current driver code will read device tree node information,
and set default values if there is no info provided.

This is not done in non-OF devices leading to SGMII fifo depths being
set to the smallest size.

This patch sets the value to the default value of the PHY as stated in the
PHY datasheet.

Fixes: 4dc08dcc9f6f ("net: phy: dp83867: introduce critical chip default init for non-of platform")
Signed-off-by: Michael Sit Wei Hong <michael.wei.hong.sit@intel.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20221110054938.925347-1-michael.wei.hong.sit@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/dp83867.c

index 417527f..7446d5c 100644 (file)
@@ -682,6 +682,13 @@ static int dp83867_of_init(struct phy_device *phydev)
         */
        dp83867->io_impedance = DP83867_IO_MUX_CFG_IO_IMPEDANCE_MIN / 2;
 
+       /* For non-OF device, the RX and TX FIFO depths are taken from
+        * default value. So, we init RX & TX FIFO depths here
+        * so that it is configured correctly later in dp83867_config_init();
+        */
+       dp83867->tx_fifo_depth = DP83867_PHYCR_FIFO_DEPTH_4_B_NIB;
+       dp83867->rx_fifo_depth = DP83867_PHYCR_FIFO_DEPTH_4_B_NIB;
+
        return 0;
 }
 #endif /* CONFIG_OF_MDIO */