return;
 }
 
+static int intel_bios_ssc_frequency(struct drm_device *dev,
+                                   bool alternate)
+{
+       switch (INTEL_INFO(dev)->gen) {
+       case 2:
+               return alternate ? 66 : 48;
+       case 3:
+       case 4:
+               return alternate ? 100 : 96;
+       default:
+               return alternate ? 100 : 120;
+       }
+}
+
 static void
 parse_general_features(struct drm_i915_private *dev_priv,
                       struct bdb_header *bdb)
                dev_priv->int_tv_support = general->int_tv_support;
                dev_priv->int_crt_support = general->int_crt_support;
                dev_priv->lvds_use_ssc = general->enable_ssc;
-
-               if (IS_I85X(dev))
-                       dev_priv->lvds_ssc_freq = general->ssc_freq ? 66 : 48;
-               else if (IS_GEN5(dev) || IS_GEN6(dev))
-                       dev_priv->lvds_ssc_freq = general->ssc_freq ? 100 : 120;
-               else
-                       dev_priv->lvds_ssc_freq = general->ssc_freq ? 100 : 96;
+               dev_priv->lvds_ssc_freq =
+                       intel_bios_ssc_frequency(dev, general->ssc_freq);
        }
 }
 
 static void
 init_vbt_defaults(struct drm_i915_private *dev_priv)
 {
+       struct drm_device *dev = dev_priv->dev;
+
        dev_priv->crt_ddc_pin = GMBUS_PORT_VGADDC;
 
        /* LFP panel data */
        /* general features */
        dev_priv->int_tv_support = 1;
        dev_priv->int_crt_support = 1;
-       dev_priv->lvds_use_ssc = 0;
+
+       /* Default to using SSC */
+       dev_priv->lvds_use_ssc = 1;
+       dev_priv->lvds_ssc_freq = intel_bios_ssc_frequency(dev, 1);
+       DRM_DEBUG("Set default to SSC at %dMHz\n", dev_priv->lvds_ssc_freq);
 
        /* eDP data */
        dev_priv->edp.bpp = 18;