From: Stefan Chulski <stef...@marvell.com>

Add missed break in speed detection procedure and remove
nested switch.

Signed-off-by: Stefan Chulski <stef...@marvell.com>
Tested-by: sa_ip-sw-jenkins <sa_ip-sw-jenk...@marvell.com>
Reviewed-by: Kostya Porotchkin <kos...@marvell.com>
Reviewed-by: Yan Markman <ymark...@marvell.com>
Signed-off-by: Stefan Roese <s...@denx.de>
---

 drivers/net/phy/marvell.c | 31 ++++++++++---------------------
 1 file changed, 10 insertions(+), 21 deletions(-)

diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index 8311b3b4722f..36e678755ae8 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -107,16 +107,14 @@
 
 /* 88E2110 PHY defines */
 #define MIIM_88E2110_PHY_STATUS                0x8008
-#define MIIM_88E2110_PHYSTAT_SPEED     0xc000
-#define MIIM_88E2110_PHYSTAT_10GBIT    0xc000
+#define MIIM_88E2110_PHYSTAT_SPEED     0xc00c
 #define MIIM_88E2110_PHYSTAT_GBIT      0x8000
 #define MIIM_88E2110_PHYSTAT_100       0x4000
 #define MIIM_88E2110_PHYSTAT_DUPLEX    0x2000
 #define MIIM_88E2110_PHYSTAT_SPDDONE   0x0800
 #define MIIM_88E2110_PHYSTAT_LINK      0x0400
-#define MIIM_88E2110_PHYSTAT_SPEED_5G  0x000c
-#define MIIM_88E2110_PHYSTAT_5GBIT     0x0008
-#define MIIM_88E2110_PHYSTAT_2_5GBIT   0x0004
+#define MIIM_88E2110_PHYSTAT_5GBIT     0xc008
+#define MIIM_88E2110_PHYSTAT_2_5GBIT   0xc004
 
 static int m88e1xxx_phy_extread(struct phy_device *phydev, int addr,
                                int devaddr, int regnum)
@@ -657,7 +655,6 @@ static int m88e2110_config(struct phy_device *phydev)
  */
 static uint m88e2110_parse_status(struct phy_device *phydev)
 {
-       unsigned int speed;
        unsigned int mii_reg;
 
        mii_reg = phy_read(phydev, 3, MIIM_88E2110_PHY_STATUS);
@@ -694,21 +691,13 @@ static uint m88e2110_parse_status(struct phy_device 
*phydev)
        else
                phydev->duplex = DUPLEX_HALF;
 
-       speed = mii_reg & MIIM_88E2110_PHYSTAT_SPEED;
-
-       switch (speed) {
-       case MIIM_88E2110_PHYSTAT_10GBIT:
-               switch (mii_reg & MIIM_88E2110_PHYSTAT_SPEED_5G) {
-               case MIIM_88E2110_PHYSTAT_5GBIT:
-                       phydev->speed = SPEED_5000;
-                       break;
-               case MIIM_88E2110_PHYSTAT_2_5GBIT:
-                       phydev->speed = SPEED_2500;
-                       break;
-               default:
-                       puts(" Unknown speed detected\n");
-                       break;
-               }
+       switch (mii_reg & MIIM_88E2110_PHYSTAT_SPEED) {
+       case MIIM_88E2110_PHYSTAT_5GBIT:
+               phydev->speed = SPEED_5000;
+               break;
+       case MIIM_88E2110_PHYSTAT_2_5GBIT:
+               phydev->speed = SPEED_2500;
+               break;
        case MIIM_88E2110_PHYSTAT_GBIT:
                phydev->speed = SPEED_1000;
                break;
-- 
2.31.0

Reply via email to