diff mbox

[4/6] drm/i915: Try harder on multifunction SDVO DDC

Message ID 1308256588-8026-4-git-send-email-ajax@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Adam Jackson June 16, 2011, 8:36 p.m. UTC
The comment was wrong, bus 0 is the SPD ROM, as we discovered in
14571b4 and b108333.

Signed-off-by: Adam Jackson <ajax@redhat.com>
---
 drivers/gpu/drm/i915/intel_sdvo.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

Comments

Chris Wilson June 16, 2011, 8:58 p.m. UTC | #1
Rolf,

This looks to be the missing ingredient for your board. Can you please
give it a test?
-Chris

On Thu, 16 Jun 2011 16:36:26 -0400, Adam Jackson <ajax@redhat.com> wrote:
> The comment was wrong, bus 0 is the SPD ROM, as we discovered in
> 14571b4 and b108333.
> 
> Signed-off-by: Adam Jackson <ajax@redhat.com>
> ---
>  drivers/gpu/drm/i915/intel_sdvo.c |    7 ++-----
>  1 files changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
> index 6d3dd09..193919e 100644
> --- a/drivers/gpu/drm/i915/intel_sdvo.c
> +++ b/drivers/gpu/drm/i915/intel_sdvo.c
> @@ -1313,11 +1313,8 @@ intel_sdvo_tmds_sink_detect(struct drm_connector *connector)
>  	if (edid == NULL && intel_sdvo_multifunc_encoder(intel_sdvo)) {
>  		u8 ddc, saved_ddc = intel_sdvo->ddc_bus;
>  
> -		/*
> -		 * Don't use the 1 as the argument of DDC bus switch to get
> -		 * the EDID. It is used for SDVO SPD ROM.
> -		 */
> -		for (ddc = intel_sdvo->ddc_bus >> 1; ddc > 1; ddc >>= 1) {
> +		/* Skip bus 0, it's the SDVO SPD ROM */
> +		for (ddc = intel_sdvo->ddc_bus >> 1; ddc > 0; ddc >>= 1) {
>  			intel_sdvo->ddc_bus = ddc;
>  			edid = intel_sdvo_get_edid(connector);
>  			if (edid)
> -- 
> 1.7.5.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
index 6d3dd09..193919e 100644
--- a/drivers/gpu/drm/i915/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/intel_sdvo.c
@@ -1313,11 +1313,8 @@  intel_sdvo_tmds_sink_detect(struct drm_connector *connector)
 	if (edid == NULL && intel_sdvo_multifunc_encoder(intel_sdvo)) {
 		u8 ddc, saved_ddc = intel_sdvo->ddc_bus;
 
-		/*
-		 * Don't use the 1 as the argument of DDC bus switch to get
-		 * the EDID. It is used for SDVO SPD ROM.
-		 */
-		for (ddc = intel_sdvo->ddc_bus >> 1; ddc > 1; ddc >>= 1) {
+		/* Skip bus 0, it's the SDVO SPD ROM */
+		for (ddc = intel_sdvo->ddc_bus >> 1; ddc > 0; ddc >>= 1) {
 			intel_sdvo->ddc_bus = ddc;
 			edid = intel_sdvo_get_edid(connector);
 			if (edid)