]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.16-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Feb 2022 18:14:15 +0000 (19:14 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Feb 2022 18:14:15 +0000 (19:14 +0100)
added patches:
revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch
revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch

queue-5.16/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch [new file with mode: 0644]
queue-5.16/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch [new file with mode: 0644]
queue-5.16/series [new file with mode: 0644]

diff --git a/queue-5.16/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch b/queue-5.16/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch
new file mode 100644 (file)
index 0000000..57fc1e3
--- /dev/null
@@ -0,0 +1,50 @@
+From b01b0c0b6d266dabd0ae5d223777aa2483c2f385 Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Sat, 5 Feb 2022 19:01:29 +0100
+Subject: [PATCH 2/2] Revert "drm/vc4: hdmi: Make sure the device is powered with CEC" again
+
+This reverts commit 9b0d360fd783c711fc1cafa51f3e03bdf8ca5518 which is
+commit 20b0dfa86bef0e80b41b0e5ac38b92f23b6f27f9 upstream.
+
+It wasn't applied correctly, something went wrong with an attempt to fix
+it up again, so just revert the whole thing to be back at a clean state.
+
+Reported-by: Guenter Roeck <linux@roeck-us.net>
+Link: https://lore.kernel.org/r/20220205171238.GA3073350@roeck-us.net
+Reported-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
+Link: https://lore.kernel.org/r/Yf5lNIJnvhP4ajam@kroah.com
+Cc: Dave Stevenson <dave.stevenson@raspberrypi.com>
+Cc: Maxime Ripard <maxime@cerno.tech>
+Cc: Michael Stapelberg <michael+drm@stapelberg.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/vc4/vc4_hdmi.c |   10 +---------
+ 1 file changed, 1 insertion(+), 9 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -1736,14 +1736,8 @@ static int vc4_hdmi_cec_adap_enable(stru
+       struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap);
+       /* clock period in microseconds */
+       const u32 usecs = 1000000 / CEC_CLOCK_FREQ;
+-      u32 val;
+-      int ret;
++      u32 val = HDMI_READ(HDMI_CEC_CNTRL_5);
+-      ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev);
+-      if (ret)
+-              return ret;
+-
+-      val = HDMI_READ(HDMI_CEC_CNTRL_5);
+       val &= ~(VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET |
+                VC4_HDMI_CEC_CNT_TO_4700_US_MASK |
+                VC4_HDMI_CEC_CNT_TO_4500_US_MASK);
+@@ -1889,8 +1883,6 @@ static int vc4_hdmi_cec_init(struct vc4_
+       if (ret < 0)
+               goto err_remove_handlers;
+-      pm_runtime_put(&vc4_hdmi->pdev->dev);
+-
+       return 0;
+ err_remove_handlers:
diff --git a/queue-5.16/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch b/queue-5.16/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch
new file mode 100644 (file)
index 0000000..55f3954
--- /dev/null
@@ -0,0 +1,74 @@
+From cd0c1efaf55de281d89947d453b3c212e5bfd8a6 Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Sat, 5 Feb 2022 19:01:20 +0100
+Subject: [PATCH 1/2] Revert "drm/vc4: hdmi: Make sure the device is powered with CEC"
+
+This reverts commit 3a63b718200be5b1997f6eb28e5e688ec58ec41b which is
+commit 20b0dfa86bef0e80b41b0e5ac38b92f23b6f27f9 upstream.
+
+It wasn't applied correctly, something went wrong with an attempt to fix
+it up again, so just revert the whole thing to be back at a clean state.
+
+Reported-by: Guenter Roeck <linux@roeck-us.net>
+Link: https://lore.kernel.org/r/20220205171238.GA3073350@roeck-us.net
+Reported-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
+Link: https://lore.kernel.org/r/Yf5lNIJnvhP4ajam@kroah.com
+Cc: Dave Stevenson <dave.stevenson@raspberrypi.com>
+Cc: Maxime Ripard <maxime@cerno.tech>
+Cc: Michael Stapelberg <michael+drm@stapelberg.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/vc4/vc4_hdmi.c |   25 ++++++++++++-------------
+ 1 file changed, 12 insertions(+), 13 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -1739,18 +1739,18 @@ static int vc4_hdmi_cec_adap_enable(stru
+       u32 val;
+       int ret;
+-      if (enable) {
+-              ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev);
+-              if (ret)
+-                      return ret;
++      ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev);
++      if (ret)
++              return ret;
+-              val = HDMI_READ(HDMI_CEC_CNTRL_5);
+-              val &= ~(VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET |
+-                       VC4_HDMI_CEC_CNT_TO_4700_US_MASK |
+-                       VC4_HDMI_CEC_CNT_TO_4500_US_MASK);
+-              val |= ((4700 / usecs) << VC4_HDMI_CEC_CNT_TO_4700_US_SHIFT) |
+-                      ((4500 / usecs) << VC4_HDMI_CEC_CNT_TO_4500_US_SHIFT);
++      val = HDMI_READ(HDMI_CEC_CNTRL_5);
++      val &= ~(VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET |
++               VC4_HDMI_CEC_CNT_TO_4700_US_MASK |
++               VC4_HDMI_CEC_CNT_TO_4500_US_MASK);
++      val |= ((4700 / usecs) << VC4_HDMI_CEC_CNT_TO_4700_US_SHIFT) |
++             ((4500 / usecs) << VC4_HDMI_CEC_CNT_TO_4500_US_SHIFT);
++      if (enable) {
+               HDMI_WRITE(HDMI_CEC_CNTRL_5, val |
+                          VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET);
+               HDMI_WRITE(HDMI_CEC_CNTRL_5, val);
+@@ -1778,10 +1778,7 @@ static int vc4_hdmi_cec_adap_enable(stru
+                       HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, VC4_HDMI_CPU_CEC);
+               HDMI_WRITE(HDMI_CEC_CNTRL_5, val |
+                          VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET);
+-
+-              pm_runtime_put(&vc4_hdmi->pdev->dev);
+       }
+-
+       return 0;
+ }
+@@ -1892,6 +1889,8 @@ static int vc4_hdmi_cec_init(struct vc4_
+       if (ret < 0)
+               goto err_remove_handlers;
++      pm_runtime_put(&vc4_hdmi->pdev->dev);
++
+       return 0;
+ err_remove_handlers:
diff --git a/queue-5.16/series b/queue-5.16/series
new file mode 100644 (file)
index 0000000..cf41096
--- /dev/null
@@ -0,0 +1,2 @@
+revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch
+revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch