summaryrefslogtreecommitdiff
path: root/nouveau
diff options
context:
space:
mode:
authorMarcin Slusarz <marcin.slusarz@gmail.com>2012-06-09 20:56:37 +0200
committerMarcin Slusarz <marcin.slusarz@gmail.com>2012-06-09 23:23:32 +0200
commit9e0026d35c56374b53a0b3837e24412bc9a4d8c9 (patch)
tree361b197771e1669f0414a1047a7db00dcefb354c /nouveau
parent25e4cb4659c62817aae2ca3b83f2d4f598d6474b (diff)
nouveau: silence some remaining valgrind warnings
Valgrind can't understand some of the fields passed to ioctls are overwritten by kernel, so we need to initialize them. Almost all of our ioctl wrappers already do it and the cost of remaining 3 is very small. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Diffstat (limited to 'nouveau')
-rw-r--r--nouveau/abi16.c5
-rw-r--r--nouveau/pushbuf.c4
2 files changed, 4 insertions, 5 deletions
diff --git a/nouveau/abi16.c b/nouveau/abi16.c
index 69a0a9b3..a67fbc12 100644
--- a/nouveau/abi16.c
+++ b/nouveau/abi16.c
@@ -31,13 +31,10 @@ int
abi16_chan_nv04(struct nouveau_object *obj)
{
struct nouveau_device *dev = (struct nouveau_device *)obj->parent;
- struct drm_nouveau_channel_alloc req;
struct nv04_fifo *nv04 = obj->data;
+ struct drm_nouveau_channel_alloc req = {nv04->vram, nv04->gart};
int ret;
- req.fb_ctxdma_handle = nv04->vram;
- req.tt_ctxdma_handle = nv04->gart;
-
ret = drmCommandWriteRead(dev->fd, DRM_NOUVEAU_CHANNEL_ALLOC,
&req, sizeof(req));
if (ret)
diff --git a/nouveau/pushbuf.c b/nouveau/pushbuf.c
index 7b9dbaad..0e37ce3d 100644
--- a/nouveau/pushbuf.c
+++ b/nouveau/pushbuf.c
@@ -336,6 +336,8 @@ pushbuf_submit(struct nouveau_pushbuf *push, struct nouveau_object *chan)
req.push = (uint64_t)(unsigned long)krec->push;
req.suffix0 = nvpb->suffix0;
req.suffix1 = nvpb->suffix1;
+ req.vram_available = 0; /* for valgrind */
+ req.gart_available = 0;
if (dbg_on(0))
pushbuf_dump(krec, krec_id++, fifo->channel);
@@ -534,7 +536,7 @@ nouveau_pushbuf_new(struct nouveau_client *client, struct nouveau_object *chan,
struct nouveau_fifo *fifo = chan->data;
struct nouveau_pushbuf_priv *nvpb;
struct nouveau_pushbuf *push;
- struct drm_nouveau_gem_pushbuf req;
+ struct drm_nouveau_gem_pushbuf req = {};
int ret;
if (chan->oclass != NOUVEAU_FIFO_CHANNEL_CLASS)