aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.15/950-0572-drm-vc4-Don-t-try-disabling-SCDC-on-Pi0-3.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.15/950-0572-drm-vc4-Don-t-try-disabling-SCDC-on-Pi0-3.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0572-drm-vc4-Don-t-try-disabling-SCDC-on-Pi0-3.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.15/950-0572-drm-vc4-Don-t-try-disabling-SCDC-on-Pi0-3.patch b/target/linux/bcm27xx/patches-5.15/950-0572-drm-vc4-Don-t-try-disabling-SCDC-on-Pi0-3.patch
new file mode 100644
index 0000000000..6b7acd8e4a
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.15/950-0572-drm-vc4-Don-t-try-disabling-SCDC-on-Pi0-3.patch
@@ -0,0 +1,32 @@
+From e1ee82fdfdba0b210974cf3ccc0048c5aeb83bc6 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.com>
+Date: Tue, 16 Nov 2021 10:34:34 +0000
+Subject: [PATCH] drm/vc4: Don't try disabling SCDC on Pi0-3.
+
+The code that set the scdc_enabled flag to ensure it was
+disabled at boot time also ran on Pi0-3 where there is no
+SCDC support. This lead to a warning in vc4_hdmi_encoder_post_crtc_disable
+due to vc4_hdmi_disable_scrambling being called and trying to
+read (and write) register HDMI_SCRAMBLER_CTL which doesn't
+exist on those platforms.
+
+Only set the flag should the interface be configured to support
+more than HDMI 1.4.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+---
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -2557,7 +2557,8 @@ static int vc4_hdmi_bind(struct device *
+ * vc4_hdmi_disable_scrambling() will thus run at boot, make
+ * sure it's disabled, and avoid any inconsistency.
+ */
+- vc4_hdmi->scdc_enabled = true;
++ if (variant->max_pixel_clock > HDMI_14_MAX_TMDS_CLK)
++ vc4_hdmi->scdc_enabled = true;
+
+ ret = variant->init_resources(vc4_hdmi);
+ if (ret)