[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1377704922-2824-3-git-send-email-mperttunen@nvidia.com>
Date: Wed, 28 Aug 2013 18:48:38 +0300
From: Mikko Perttunen <mperttunen@...dia.com>
To: <thierry.reding@...il.com>
CC: <tbergstrom@...dia.com>, <dri-devel@...ts.freedesktop.org>,
<linux-tegra@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
Mikko Perttunen <mperttunen@...dia.com>
Subject: [PATCH v2 2/6] host1x: hdmi: Detect whether display is connected with HDMI or DVI
Use EDID data to determine whether the display supports HDMI or just DVI.
This used to be hardcoded to be HDMI, which broke support for DVI displays
that couldn't understand the interspersed audio/other data.
If the EDID data isn't available, default to DVI, which should be a safer
choice.
Signed-off-by: Mikko Perttunen <mperttunen@...dia.com>
---
drivers/gpu/host1x/drm/hdmi.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/host1x/drm/hdmi.c b/drivers/gpu/host1x/drm/hdmi.c
index d81fac8..140339b 100644
--- a/drivers/gpu/host1x/drm/hdmi.c
+++ b/drivers/gpu/host1x/drm/hdmi.c
@@ -702,6 +702,14 @@ static int tegra_output_hdmi_enable(struct tegra_output *output)
unsigned long value;
int retries = 1000;
int err;
+ struct drm_property_blob *edid_blob = output->connector.edid_blob_ptr;
+
+ if (edid_blob && edid_blob->data &&
+ drm_detect_hdmi_monitor((struct edid *)edid_blob->data)) {
+ hdmi->dvi = false;
+ } else {
+ hdmi->dvi = true;
+ }
pclk = mode->clock * 1000;
h_sync_width = mode->hsync_end - mode->hsync_start;
--
1.8.1.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists