]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Fix DDC bus selection for multifunction SDVO
authorAdam Jackson <ajax@redhat.com>
Fri, 23 Apr 2010 20:07:40 +0000 (16:07 -0400)
committerEric Anholt <eric@anholt.net>
Mon, 10 May 2010 20:38:28 +0000 (13:38 -0700)
commit6b61882f79fbd605504da04a71a994b55679084f
treef02a4075d3f4ee79979d0e3ff532c9a910673c09
parent46d929bb2838aa3ded62d0feff6c4efd5951e610
drm/i915: Fix DDC bus selection for multifunction SDVO

Multifunction SDVO cards stopped working after 31440fc, and would report
something that looked remarkably like an ADD2 SPD ROM instead of EDID.
This appears to be because DDC bus selection was utterly horked by that
commit; controlled_output was no longer always a single bit, so
intel_sdvo_select_ddc_bus would pick bus 0, which is (unsurprisingly)
the SPD ROM bus, not a DDC bus.

So, instead of that, let's just use the DDC bus the child device table
tells us to use.  I'm guessing at the bitmask and shifting from VBIOS
dumps, but it can't possibly be worse.

cf. https://bugzilla.redhat.com/584229

Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_bios.c
drivers/gpu/drm/i915/intel_sdvo.c