From: Ben Skeggs Date: Sun, 23 Feb 2014 13:27:25 +0000 (+1000) Subject: drm/nve0/fifo: use runlist event instead of polling X-Git-Tag: v5.15~17882^2~1^2~55 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5c0633e6ee31e454ed92d85cf9fc09c77dab46a4;p=platform%2Fkernel%2Flinux-starfive.git drm/nve0/fifo: use runlist event instead of polling Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c b/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c index ad8e678..bd67906 100644 --- a/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c +++ b/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c @@ -118,7 +118,9 @@ nve0_fifo_runlist_update(struct nve0_fifo_priv *priv, u32 engine) nv_wr32(priv, 0x002270, cur->addr >> 12); nv_wr32(priv, 0x002274, (engine << 20) | (p >> 3)); - if (!nv_wait(priv, 0x002284 + (engine * 8), 0x00100000, 0x00000000)) + if (wait_event_timeout(engn->wait, !(nv_rd32(priv, 0x002284 + + (engine * 0x08)) & 0x00100000), + msecs_to_jiffies(2000)) == 0) nv_error(priv, "runlist %d update timeout\n", engine); mutex_unlock(&nv_subdev(priv)->mutex); }