summaryrefslogtreecommitdiff
path: root/patches/drm-intel-lvds.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/drm-intel-lvds.patch')
-rw-r--r--patches/drm-intel-lvds.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/patches/drm-intel-lvds.patch b/patches/drm-intel-lvds.patch
new file mode 100644
index 0000000..8960e7f
--- /dev/null
+++ b/patches/drm-intel-lvds.patch
@@ -0,0 +1,50 @@
+commit 2b5cde2b272f56ec67b56a2af8c067d42eff7328
+Author: Li Peng <peng.li@intel.com>
+Date: Fri Mar 13 10:25:07 2009 +0800
+
+ drm/i915: Fix LVDS dither setting
+
+ 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>
+
+diff --git a/drivers/gpu/drm/i915/intel_bios.h b/drivers/gpu/drm/i915/intel_bios.h
+index 5ea715a..de621aa 100644
+--- a/drivers/gpu/drm/i915/intel_bios.h
++++ b/drivers/gpu/drm/i915/intel_bios.h
+@@ -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));
+
+diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
+index 0d211af..6619f26 100644
+--- a/drivers/gpu/drm/i915/intel_lvds.c
++++ b/drivers/gpu/drm/i915/intel_lvds.c
+@@ -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