[Openchrome-devel] drm-openchrome: drivers/gpu/drm
James Simmons
jsimmons at kemper.freedesktop.org
Sat Mar 30 11:16:58 PDT 2013
drivers/gpu/drm/via/via_hdmi.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
New commits:
commit 9ea627dcafa1a343454cc7dd4e48f1a6d3e3cec6
Author: James Simmons <jsimmons at infradead.org>
Date: Sat Mar 30 14:13:35 2013 -0400
valid_extensions was off by one which was causing edid check sum errors for HDMI monitors
diff --git a/drivers/gpu/drm/via/via_hdmi.c b/drivers/gpu/drm/via/via_hdmi.c
index 9226068..398ea53 100644
--- a/drivers/gpu/drm/via/via_hdmi.c
+++ b/drivers/gpu/drm/via/via_hdmi.c
@@ -26,8 +26,7 @@
#include "via_drv.h"
#define HDMI_AUDIO_ENABLED BIT(0)
-#define HDMI_SINK BIT(1)
-#define HDMI_COLOR_RANGE BIT(2)
+#define HDMI_COLOR_RANGE BIT(1)
/*
* Routines for controlling stuff on the HDMI port
@@ -514,7 +513,7 @@ via_hdmi_get_edid(struct drm_connector *connector)
/* parse the extensions if present */
if (block[0x7e]) {
u8 *new = krealloc(block, (block[0x7e] + 1) * EDID_LENGTH, GFP_KERNEL);
- int valid_extensions = 1;
+ int valid_extensions = 0;
if (!new)
goto out;
@@ -522,7 +521,7 @@ via_hdmi_get_edid(struct drm_connector *connector)
for (j = 1; j <= block[0x7e]; j++) {
for (i = 0; i < 4; i++) {
- new = block + valid_extensions * EDID_LENGTH;
+ new = block + (valid_extensions + 1) * EDID_LENGTH;
if (!via_ddc_read_bytes_by_hdmi(dev_priv, new))
goto out;
@@ -638,9 +637,6 @@ via_hdmi_get_modes(struct drm_connector *connector)
if (via_hdmi_audio)
con->flags |= drm_detect_monitor_audio(edid);
- if (drm_detect_hdmi_monitor(edid))
- con->flags |= HDMI_SINK;
-
if (drm_rgb_quant_range_selectable(edid))
con->flags |= HDMI_COLOR_RANGE;
More information about the Openchrome-devel
mailing list