]> git.itanic.dy.fi Git - linux-stable/commitdiff
hwmon: (mr75203) enable polling for all VM channels
authorEliav Farber <farbere@amazon.com>
Thu, 8 Sep 2022 15:24:34 +0000 (15:24 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Sep 2022 08:47:19 +0000 (10:47 +0200)
[ Upstream commit e43212e0f55dc2d6b15d6c174cc0a64b25fab5e7 ]

Configure ip-polling register to enable polling for all voltage monitor
channels.
This enables reading the voltage values for all inputs other than just
input 0.

Fixes: 9d823351a337 ("hwmon: Add hardware monitoring driver for Moortec MR75203 PVT controller")
Signed-off-by: Eliav Farber <farbere@amazon.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20220908152449.35457-7-farbere@amazon.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/hwmon/mr75203.c

index 812ae40e7d74d54e083de26b2d2b79e1cda3c4ba..9259779cc2dff92e6380d488d73fb133f50356f3 100644 (file)
@@ -388,6 +388,19 @@ static int pvt_init(struct pvt_device *pvt)
                if (ret)
                        return ret;
 
+               val = (BIT(pvt->c_num) - 1) | VM_CH_INIT |
+                     IP_POLL << SDIF_ADDR_SFT | SDIF_WRN_W | SDIF_PROG;
+               ret = regmap_write(v_map, SDIF_W, val);
+               if (ret < 0)
+                       return ret;
+
+               ret = regmap_read_poll_timeout(v_map, SDIF_STAT,
+                                              val, !(val & SDIF_BUSY),
+                                              PVT_POLL_DELAY_US,
+                                              PVT_POLL_TIMEOUT_US);
+               if (ret)
+                       return ret;
+
                val = CFG1_VOL_MEAS_MODE | CFG1_PARALLEL_OUT |
                      CFG1_14_BIT | IP_CFG << SDIF_ADDR_SFT |
                      SDIF_WRN_W | SDIF_PROG;