gma500: SDVO DDC bus guessing isn't working so hardcode it instead
authorPatrik Jakobsson <patrik.r.jakobsson@gmail.com>
Mon, 19 Dec 2011 21:41:45 +0000 (21:41 +0000)
committerDave Airlie <airlied@redhat.com>
Tue, 20 Dec 2011 10:23:23 +0000 (10:23 +0000)
We currently don't have support for parsing SDVO mappings from BIOS so we're
guessing the bus switch parameter. This isn't working so hardcode it to a
configuration known to work on most poulsbo hardware.

Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/gma500/psb_intel_sdvo.c

index 20d5366..4882b29 100644 (file)
@@ -1876,6 +1876,13 @@ static const struct drm_encoder_funcs psb_intel_sdvo_enc_funcs = {
 static void
 psb_intel_sdvo_guess_ddc_bus(struct psb_intel_sdvo *sdvo)
 {
+       /* FIXME: At the moment, ddc_bus = 2 is the only thing that works.
+        * We need to figure out if this is true for all available poulsbo
+        * hardware, or if we need to fiddle with the guessing code above.
+        * The problem might go away if we can parse sdvo mappings from bios */
+       sdvo->ddc_bus = 2;
+
+#if 0
        uint16_t mask = 0;
        unsigned int num_bits;
 
@@ -1907,6 +1914,7 @@ psb_intel_sdvo_guess_ddc_bus(struct psb_intel_sdvo *sdvo)
 
        /* Corresponds to SDVO_CONTROL_BUS_DDCx */
        sdvo->ddc_bus = 1 << num_bits;
+#endif
 }
 
 /**