summaryrefslogtreecommitdiffstats
path: root/bcm2837-initial-support.patch
diff options
context:
space:
mode:
authorPeter Robinson <pbrobinson@gmail.com>2016-09-15 09:43:51 +0100
committerPeter Robinson <pbrobinson@gmail.com>2016-09-15 09:43:51 +0100
commit4fb2533aeb3019ca18d02b4b4ccb13dd5f0d4208 (patch)
tree169fe7cbb49d2817b51fab1b015159406c1548ec /bcm2837-initial-support.patch
parent5c4f69525affb6809bedbf679fc3bf86b595d4fa (diff)
downloadkernel-4fb2533aeb3019ca18d02b4b4ccb13dd5f0d4208.tar.gz
kernel-4fb2533aeb3019ca18d02b4b4ccb13dd5f0d4208.tar.xz
kernel-4fb2533aeb3019ca18d02b4b4ccb13dd5f0d4208.zip
Add patch for bcm2837 (RPi3) HDMI EDID detection
Diffstat (limited to 'bcm2837-initial-support.patch')
-rw-r--r--bcm2837-initial-support.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/bcm2837-initial-support.patch b/bcm2837-initial-support.patch
index 0521f05f5..0439fac7b 100644
--- a/bcm2837-initial-support.patch
+++ b/bcm2837-initial-support.patch
@@ -152,3 +152,40 @@ index 0000000..8216bbb
--
2.9.3
+From accfa15f3aef0dfca46d0eee02c1846c9b230fd5 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 14 Sep 2016 19:21:29 +0100
+Subject: [PATCH] drm/vc4: Fall back to using an EDID probe in the absence of a
+ GPIO.
+
+On Pi0/1/2, we use an external GPIO line for hotplug detection, since
+the HDMI_HOTPLUG register isn't connected to anything. However, with
+the Pi3 the HPD GPIO line has moved off to a GPIO expander that will
+be tricky to get to (the firmware is constantly polling the expander
+using i2c0, so we'll need to coordinate with it).
+
+As a stop-gap, if we don't have a GPIO line, use an EDID probe to
+detect connection. Fixes HDMI display on the pi3.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
+index 4452f36..5adc0c7 100644
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -174,6 +174,9 @@ vc4_hdmi_connector_detect(struct drm_connector *connector, bool force)
+ return connector_status_disconnected;
+ }
+
++ if (drm_probe_ddc(vc4->hdmi->ddc))
++ return connector_status_connected;
++
+ if (HDMI_READ(VC4_HDMI_HOTPLUG) & VC4_HDMI_HOTPLUG_CONNECTED)
+ return connector_status_connected;
+ else
+--
+2.9.3
+