diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nv40.c b/drivers/gpu/drm/nouveau/core/engine/fifo/nv40.c index 2b1f917..db00175 100644 --- a/drivers/gpu/drm/nouveau/core/engine/fifo/nv40.c +++ b/drivers/gpu/drm/nouveau/core/engine/fifo/nv40.c @@ -186,6 +186,7 @@ nv40_fifo_chan_ctor(struct nouveau_object *parent, struct nv04_fifo_chan *chan; struct nv03_channel_dma_class *args = data; int ret; + u64 ofs; if (size < sizeof(*args)) return -EINVAL; @@ -209,6 +210,8 @@ nv40_fifo_chan_ctor(struct nouveau_object *parent, nv_wo32(priv->ramfc, chan->ramfc + 0x00, args->offset); nv_wo32(priv->ramfc, chan->ramfc + 0x04, args->offset); nv_wo32(priv->ramfc, chan->ramfc + 0x0c, chan->base.pushgpu->addr >> 4); + for (ofs = 0x10; ofs < 0x80; ofs += 4) + nv_wo32(priv->ramfc, chan->ramfc + ofs, 0); nv_wo32(priv->ramfc, chan->ramfc + 0x18, 0x30000000 | NV_PFIFO_CACHE1_DMA_FETCH_TRIG_128_BYTES | NV_PFIFO_CACHE1_DMA_FETCH_SIZE_128_BYTES |