Skip to content

Commit 92966a3

Browse files
committed
drm/i915: Disable FDI after the CRT port on LPT-H
Bspec modeset sequence tells us to disable the PCH transcoder and FDI after the CRT port on LPT-H, so let's do that. And the CRT port should be disabled after the pipe, as we do on other PCH platforms too since commit 1ea56e2 ("drm/i915: Disable CRT port after pipe on PCH platforms") commit 00490c2 ("drm/i915: Consider SPLL as another shared pll, v2.") moved the SPLL disable from the .post_disable() hook to some upper level code, so we can just move the CRT port disabling into the .post_disable() hook. If we still had the non-shared SPLL, it would have needed to be moved into the .post_pll_disable() hook. v2: Actually move the CRT port disable to the .post_disable() hook, and amend the commit message with more details (Paulo) v3: Fix typos in commit message (Paulo) Cc: Paulo Zanoni <[email protected]> Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Paulo Zanoni <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent a2572f5 commit 92966a3

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

drivers/gpu/drm/i915/intel_crt.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ void intel_crt_init(struct drm_device *dev)
844844
crt->adpa_reg = adpa_reg;
845845

846846
crt->base.compute_config = intel_crt_compute_config;
847-
if (HAS_PCH_SPLIT(dev) && !HAS_DDI(dev)) {
847+
if (HAS_PCH_SPLIT(dev)) {
848848
crt->base.disable = pch_disable_crt;
849849
crt->base.post_disable = pch_post_disable_crt;
850850
} else {

drivers/gpu/drm/i915/intel_display.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5164,18 +5164,17 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
51645164
if (!intel_crtc->config->has_dsi_encoder)
51655165
intel_ddi_disable_pipe_clock(intel_crtc);
51665166

5167-
if (intel_crtc->config->has_pch_encoder) {
5168-
lpt_disable_pch_transcoder(dev_priv);
5169-
intel_ddi_fdi_disable(crtc);
5170-
}
5171-
51725167
for_each_encoder_on_crtc(dev, crtc, encoder)
51735168
if (encoder->post_disable)
51745169
encoder->post_disable(encoder);
51755170

5176-
if (intel_crtc->config->has_pch_encoder)
5171+
if (intel_crtc->config->has_pch_encoder) {
5172+
lpt_disable_pch_transcoder(dev_priv);
5173+
intel_ddi_fdi_disable(crtc);
5174+
51775175
intel_set_pch_fifo_underrun_reporting(dev_priv, TRANSCODER_A,
51785176
true);
5177+
}
51795178

51805179
intel_fbc_disable_crtc(intel_crtc);
51815180
}

0 commit comments

Comments
 (0)