diff options
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 10 |
3 files changed, 11 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 58480deacc07..2b6c2d2f223b 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c | |||
@@ -471,6 +471,9 @@ static int i915_drm_thaw(struct drm_device *dev) | |||
471 | error = i915_gem_init_ringbuffer(dev); | 471 | error = i915_gem_init_ringbuffer(dev); |
472 | mutex_unlock(&dev->struct_mutex); | 472 | mutex_unlock(&dev->struct_mutex); |
473 | 473 | ||
474 | if (HAS_PCH_SPLIT(dev)) | ||
475 | ironlake_init_pch_refclk(dev); | ||
476 | |||
474 | drm_mode_config_reset(dev); | 477 | drm_mode_config_reset(dev); |
475 | drm_irq_install(dev); | 478 | drm_irq_install(dev); |
476 | 479 | ||
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 18df595b3992..98f2e0bf80de 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -1302,6 +1302,7 @@ extern int intel_modeset_vga_set_state(struct drm_device *dev, bool state); | |||
1302 | extern bool intel_fbc_enabled(struct drm_device *dev); | 1302 | extern bool intel_fbc_enabled(struct drm_device *dev); |
1303 | extern void intel_disable_fbc(struct drm_device *dev); | 1303 | extern void intel_disable_fbc(struct drm_device *dev); |
1304 | extern bool ironlake_set_drps(struct drm_device *dev, u8 val); | 1304 | extern bool ironlake_set_drps(struct drm_device *dev, u8 val); |
1305 | extern void ironlake_init_pch_refclk(struct drm_device *dev); | ||
1305 | extern void ironlake_enable_rc6(struct drm_device *dev); | 1306 | extern void ironlake_enable_rc6(struct drm_device *dev); |
1306 | extern void gen6_set_rps(struct drm_device *dev, u8 val); | 1307 | extern void gen6_set_rps(struct drm_device *dev, u8 val); |
1307 | extern void intel_detect_pch (struct drm_device *dev); | 1308 | extern void intel_detect_pch (struct drm_device *dev); |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index b072a35b6f52..91d7d5ed33ae 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -5109,7 +5109,10 @@ static int i9xx_crtc_mode_set(struct drm_crtc *crtc, | |||
5109 | return ret; | 5109 | return ret; |
5110 | } | 5110 | } |
5111 | 5111 | ||
5112 | static void ironlake_update_pch_refclk(struct drm_device *dev) | 5112 | /* |
5113 | * Initialize reference clocks when the driver loads | ||
5114 | */ | ||
5115 | void ironlake_init_pch_refclk(struct drm_device *dev) | ||
5113 | { | 5116 | { |
5114 | struct drm_i915_private *dev_priv = dev->dev_private; | 5117 | struct drm_i915_private *dev_priv = dev->dev_private; |
5115 | struct drm_mode_config *mode_config = &dev->mode_config; | 5118 | struct drm_mode_config *mode_config = &dev->mode_config; |
@@ -5411,8 +5414,6 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc, | |||
5411 | ironlake_compute_m_n(intel_crtc->bpp, lane, target_clock, link_bw, | 5414 | ironlake_compute_m_n(intel_crtc->bpp, lane, target_clock, link_bw, |
5412 | &m_n); | 5415 | &m_n); |
5413 | 5416 | ||
5414 | ironlake_update_pch_refclk(dev); | ||
5415 | |||
5416 | fp = clock.n << 16 | clock.m1 << 8 | clock.m2; | 5417 | fp = clock.n << 16 | clock.m1 << 8 | clock.m2; |
5417 | if (has_reduced_clock) | 5418 | if (has_reduced_clock) |
5418 | fp2 = reduced_clock.n << 16 | reduced_clock.m1 << 8 | | 5419 | fp2 = reduced_clock.n << 16 | reduced_clock.m1 << 8 | |
@@ -7284,6 +7285,9 @@ static void intel_setup_outputs(struct drm_device *dev) | |||
7284 | 7285 | ||
7285 | /* disable all the possible outputs/crtcs before entering KMS mode */ | 7286 | /* disable all the possible outputs/crtcs before entering KMS mode */ |
7286 | drm_helper_disable_unused_functions(dev); | 7287 | drm_helper_disable_unused_functions(dev); |
7288 | |||
7289 | if (HAS_PCH_SPLIT(dev)) | ||
7290 | ironlake_init_pch_refclk(dev); | ||
7287 | } | 7291 | } |
7288 | 7292 | ||
7289 | static void intel_user_framebuffer_destroy(struct drm_framebuffer *fb) | 7293 | static void intel_user_framebuffer_destroy(struct drm_framebuffer *fb) |