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>
main
Marcin Slusarz 2012-06-09 20:56:37 +02:00
parent 25e4cb4659
commit 9e0026d35c
2 changed files with 4 additions and 5 deletions

View File

@ -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)

View File

@ -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)