summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nv50_instmem.c
diff options
context:
space:
mode:
authorMarcin Slusarz2010-08-22 20:54:08 +0200
committerBen Skeggs2010-09-03 00:23:51 +0200
commit615661f3948a066fd22a36fe8ea0c528b75ee373 (patch)
treea3451c1e851b546a4fd438477d09163d60b5ebf8 /drivers/gpu/drm/nouveau/nv50_instmem.c
parentdrm/nouveau: Don't take struct_mutex around the pushbuf IOCTL. (diff)
downloadkernel-qcow2-linux-615661f3948a066fd22a36fe8ea0c528b75ee373.tar.gz
kernel-qcow2-linux-615661f3948a066fd22a36fe8ea0c528b75ee373.tar.xz
kernel-qcow2-linux-615661f3948a066fd22a36fe8ea0c528b75ee373.zip
drm/nv50: initialize ramht_refs list for faked 0 channel
We need it for PFIFO_INTR_CACHE_ERROR interrupt handling, because nouveau_fifo_swmthd looks for matching gpuobj in ramht_refs list. It fixes kernel panic in nouveau_gpuobj_ref_find. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nv50_instmem.c')
-rw-r--r--drivers/gpu/drm/nouveau/nv50_instmem.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nv50_instmem.c b/drivers/gpu/drm/nouveau/nv50_instmem.c
index c95bf9b681dd..91ef93cf1f35 100644
--- a/drivers/gpu/drm/nouveau/nv50_instmem.c
+++ b/drivers/gpu/drm/nouveau/nv50_instmem.c
@@ -139,6 +139,8 @@ nv50_instmem_init(struct drm_device *dev)
chan->file_priv = (struct drm_file *)-2;
dev_priv->fifos[0] = dev_priv->fifos[127] = chan;
+ INIT_LIST_HEAD(&chan->ramht_refs);
+
/* Channel's PRAMIN object + heap */
ret = nouveau_gpuobj_new_fake(dev, 0, c_offset, c_size, 0,
NULL, &chan->ramin);