From: Ben Skeggs Date: Fri, 21 Feb 2014 15:05:01 +0000 (+1000) Subject: drm/nvc0/fifo: use runlist event instead of polling X-Git-Tag: v3.15-rc1~51^2~39^2~60 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=3cf6290a1d34ad46b2c591ee8cd200f918d0545f;p=~emulex%2Finfiniband.git drm/nvc0/fifo: use runlist event instead of polling Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nvc0.c b/drivers/gpu/drm/nouveau/core/engine/fifo/nvc0.c index 97416c6a0d1..d3965169502 100644 --- a/drivers/gpu/drm/nouveau/core/engine/fifo/nvc0.c +++ b/drivers/gpu/drm/nouveau/core/engine/fifo/nvc0.c @@ -96,8 +96,10 @@ nvc0_fifo_runlist_update(struct nvc0_fifo_priv *priv) nv_wr32(priv, 0x002270, cur->addr >> 12); nv_wr32(priv, 0x002274, 0x01f00000 | (p >> 3)); - if (!nv_wait(priv, 0x00227c, 0x00100000, 0x00000000)) - nv_error(priv, "runlist update failed\n"); + if (wait_event_timeout(priv->runlist.wait, + !(nv_rd32(priv, 0x00227c) & 0x00100000), + msecs_to_jiffies(2000)) == 0) + nv_error(priv, "runlist update timeout\n"); mutex_unlock(&nv_subdev(priv)->mutex); }