From 4fb2533aeb3019ca18d02b4b4ccb13dd5f0d4208 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sep 15 2016 08:43:51 +0000 Subject: Add patch for bcm2837 (RPi3) HDMI EDID detection --- diff --git a/bcm2837-initial-support.patch b/bcm2837-initial-support.patch index 0521f05..0439fac 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 +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 +--- + 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 + diff --git a/kernel.spec b/kernel.spec index efbb2f7..9c2d408 100644 --- a/kernel.spec +++ b/kernel.spec @@ -2153,6 +2153,9 @@ fi # # %changelog +* Thu Sep 15 2016 Peter Robinson +- Add patch for bcm2837 (RPi3) HDMI EDID detection + * Wed Sep 14 2016 Justin M. Forbes - 4.8.0-0.rc6.git2.1 - Linux v4.8-rc6-211-g77e5bdf