summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_uncore.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2014-05-19 19:23:23 +0300
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-05-20 10:45:03 +0200
commitf67deb723d106b68c450cffba37cd433641597d5 (patch)
tree34b03ba4d6c7cf87ed487559f176de1a113366e4 /drivers/gpu/drm/i915/intel_uncore.c
parenta83d87fda6932980fa3081e56fe081ef3dbd767a (diff)
downloadop-kernel-dev-f67deb723d106b68c450cffba37cd433641597d5.zip
op-kernel-dev-f67deb723d106b68c450cffba37cd433641597d5.tar.gz
drm/i915: Fix ILK reset wait
We should be waiting for the reset bit to clear, not remain set. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_uncore.c')
-rw-r--r--drivers/gpu/drm/i915/intel_uncore.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
index 45b3d6a..ba5a9b8 100644
--- a/drivers/gpu/drm/i915/intel_uncore.c
+++ b/drivers/gpu/drm/i915/intel_uncore.c
@@ -998,7 +998,8 @@ static int ironlake_do_reset(struct drm_device *dev)
gdrst &= ~GRDOM_MASK;
I915_WRITE(MCHBAR_MIRROR_BASE + ILK_GDSR,
gdrst | GRDOM_RENDER | GRDOM_RESET_ENABLE);
- ret = wait_for(I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR) & 0x1, 500);
+ ret = wait_for((I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR) &
+ GRDOM_RESET_ENABLE) == 0, 500);
if (ret)
return ret;
@@ -1006,7 +1007,8 @@ static int ironlake_do_reset(struct drm_device *dev)
gdrst &= ~GRDOM_MASK;
I915_WRITE(MCHBAR_MIRROR_BASE + ILK_GDSR,
gdrst | GRDOM_MEDIA | GRDOM_RESET_ENABLE);
- return wait_for(I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR) & 0x1, 500);
+ return wait_for((I915_READ(MCHBAR_MIRROR_BASE + ILK_GDSR) &
+ GRDOM_RESET_ENABLE) == 0, 500);
}
static int gen6_do_reset(struct drm_device *dev)
OpenPOWER on IntegriCloud