Commit 5fe9fe8c authored by Daniel Vetter's avatar Daniel Vetter

drm/i915: fix gen4 gpu reset

While trying to fix up gen4 gpu reset in

commit f49f0586
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Sat Sep 11 01:19:14 2010 -0700

    drm/i915: Actually set the reset bit in i965_reset

a little confusion about when wait_for times out has been introduced -
wait for loops _until_ the condition is true.

This fixes gpu reset on my gm45, testing with my hangman code shows
that it's now fairly reliable - it only died after well over 100 reset
cycles.

Cc: Eric Anholt <eric@anholt.net>
Reviewed-by: default avatarKenneth Graunke <kenneth@whitecape.org>
Reviewed-by: default avatarEugeni Dodonov <eugeni.dodonov@intel.com>
Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 523bcb28
...@@ -707,7 +707,7 @@ static int i965_reset_complete(struct drm_device *dev) ...@@ -707,7 +707,7 @@ static int i965_reset_complete(struct drm_device *dev)
{ {
u8 gdrst; u8 gdrst;
pci_read_config_byte(dev->pdev, I965_GDRST, &gdrst); pci_read_config_byte(dev->pdev, I965_GDRST, &gdrst);
return gdrst & 0x1; return (gdrst & GRDOM_RESET_ENABLE) == 0;
} }
static int i965_do_reset(struct drm_device *dev) static int i965_do_reset(struct drm_device *dev)
......
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