ipq806x: 5:15: drop upstream patch
[openwrt/staging/chunkeey.git] / target / linux / ipq806x / patches-5.15 / 104-5-drivers-thermal-tsens-Fix-bug-in-sensor-enable-for-m.patch
diff --git a/target/linux/ipq806x/patches-5.15/104-5-drivers-thermal-tsens-Fix-bug-in-sensor-enable-for-m.patch b/target/linux/ipq806x/patches-5.15/104-5-drivers-thermal-tsens-Fix-bug-in-sensor-enable-for-m.patch
deleted file mode 100644 (file)
index 7b01a67..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-From b3e8bd33b84a6b6c863bd1733bd15b5f1483b8ab Mon Sep 17 00:00:00 2001
-From: Ansuel Smith <ansuelsmth@gmail.com>
-Date: Wed, 25 Nov 2020 17:06:55 +0100
-Subject: [PATCH 05/10] drivers: thermal: tsens: Fix bug in sensor enable for
- msm8960
-
-Device based on tsens VER_0 contains a hardware bug that results in some
-problem with sensor enablement. Sensor id 6-11 can't be enabled
-selectively and all of them must be enabled in one step.
-
-Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
-Acked-by: Thara Gopinath <thara.gopinath@linaro.org>
----
- drivers/thermal/qcom/tsens-8960.c | 23 ++++++++++++++++++++---
- 1 file changed, 20 insertions(+), 3 deletions(-)
-
---- a/drivers/thermal/qcom/tsens-8960.c
-+++ b/drivers/thermal/qcom/tsens-8960.c
-@@ -27,9 +27,9 @@
- #define EN                    BIT(0)
- #define SW_RST                        BIT(1)
- #define SENSOR0_EN            BIT(3)
-+#define MEASURE_PERIOD                BIT(18)
- #define SLP_CLK_ENA           BIT(26)
- #define SLP_CLK_ENA_8660      BIT(24)
--#define MEASURE_PERIOD                1
- #define SENSOR0_SHIFT         3
- /* INT_STATUS_ADDR bitmasks */
-@@ -126,17 +126,34 @@ static int resume_8960(struct tsens_priv
- static int enable_8960(struct tsens_priv *priv, int id)
- {
-       int ret;
--      u32 reg, mask;
-+      u32 reg, mask = BIT(id);
-       ret = regmap_read(priv->tm_map, CNTL_ADDR, &reg);
-       if (ret)
-               return ret;
--      mask = BIT(id + SENSOR0_SHIFT);
-+      /* HARDWARE BUG:
-+       * On platforms with more than 6 sensors, all remaining sensors
-+       * must be enabled together, otherwise undefined results are expected.
-+       * (Sensor 6-7 disabled, Sensor 3 disabled...) In the original driver,
-+       * all the sensors are enabled in one step hence this bug is not
-+       * triggered.
-+       */
-+      if (id > 5)
-+              mask = GENMASK(10, 6);
-+
-+      mask <<= SENSOR0_SHIFT;
-+
-+      /* Sensors already enabled. Skip. */
-+      if ((reg & mask) == mask)
-+              return 0;
-+
-       ret = regmap_write(priv->tm_map, CNTL_ADDR, reg | SW_RST);
-       if (ret)
-               return ret;
-+      reg |= MEASURE_PERIOD;
-+
-       if (priv->num_sensors > 1)
-               reg |= mask | SLP_CLK_ENA | EN;
-       else