drm/i915: Fix LVDS dither setting
authorLi Peng <peng.li@intel.com>
Fri, 13 Mar 2009 02:25:07 +0000 (10:25 +0800)
committerEric Anholt <eric@anholt.net>
Fri, 27 Mar 2009 22:12:18 +0000 (15:12 -0700)
Update bdb_lvds_options structure according to its defination in
2D driver. Then we can parse and set 'lvds_dither' bit correctly
on non-965 chips.

Signed-off-by: Li Peng <peng.li@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/intel_bios.h
drivers/gpu/drm/i915/intel_lvds.c

index 5ea715ace3a0030f3d3c4ddcc24d79ee45df9f9a..de621aad85b56c9789f1149d6b3806a74c7f8799 100644 (file)
@@ -162,13 +162,13 @@ struct bdb_lvds_options {
        u8 panel_type;
        u8 rsvd1;
        /* LVDS capabilities, stored in a dword */
-       u8 rsvd2:1;
-       u8 lvds_edid:1;
-       u8 pixel_dither:1;
-       u8 pfit_ratio_auto:1;
-       u8 pfit_gfx_mode_enhanced:1;
-       u8 pfit_text_mode_enhanced:1;
        u8 pfit_mode:2;
+       u8 pfit_text_mode_enhanced:1;
+       u8 pfit_gfx_mode_enhanced:1;
+       u8 pfit_ratio_auto:1;
+       u8 pixel_dither:1;
+       u8 lvds_edid:1;
+       u8 rsvd2:1;
        u8 rsvd4;
 } __attribute__((packed));
 
index 0d211af98854c18debd6af4f1ea6a246af16871d..6619f26e46a576eb643defb81673aea2c2d88d72 100644 (file)
@@ -265,7 +265,7 @@ static void intel_lvds_mode_set(struct drm_encoder *encoder,
                pfit_control = 0;
 
        if (!IS_I965G(dev)) {
-               if (dev_priv->panel_wants_dither)
+               if (dev_priv->panel_wants_dither || dev_priv->lvds_dither)
                        pfit_control |= PANEL_8TO6_DITHER_ENABLE;
        }
        else