diff options
author | Keith Packard <keithp@keithp.com> | 2011-09-26 17:24:14 -0400 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-09-27 14:12:26 -0400 |
commit | abd06860185fc613776adae792772e076d77caf2 (patch) | |
tree | 40dcc4465130ad9df6c0a79d3685853196dca6be /drivers/gpu | |
parent | 562396b9e46bcb34cc18f513fea1c4764d8ea06d (diff) |
drv/i915: Pull display_clock_mode out of VBT table
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>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_bios.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_bios.h | 4 |
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 7916bd97d5c1..18df595b3992 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 dcbc83986d41..eb58784faf91 100644 --- a/drivers/gpu/drm/i915/intel_bios.c +++ b/drivers/gpu/drm/i915/intel_bios.c | |||
@@ -309,11 +309,13 @@ parse_general_features(struct drm_i915_private *dev_priv, | |||
309 | dev_priv->lvds_use_ssc = general->enable_ssc; | 309 | dev_priv->lvds_use_ssc = general->enable_ssc; |
310 | dev_priv->lvds_ssc_freq = | 310 | dev_priv->lvds_ssc_freq = |
311 | intel_bios_ssc_frequency(dev, general->ssc_freq); | 311 | intel_bios_ssc_frequency(dev, general->ssc_freq); |
312 | DRM_DEBUG_KMS("BDB_GENERAL_FEATURES int_tv_support %d int_crt_support %d lvds_use_ssc %d lvds_ssc_freq %d\n", | 312 | dev_priv->display_clock_mode = general->display_clock_mode; |
313 | 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", | ||
313 | dev_priv->int_tv_support, | 314 | dev_priv->int_tv_support, |
314 | dev_priv->int_crt_support, | 315 | dev_priv->int_crt_support, |
315 | dev_priv->lvds_use_ssc, | 316 | dev_priv->lvds_use_ssc, |
316 | dev_priv->lvds_ssc_freq); | 317 | dev_priv->lvds_ssc_freq, |
318 | dev_priv->display_clock_mode); | ||
317 | } | 319 | } |
318 | } | 320 | } |
319 | 321 | ||
diff --git a/drivers/gpu/drm/i915/intel_bios.h b/drivers/gpu/drm/i915/intel_bios.h index 5f8e4edcbbb9..02b1b62415df 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; |