Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d5553c09 authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915: Move the unclaimed mmio detection into the powerwell for KMS



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: default avatarChris 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: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent 94829de4
Loading
Loading
Loading
Loading
+9 −14
Original line number Diff line number Diff line
@@ -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);
}