Loading drivers/gpu/drm/nouveau/nvkm/engine/fifo/g84.c +4 −1 Original line number Diff line number Diff line Loading @@ -106,7 +106,10 @@ g84_fifo_context_detach(struct nvkm_object *parent, bool suspend, save = nvkm_mask(device, 0x002520, 0x0000003f, 1 << engn); nvkm_wr32(device, 0x0032fc, nv_gpuobj(base)->addr >> 12); done = nv_wait_ne(fifo, 0x0032fc, 0xffffffff, 0xffffffff); done = nvkm_msec(device, 2000, if (nvkm_rd32(device, 0x0032fc) != 0xffffffff) break; ) >= 0; nvkm_wr32(device, 0x002520, save); if (!done) { nv_error(fifo, "channel %d [%s] unload timeout\n", Loading drivers/gpu/drm/nouveau/nvkm/engine/fifo/gf100.c +4 −1 Original line number Diff line number Diff line Loading @@ -166,7 +166,10 @@ gf100_fifo_context_detach(struct nvkm_object *parent, bool suspend, } nvkm_wr32(device, 0x002634, chan->base.chid); if (!nv_wait(fifo, 0x002634, 0xffffffff, chan->base.chid)) { if (nvkm_msec(device, 2000, if (nvkm_rd32(device, 0x002634) == chan->base.chid) break; ) < 0) { nv_error(fifo, "channel %d [%s] kick timeout\n", chan->base.chid, nvkm_client_name(chan)); if (suspend) Loading drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c +4 −1 Original line number Diff line number Diff line Loading @@ -174,7 +174,10 @@ gk104_fifo_chan_kick(struct gk104_fifo_chan *chan) struct nvkm_device *device = fifo->base.engine.subdev.device; nvkm_wr32(device, 0x002634, chan->base.chid); if (!nv_wait(fifo, 0x002634, 0x100000, 0x000000)) { if (nvkm_msec(device, 2000, if (!(nvkm_rd32(device, 0x002634) & 0x00100000)) break; ) < 0) { nv_error(fifo, "channel %d [%s] kick timeout\n", chan->base.chid, nvkm_client_name(chan)); return -EBUSY; Loading drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c +5 −3 Original line number Diff line number Diff line Loading @@ -321,9 +321,11 @@ __acquires(fifo->base.lock) * to avoid this, we invalidate the most recently calculated * instance. */ if (!nv_wait(fifo, NV04_PFIFO_CACHE1_PULL0, NV04_PFIFO_CACHE1_PULL0_HASH_BUSY, 0x00000000)) nv_warn(fifo, "timeout idling puller\n"); nvkm_msec(device, 2000, u32 tmp = nvkm_rd32(device, NV04_PFIFO_CACHE1_PULL0); if (!(tmp & NV04_PFIFO_CACHE1_PULL0_HASH_BUSY)) break; ); if (nvkm_rd32(device, NV04_PFIFO_CACHE1_PULL0) & NV04_PFIFO_CACHE1_PULL0_HASH_FAILED) Loading drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv50.c +4 −1 Original line number Diff line number Diff line Loading @@ -135,7 +135,10 @@ nv50_fifo_context_detach(struct nvkm_object *parent, bool suspend, /* do the kickoff... */ nvkm_wr32(device, 0x0032fc, nv_gpuobj(base)->addr >> 12); if (!nv_wait_ne(fifo, 0x0032fc, 0xffffffff, 0xffffffff)) { if (nvkm_msec(device, 2000, if (nvkm_rd32(device, 0x0032fc) != 0xffffffff) break; ) < 0) { nv_error(fifo, "channel %d [%s] unload timeout\n", chan->base.chid, nvkm_client_name(chan)); if (suspend) Loading Loading
drivers/gpu/drm/nouveau/nvkm/engine/fifo/g84.c +4 −1 Original line number Diff line number Diff line Loading @@ -106,7 +106,10 @@ g84_fifo_context_detach(struct nvkm_object *parent, bool suspend, save = nvkm_mask(device, 0x002520, 0x0000003f, 1 << engn); nvkm_wr32(device, 0x0032fc, nv_gpuobj(base)->addr >> 12); done = nv_wait_ne(fifo, 0x0032fc, 0xffffffff, 0xffffffff); done = nvkm_msec(device, 2000, if (nvkm_rd32(device, 0x0032fc) != 0xffffffff) break; ) >= 0; nvkm_wr32(device, 0x002520, save); if (!done) { nv_error(fifo, "channel %d [%s] unload timeout\n", Loading
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gf100.c +4 −1 Original line number Diff line number Diff line Loading @@ -166,7 +166,10 @@ gf100_fifo_context_detach(struct nvkm_object *parent, bool suspend, } nvkm_wr32(device, 0x002634, chan->base.chid); if (!nv_wait(fifo, 0x002634, 0xffffffff, chan->base.chid)) { if (nvkm_msec(device, 2000, if (nvkm_rd32(device, 0x002634) == chan->base.chid) break; ) < 0) { nv_error(fifo, "channel %d [%s] kick timeout\n", chan->base.chid, nvkm_client_name(chan)); if (suspend) Loading
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c +4 −1 Original line number Diff line number Diff line Loading @@ -174,7 +174,10 @@ gk104_fifo_chan_kick(struct gk104_fifo_chan *chan) struct nvkm_device *device = fifo->base.engine.subdev.device; nvkm_wr32(device, 0x002634, chan->base.chid); if (!nv_wait(fifo, 0x002634, 0x100000, 0x000000)) { if (nvkm_msec(device, 2000, if (!(nvkm_rd32(device, 0x002634) & 0x00100000)) break; ) < 0) { nv_error(fifo, "channel %d [%s] kick timeout\n", chan->base.chid, nvkm_client_name(chan)); return -EBUSY; Loading
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c +5 −3 Original line number Diff line number Diff line Loading @@ -321,9 +321,11 @@ __acquires(fifo->base.lock) * to avoid this, we invalidate the most recently calculated * instance. */ if (!nv_wait(fifo, NV04_PFIFO_CACHE1_PULL0, NV04_PFIFO_CACHE1_PULL0_HASH_BUSY, 0x00000000)) nv_warn(fifo, "timeout idling puller\n"); nvkm_msec(device, 2000, u32 tmp = nvkm_rd32(device, NV04_PFIFO_CACHE1_PULL0); if (!(tmp & NV04_PFIFO_CACHE1_PULL0_HASH_BUSY)) break; ); if (nvkm_rd32(device, NV04_PFIFO_CACHE1_PULL0) & NV04_PFIFO_CACHE1_PULL0_HASH_FAILED) Loading
drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv50.c +4 −1 Original line number Diff line number Diff line Loading @@ -135,7 +135,10 @@ nv50_fifo_context_detach(struct nvkm_object *parent, bool suspend, /* do the kickoff... */ nvkm_wr32(device, 0x0032fc, nv_gpuobj(base)->addr >> 12); if (!nv_wait_ne(fifo, 0x0032fc, 0xffffffff, 0xffffffff)) { if (nvkm_msec(device, 2000, if (nvkm_rd32(device, 0x0032fc) != 0xffffffff) break; ) < 0) { nv_error(fifo, "channel %d [%s] unload timeout\n", chan->base.chid, nvkm_client_name(chan)); if (suspend) Loading