aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch b/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch
new file mode 100644
index 0000000000..e20e0be9c3
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch
@@ -0,0 +1,37 @@
+From 8fb908fe3f80d6bbc0a7f5e7fe14ababe7f87f83 Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <maxime@cerno.tech>
+Date: Mon, 11 Jan 2021 15:23:06 +0100
+Subject: [PATCH] drm/vc4: hdmi: Don't register the CEC adapter if
+ there's no interrupts
+
+We introduced the BCM2711 support to the vc4 HDMI controller with 5.10,
+but this was lacking any of the interrupts of the CEC controller so we
+have to deal with the backward compatibility.
+
+Do so by simply ignoring the CEC setup if the DT doesn't have the
+interrupts property.
+
+Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -1784,9 +1784,15 @@ static int vc4_hdmi_cec_init(struct vc4_
+ {
+ struct cec_connector_info conn_info;
+ struct platform_device *pdev = vc4_hdmi->pdev;
++ struct device *dev = &pdev->dev;
+ u32 value;
+ int ret;
+
++ if (!of_find_property(dev->of_node, "interrupts", NULL)) {
++ dev_warn(dev, "'interrupts' DT property is missing, no CEC\n");
++ return 0;
++ }
++
+ vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops,
+ vc4_hdmi, "vc4",
+ CEC_CAP_DEFAULTS |