]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Feb 2022 18:09:02 +0000 (19:09 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Feb 2022 18:09:02 +0000 (19:09 +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.10/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch [new file with mode: 0644]
queue-5.10/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch [new file with mode: 0644]
queue-5.10/series [new file with mode: 0644]

diff --git a/queue-5.10/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch b/queue-5.10/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec-again.patch
new file mode 100644 (file)
index 0000000..ac7ee18
--- /dev/null
@@ -0,0 +1,49 @@
+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 55b10b88ac8654fc2f31518aa349a2e643b37f18 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>
+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
+@@ -1399,14 +1399,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;
+-
+-      ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev);
+-      if (ret)
+-              return ret;
++      u32 val = HDMI_READ(HDMI_CEC_CNTRL_5);
+-      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);
+@@ -1531,8 +1525,6 @@ static int vc4_hdmi_cec_init(struct vc4_
+       if (ret < 0)
+               goto err_delete_cec_adap;
+-      pm_runtime_put(&vc4_hdmi->pdev->dev);
+-
+       return 0;
+ err_delete_cec_adap:
diff --git a/queue-5.10/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch b/queue-5.10/revert-drm-vc4-hdmi-make-sure-the-device-is-powered-with-cec.patch
new file mode 100644 (file)
index 0000000..7a66a1d
--- /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 ac4ba79bb02881ed714adaa89faee601a18bff6d 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>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/vc4/vc4_hdmi.c |   27 +++++++++++++--------------
+ 1 file changed, 13 insertions(+), 14 deletions(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -1402,18 +1402,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;
+-
+-              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);
++      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);
++      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);
+@@ -1439,10 +1439,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;
+ }
+@@ -1534,6 +1531,8 @@ static int vc4_hdmi_cec_init(struct vc4_
+       if (ret < 0)
+               goto err_delete_cec_adap;
++      pm_runtime_put(&vc4_hdmi->pdev->dev);
++
+       return 0;
+ err_delete_cec_adap:
diff --git a/queue-5.10/series b/queue-5.10/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