drm_modeset_acquire_fini(&ctx);
 }
 
-static void intel_update_fdi_pll_freq(struct drm_i915_private *dev_priv)
-{
-       if (IS_IRONLAKE(dev_priv)) {
-               u32 fdi_pll_clk =
-                       intel_de_read(dev_priv, FDI_PLL_BIOS_0) & FDI_PLL_FB_CLOCK_MASK;
-
-               dev_priv->fdi_pll_freq = (fdi_pll_clk + 2) * 10000;
-       } else if (IS_SANDYBRIDGE(dev_priv) || IS_IVYBRIDGE(dev_priv)) {
-               dev_priv->fdi_pll_freq = 270000;
-       } else {
-               return;
-       }
-
-       drm_dbg(&dev_priv->drm, "FDI PLL freq=%d\n", dev_priv->fdi_pll_freq);
-}
-
 static int intel_initial_commit(struct drm_device *dev)
 {
        struct drm_atomic_state *state = NULL;
 
        intel_plane_possible_crtcs_init(i915);
        intel_shared_dpll_init(dev);
-       intel_update_fdi_pll_freq(i915);
+       intel_fdi_pll_freq_update(i915);
 
        intel_update_czclk(i915);
        intel_modeset_init_hw(i915);
 
        }
 }
 
+void intel_fdi_pll_freq_update(struct drm_i915_private *i915)
+{
+       if (IS_IRONLAKE(i915)) {
+               u32 fdi_pll_clk =
+                       intel_de_read(i915, FDI_PLL_BIOS_0) & FDI_PLL_FB_CLOCK_MASK;
+
+               i915->fdi_pll_freq = (fdi_pll_clk + 2) * 10000;
+       } else if (IS_SANDYBRIDGE(i915) || IS_IVYBRIDGE(i915)) {
+               i915->fdi_pll_freq = 270000;
+       } else {
+               return;
+       }
+
+       drm_dbg(&i915->drm, "FDI PLL freq=%d\n", i915->fdi_pll_freq);
+}
+
 int intel_fdi_link_freq(struct drm_i915_private *i915,
                        const struct intel_crtc_state *pipe_config)
 {
 
 void intel_fdi_init_hook(struct drm_i915_private *dev_priv);
 void hsw_fdi_link_train(struct intel_encoder *encoder,
                        const struct intel_crtc_state *crtc_state);
+void intel_fdi_pll_freq_update(struct drm_i915_private *i915);
 
 #endif