|
@@ -1343,18 +1343,21 @@ void assert_pipe(struct drm_i915_private *dev_priv,
|
|
bool cur_state;
|
|
bool cur_state;
|
|
enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv,
|
|
enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv,
|
|
pipe);
|
|
pipe);
|
|
|
|
+ enum intel_display_power_domain power_domain;
|
|
|
|
|
|
/* if we need the pipe quirk it must be always on */
|
|
/* if we need the pipe quirk it must be always on */
|
|
if ((pipe == PIPE_A && dev_priv->quirks & QUIRK_PIPEA_FORCE) ||
|
|
if ((pipe == PIPE_A && dev_priv->quirks & QUIRK_PIPEA_FORCE) ||
|
|
(pipe == PIPE_B && dev_priv->quirks & QUIRK_PIPEB_FORCE))
|
|
(pipe == PIPE_B && dev_priv->quirks & QUIRK_PIPEB_FORCE))
|
|
state = true;
|
|
state = true;
|
|
|
|
|
|
- if (!intel_display_power_is_enabled(dev_priv,
|
|
|
|
- POWER_DOMAIN_TRANSCODER(cpu_transcoder))) {
|
|
|
|
- cur_state = false;
|
|
|
|
- } else {
|
|
|
|
|
|
+ power_domain = POWER_DOMAIN_TRANSCODER(cpu_transcoder);
|
|
|
|
+ if (intel_display_power_get_if_enabled(dev_priv, power_domain)) {
|
|
u32 val = I915_READ(PIPECONF(cpu_transcoder));
|
|
u32 val = I915_READ(PIPECONF(cpu_transcoder));
|
|
cur_state = !!(val & PIPECONF_ENABLE);
|
|
cur_state = !!(val & PIPECONF_ENABLE);
|
|
|
|
+
|
|
|
|
+ intel_display_power_put(dev_priv, power_domain);
|
|
|
|
+ } else {
|
|
|
|
+ cur_state = false;
|
|
}
|
|
}
|
|
|
|
|
|
I915_STATE_WARN(cur_state != state,
|
|
I915_STATE_WARN(cur_state != state,
|