Commit fc97618b authored by Mika Kuoppala's avatar Mika Kuoppala Committed by Mika Kuoppala

drm/i915: Introduce intel_uncore_unclaimed_mmio

Currently interrupt code is the only place checking
for the unclaimed register access prior to actual register
macros using the same functionality. Rename the function
and make it return bool so that the possible error message
context is clear in the caller side. The motivation is to allow
usage of unclaimed detection on arbitrary places.

v2: rebase, s/access/mmio, s/dev/dev_priv
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1450189512-30360-2-git-send-email-mika.kuoppala@intel.com
parent 8a47eb19
...@@ -2717,7 +2717,7 @@ extern void intel_uncore_sanitize(struct drm_device *dev); ...@@ -2717,7 +2717,7 @@ extern void intel_uncore_sanitize(struct drm_device *dev);
extern void intel_uncore_early_sanitize(struct drm_device *dev, extern void intel_uncore_early_sanitize(struct drm_device *dev,
bool restore_forcewake); bool restore_forcewake);
extern void intel_uncore_init(struct drm_device *dev); extern void intel_uncore_init(struct drm_device *dev);
extern void intel_uncore_check_errors(struct drm_device *dev); extern bool intel_uncore_unclaimed_mmio(struct drm_i915_private *dev_priv);
extern void intel_uncore_fini(struct drm_device *dev); extern void intel_uncore_fini(struct drm_device *dev);
extern void intel_uncore_forcewake_reset(struct drm_device *dev, bool restore); extern void intel_uncore_forcewake_reset(struct drm_device *dev, bool restore);
const char *intel_uncore_forcewake_domain_to_str(const enum forcewake_domain_id id); const char *intel_uncore_forcewake_domain_to_str(const enum forcewake_domain_id id);
......
...@@ -2190,7 +2190,8 @@ static irqreturn_t ironlake_irq_handler(int irq, void *arg) ...@@ -2190,7 +2190,8 @@ static irqreturn_t ironlake_irq_handler(int irq, void *arg)
/* We get interrupts on unclaimed registers, so check for this before we /* We get interrupts on unclaimed registers, so check for this before we
* do any I915_{READ,WRITE}. */ * do any I915_{READ,WRITE}. */
intel_uncore_check_errors(dev); if (intel_uncore_unclaimed_mmio(dev_priv))
DRM_ERROR("Unclaimed register before interrupt\n");
/* disable master interrupt before clearing iir */ /* disable master interrupt before clearing iir */
de_ier = I915_READ(DEIER); de_ier = I915_READ(DEIER);
......
...@@ -1596,8 +1596,7 @@ bool intel_has_gpu_reset(struct drm_device *dev) ...@@ -1596,8 +1596,7 @@ bool intel_has_gpu_reset(struct drm_device *dev)
return intel_get_gpu_reset(dev) != NULL; return intel_get_gpu_reset(dev) != NULL;
} }
void intel_uncore_check_errors(struct drm_device *dev) bool intel_uncore_unclaimed_mmio(struct drm_i915_private *dev_priv)
{ {
if (check_for_unclaimed_mmio(to_i915(dev))) return check_for_unclaimed_mmio(dev_priv);
DRM_ERROR("Unclaimed register before interrupt\n");
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment