mirror of
https://github.com/fail0verflow/switch-linux.git
synced 2025-05-04 02:34:21 -04:00
drm/nouveau/fifo/gf100: fix certain engines not being recovered after a fault
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
f22d7d45fa
commit
1015d81122
1 changed files with 2 additions and 2 deletions
|
@ -148,11 +148,11 @@ gf100_fifo_recover_work(struct work_struct *w)
|
||||||
fifo->recover.mask = 0ULL;
|
fifo->recover.mask = 0ULL;
|
||||||
spin_unlock_irqrestore(&fifo->base.lock, flags);
|
spin_unlock_irqrestore(&fifo->base.lock, flags);
|
||||||
|
|
||||||
for (todo = mask; engn = __ffs64(todo), todo; todo &= ~(1 << engn))
|
for (todo = mask; engn = __ffs64(todo), todo; todo &= ~BIT_ULL(engn))
|
||||||
engm |= 1 << gf100_fifo_engidx(fifo, engn);
|
engm |= 1 << gf100_fifo_engidx(fifo, engn);
|
||||||
nvkm_mask(device, 0x002630, engm, engm);
|
nvkm_mask(device, 0x002630, engm, engm);
|
||||||
|
|
||||||
for (todo = mask; engn = __ffs64(todo), todo; todo &= ~(1 << engn)) {
|
for (todo = mask; engn = __ffs64(todo), todo; todo &= ~BIT_ULL(engn)) {
|
||||||
if ((engine = nvkm_device_engine(device, engn))) {
|
if ((engine = nvkm_device_engine(device, engn))) {
|
||||||
nvkm_subdev_fini(&engine->subdev, false);
|
nvkm_subdev_fini(&engine->subdev, false);
|
||||||
WARN_ON(nvkm_subdev_init(&engine->subdev));
|
WARN_ON(nvkm_subdev_init(&engine->subdev));
|
||||||
|
|
Loading…
Add table
Reference in a new issue