aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/nv50_display.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2013-02-18 17:50:51 -0500
committerBen Skeggs <bskeggs@redhat.com>2013-02-20 16:01:02 +1000
commit5cc027f6b1ec651c18a4322ed3e30c6e9cf01e96 (patch)
tree1f39b3fb82ea8e7d395a974584f5915c95dcfa6c /drivers/gpu/drm/nouveau/nv50_display.c
parent7dcd060c0e6e4f76ce7eea94c66437ce8f546530 (diff)
drm/nv50-/disp: handle supervisor tasks from workqueue
i2c_algo_bit sleeps... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nv50_display.c')
-rw-r--r--drivers/gpu/drm/nouveau/nv50_display.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
index 75d116137c0..2cd37979dcd 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -424,7 +424,10 @@ evo_kick(u32 *push, void *evoc)
static bool
evo_sync_wait(void *data)
{
- return nouveau_bo_rd32(data, EVO_MAST_NTFY) != 0x00000000;
+ if (nouveau_bo_rd32(data, EVO_MAST_NTFY) != 0x00000000)
+ return true;
+ usleep_range(1, 2);
+ return false;
}
static int