drm/i915/crt: Check for a analog monitor in case of DVI-I
commit74f14ea690ddd37acebfd20c1b725c16d27c89c3
authorDavid Müller <d.mueller@elsoft.ch>
Thu, 6 Jan 2011 12:29:32 +0000 (6 12:29 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 17 Feb 2011 23:15:17 +0000 (17 15:15 -0800)
treea1317c2dc1d7f360a412c7e0613ada820b289842
parentd3130c162d2511f1d649b3f415b23b0df92b1c25
drm/i915/crt: Check for a analog monitor in case of DVI-I

commit f5afcd3dd0dca7fe869311c51da54d5a889191ba upstream.

Since Linux 2.6.36 the digital output on my system (855GME + DVI-I) is
not working any longer. The analog output is always activated
regardless of the type of monitor attached.

The culprit seems to be intel_crt_detect_ddc(), which returns true as
soon as an ACK from the EDID device is received. Obviously this
approach does not work with DVI-I where the analog and digital outputs
share a common DDC bus.

In a similar manner to the shared DDC wire, ala the "Mac Mini Hack", we
need an additional check to make sure that there really is an analog
device attached to the DDC.

Signed-off-by: David Müller <d.mueller@elsoft.ch>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/gpu/drm/i915/intel_crt.c