aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2011-09-26 17:24:14 -0400
committerHerton Ronaldo Krzesinski <herton.krzesinski@canonical.com>2011-12-12 08:07:01 -0500
commit066912131a2a1241a143beb68d792cd26b128078 (patch)
treeab7909064dbe4ad56e11daf6c3e0383c961b708b /drivers/gpu/drm
parentab162933f2f6badaa43ca71bc4509799a0f9e41a (diff)
drv/i915: Pull display_clock_mode out of VBT table
BugLink: http://bugs.launchpad.net/bugs/614238 This tells the driver whether a CK505 clock source is available on pre-PCH hardware. If so, it should be used as the non-SSC source, leaving the internal clock for use as the SSC source. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Chris Wison <chris@chris-wilson.co.uk> (cherry picked from commit abd06860185fc613776adae792772e076d77caf2) Signed-off-by: Tim Gardner <tim.gardner@canonical.com> Acked-by: Herton Krzesinski <herton.krzesinski@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h1
-rw-r--r--drivers/gpu/drm/i915/intel_bios.c6
-rw-r--r--drivers/gpu/drm/i915/intel_bios.h4
3 files changed, 8 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 4fd4350d04b..5c2d4c74b76 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -357,6 +357,7 @@ typedef struct drm_i915_private {
357 unsigned int lvds_vbt:1; 357 unsigned int lvds_vbt:1;
358 unsigned int int_crt_support:1; 358 unsigned int int_crt_support:1;
359 unsigned int lvds_use_ssc:1; 359 unsigned int lvds_use_ssc:1;
360 unsigned int display_clock_mode:1;
360 int lvds_ssc_freq; 361 int lvds_ssc_freq;
361 struct { 362 struct {
362 int rate; 363 int rate;
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index bdac1a8cbae..70361fcee41 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -285,11 +285,13 @@ parse_general_features(struct drm_i915_private *dev_priv,
285 dev_priv->lvds_use_ssc = general->enable_ssc; 285 dev_priv->lvds_use_ssc = general->enable_ssc;
286 dev_priv->lvds_ssc_freq = 286 dev_priv->lvds_ssc_freq =
287 intel_bios_ssc_frequency(dev, general->ssc_freq); 287 intel_bios_ssc_frequency(dev, general->ssc_freq);
288 DRM_DEBUG_KMS("BDB_GENERAL_FEATURES int_tv_support %d int_crt_support %d lvds_use_ssc %d lvds_ssc_freq %d\n", 288 dev_priv->display_clock_mode = general->display_clock_mode;
289 DRM_DEBUG_KMS("BDB_GENERAL_FEATURES int_tv_support %d int_crt_support %d lvds_use_ssc %d lvds_ssc_freq %d display_clock_mode %d\n",
289 dev_priv->int_tv_support, 290 dev_priv->int_tv_support,
290 dev_priv->int_crt_support, 291 dev_priv->int_crt_support,
291 dev_priv->lvds_use_ssc, 292 dev_priv->lvds_use_ssc,
292 dev_priv->lvds_ssc_freq); 293 dev_priv->lvds_ssc_freq,
294 dev_priv->display_clock_mode);
293 } 295 }
294} 296}
295 297
diff --git a/drivers/gpu/drm/i915/intel_bios.h b/drivers/gpu/drm/i915/intel_bios.h
index 5f8e4edcbbb..02b1b62415d 100644
--- a/drivers/gpu/drm/i915/intel_bios.h
+++ b/drivers/gpu/drm/i915/intel_bios.h
@@ -120,7 +120,9 @@ struct bdb_general_features {
120 u8 ssc_freq:1; 120 u8 ssc_freq:1;
121 u8 enable_lfp_on_override:1; 121 u8 enable_lfp_on_override:1;
122 u8 disable_ssc_ddt:1; 122 u8 disable_ssc_ddt:1;
123 u8 rsvd8:3; /* finish byte */ 123 u8 rsvd7:1;
124 u8 display_clock_mode:1;
125 u8 rsvd8:1; /* finish byte */
124 126
125 /* bits 3 */ 127 /* bits 3 */
126 u8 disable_smooth_vision:1; 128 u8 disable_smooth_vision:1;