drm/i915: Don't sanitize frame start delay if the pipe is off
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 15 Nov 2017 20:04:42 +0000 (22:04 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 16 Nov 2017 15:15:57 +0000 (17:15 +0200)
Avoid touching PIPECONF in intel_sanitize_crtc() unless the pipe is
actually on. Should cure some unclaimed register accesses during reset,
as we are rather cavalier in our approach to powerdomain management.

We don't have to sanitize this if the pipe is off since we will
overwrite the frame start delay anyway when turning the pipe on.

v2: Amended commit message to implicate the reset path (Chris)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102249
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171115200442.15051-1-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/intel_display.c

index 23aa7191024ef9e11fc0294fb4483d3f8290976f..e6fcbc5abc7573f9ef0f17579ec31117391ec8ce 100644 (file)
@@ -14812,7 +14812,7 @@ static void intel_sanitize_crtc(struct intel_crtc *crtc,
        enum transcoder cpu_transcoder = crtc->config->cpu_transcoder;
 
        /* Clear any frame start delays used for debugging left by the BIOS */
-       if (!transcoder_is_dsi(cpu_transcoder)) {
+       if (crtc->active && !transcoder_is_dsi(cpu_transcoder)) {
                i915_reg_t reg = PIPECONF(cpu_transcoder);
 
                I915_WRITE(reg,