]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: phy: marvell: fix HWMON enable register for 6390
authorMarek BehĂșn <kabel@kernel.org>
Tue, 20 Apr 2021 07:54:00 +0000 (09:54 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 20 Apr 2021 23:27:53 +0000 (16:27 -0700)
Register 27_6.15:14 has the following description in 88E6393X
documentation:
  Temperature Sensor Enable
    0x0 - Sample every 1s
    0x1 - Sense rate decided by bits 10:8 of this register
    0x2 - Use 26_6.5 (One shot Temperature Sample) to enable
    0x3 - Disable

This is compatible with how the 6390 code uses this register currently,
but the 6390 code handles it as two 1-bit registers (somewhat), instead
of one register with 4 possible values.

(A newer version of the 6390 documentation removed temperature sensor
 section completely. In an older version, the above mentioned register
 is reserved, although it is R/W. Since the code works, I think we can
 assume that it is correct.)

Rename this register and define all 4 values according to 6393X
documentation.

Signed-off-by: Marek BehĂșn <kabel@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/marvell.c

index 70cfcfcdd8f298a549e71905b54332df4a7fde73..9529aaa3bed326472dacab946792328d72fe218c 100644 (file)
 #define MII_88E1540_COPPER_CTRL3_FAST_LINK_DOWN                BIT(9)
 
 #define MII_88E6390_MISC_TEST          0x1b
-#define MII_88E6390_MISC_TEST_SAMPLE_1S                0
-#define MII_88E6390_MISC_TEST_SAMPLE_10MS      BIT(14)
-#define MII_88E6390_MISC_TEST_SAMPLE_DISABLE   BIT(15)
-#define MII_88E6390_MISC_TEST_SAMPLE_ENABLE    0
-#define MII_88E6390_MISC_TEST_SAMPLE_MASK      (0x3 << 14)
+#define MII_88E6390_MISC_TEST_TEMP_SENSOR_ENABLE_SAMPLE_1S     (0x0 << 14)
+#define MII_88E6390_MISC_TEST_TEMP_SENSOR_ENABLE               (0x1 << 14)
+#define MII_88E6390_MISC_TEST_TEMP_SENSOR_ENABLE_ONESHOT       (0x2 << 14)
+#define MII_88E6390_MISC_TEST_TEMP_SENSOR_DISABLE              (0x3 << 14)
+#define MII_88E6390_MISC_TEST_TEMP_SENSOR_MASK                 (0x3 << 14)
 
 #define MII_88E6390_TEMP_SENSOR                0x1c
 #define MII_88E6390_TEMP_SENSOR_MASK   0xff
@@ -2352,9 +2352,8 @@ static int m88e6390_get_temp(struct phy_device *phydev, long *temp)
        if (ret < 0)
                goto error;
 
-       ret = ret & ~MII_88E6390_MISC_TEST_SAMPLE_MASK;
-       ret |= MII_88E6390_MISC_TEST_SAMPLE_ENABLE |
-               MII_88E6390_MISC_TEST_SAMPLE_1S;
+       ret = ret & ~MII_88E6390_MISC_TEST_TEMP_SENSOR_MASK;
+       ret |= MII_88E6390_MISC_TEST_TEMP_SENSOR_ENABLE_SAMPLE_1S;
 
        ret = __phy_write(phydev, MII_88E6390_MISC_TEST, ret);
        if (ret < 0)
@@ -2381,8 +2380,8 @@ static int m88e6390_get_temp(struct phy_device *phydev, long *temp)
        if (ret < 0)
                goto error;
 
-       ret = ret & ~MII_88E6390_MISC_TEST_SAMPLE_MASK;
-       ret |= MII_88E6390_MISC_TEST_SAMPLE_DISABLE;
+       ret = ret & ~MII_88E6390_MISC_TEST_TEMP_SENSOR_MASK;
+       ret |= MII_88E6390_MISC_TEST_TEMP_SENSOR_DISABLE;
 
        ret = __phy_write(phydev, MII_88E6390_MISC_TEST, ret);