drm/i915: Move the unclaimed mmio detection into the powerwell for KMS
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 4 May 2017 11:55:08 +0000 (12:55 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 8 Jun 2017 08:27:17 +0000 (09:27 +0100)
Replace the large comment about requiring the powerwell for
intel_uncore_arm_unclaimed_mmio_detection() by moving the arming of the
mmio error detection into the powerwell held for modesetting. Thereby
also accomplishing the goal of only arming the mmio detection after a
full modeset.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170504115508.13571-1-chris@chris-wilson.co.uk
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/intel_display.c

index 2b75faf..97dfce5 100644 (file)
@@ -13121,8 +13121,16 @@ static void intel_atomic_commit_tail(struct drm_atomic_state *state)
 
        drm_atomic_helper_commit_hw_done(state);
 
-       if (intel_state->modeset)
+       if (intel_state->modeset) {
+               /* As one of the primary mmio accessors, KMS has a high
+                * likelihood of triggering bugs in unclaimed access. After we
+                * finish modesetting, see if an error has been flagged, and if
+                * so enable debugging for the next modeset - and hope we catch
+                * the culprit.
+                */
+               intel_uncore_arm_unclaimed_mmio_detection(dev_priv);
                intel_display_power_put(dev_priv, POWER_DOMAIN_MODESET);
+       }
 
        mutex_lock(&dev->struct_mutex);
        drm_atomic_helper_cleanup_planes(dev, state);
@@ -13132,19 +13140,6 @@ static void intel_atomic_commit_tail(struct drm_atomic_state *state)
 
        drm_atomic_state_put(state);
 
-       /* As one of the primary mmio accessors, KMS has a high likelihood
-        * of triggering bugs in unclaimed access. After we finish
-        * modesetting, see if an error has been flagged, and if so
-        * enable debugging for the next modeset - and hope we catch
-        * the culprit.
-        *
-        * XXX note that we assume display power is on at this point.
-        * This might hold true now but we need to add pm helper to check
-        * unclaimed only when the hardware is on, as atomic commits
-        * can happen also when the device is completely off.
-        */
-       intel_uncore_arm_unclaimed_mmio_detection(dev_priv);
-
        intel_atomic_helper_free_state(dev_priv);
 }