drv/i915: Pull display_clock_mode out of VBT table
authorKeith Packard <keithp@keithp.com>
Mon, 26 Sep 2011 21:24:14 +0000 (14:24 -0700)
committerKeith Packard <keithp@keithp.com>
Tue, 27 Sep 2011 18:12:26 +0000 (11:12 -0700)
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>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_bios.c
drivers/gpu/drm/i915/intel_bios.h

index 7916bd97d5c131314baa113d08a47d566d2a3fb4..18df595b3992bf53b35d8d87555c6c686c603aea 100644 (file)
@@ -357,6 +357,7 @@ typedef struct drm_i915_private {
        unsigned int lvds_vbt:1;
        unsigned int int_crt_support:1;
        unsigned int lvds_use_ssc:1;
+       unsigned int display_clock_mode:1;
        int lvds_ssc_freq;
        struct {
                int rate;
index dcbc83986d412f006f23527a276ebcfc19b9174c..eb58784faf91599d1055f6f7cbd01599bb809212 100644 (file)
@@ -309,11 +309,13 @@ parse_general_features(struct drm_i915_private *dev_priv,
                dev_priv->lvds_use_ssc = general->enable_ssc;
                dev_priv->lvds_ssc_freq =
                        intel_bios_ssc_frequency(dev, general->ssc_freq);
-               DRM_DEBUG_KMS("BDB_GENERAL_FEATURES int_tv_support %d int_crt_support %d lvds_use_ssc %d lvds_ssc_freq %d\n",
+               dev_priv->display_clock_mode = general->display_clock_mode;
+               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",
                              dev_priv->int_tv_support,
                              dev_priv->int_crt_support,
                              dev_priv->lvds_use_ssc,
-                             dev_priv->lvds_ssc_freq);
+                             dev_priv->lvds_ssc_freq,
+                             dev_priv->display_clock_mode);
        }
 }
 
index 5f8e4edcbbb901937a20a522f60057ea762a0a9d..02b1b62415df5759697d712c4135513707043207 100644 (file)
@@ -120,7 +120,9 @@ struct bdb_general_features {
        u8 ssc_freq:1;
        u8 enable_lfp_on_override:1;
        u8 disable_ssc_ddt:1;
-       u8 rsvd8:3; /* finish byte */
+       u8 rsvd7:1;
+       u8 display_clock_mode:1;
+       u8 rsvd8:1; /* finish byte */
 
         /* bits 3 */
        u8 disable_smooth_vision:1;