diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_pipe_crc.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_pipe_crc.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_pipe_crc.c b/drivers/gpu/drm/i915/intel_pipe_crc.c index e94b5b1bc1b7..e7c7be4911c1 100644 --- a/drivers/gpu/drm/i915/intel_pipe_crc.c +++ b/drivers/gpu/drm/i915/intel_pipe_crc.c | |||
@@ -311,10 +311,17 @@ retry: | |||
311 | pipe_config->base.mode_changed = pipe_config->has_psr; | 311 | pipe_config->base.mode_changed = pipe_config->has_psr; |
312 | pipe_config->crc_enabled = enable; | 312 | pipe_config->crc_enabled = enable; |
313 | 313 | ||
314 | if (IS_HASWELL(dev_priv) && crtc->pipe == PIPE_A) { | 314 | if (IS_HASWELL(dev_priv) && |
315 | pipe_config->base.active && crtc->pipe == PIPE_A && | ||
316 | pipe_config->cpu_transcoder == TRANSCODER_EDP) { | ||
317 | bool old_need_power_well = pipe_config->pch_pfit.enabled || | ||
318 | pipe_config->pch_pfit.force_thru; | ||
319 | bool new_need_power_well = pipe_config->pch_pfit.enabled || | ||
320 | enable; | ||
321 | |||
315 | pipe_config->pch_pfit.force_thru = enable; | 322 | pipe_config->pch_pfit.force_thru = enable; |
316 | if (pipe_config->cpu_transcoder == TRANSCODER_EDP && | 323 | |
317 | pipe_config->pch_pfit.enabled != enable) | 324 | if (old_need_power_well != new_need_power_well) |
318 | pipe_config->base.connectors_changed = true; | 325 | pipe_config->base.connectors_changed = true; |
319 | } | 326 | } |
320 | 327 | ||