nouveau: remove unnecessary EAGAIN loops

drmCommandWrite / drmCommandWriteRead already loop on EAGAIN.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
main
Marcin Slusarz 2012-04-23 00:31:48 +02:00 committed by Ben Skeggs
parent 73b9a2881c
commit d954648b48
2 changed files with 4 additions and 11 deletions

View File

@ -461,12 +461,8 @@ nouveau_bo_wait(struct nouveau_bo *bo, uint32_t access,
if (access & NOUVEAU_BO_NOBLOCK)
req.flags |= NOUVEAU_GEM_CPU_PREP_NOWAIT;
do {
ret = drmCommandWrite(bo->device->fd,
DRM_NOUVEAU_GEM_CPU_PREP,
&req, sizeof(req));
} while (ret == -EAGAIN);
ret = drmCommandWrite(bo->device->fd, DRM_NOUVEAU_GEM_CPU_PREP,
&req, sizeof(req));
if (ret == 0)
nvbo->access = 0;
return ret;

View File

@ -341,11 +341,8 @@ pushbuf_submit(struct nouveau_pushbuf *push, struct nouveau_object *chan)
pushbuf_dump(krec, krec_id++, fifo->channel);
#ifndef SIMULATE
do {
ret = drmCommandWriteRead(dev->fd,
DRM_NOUVEAU_GEM_PUSHBUF,
&req, sizeof(req));
} while (ret == -EAGAIN);
ret = drmCommandWriteRead(dev->fd, DRM_NOUVEAU_GEM_PUSHBUF,
&req, sizeof(req));
nvpb->suffix0 = req.suffix0;
nvpb->suffix1 = req.suffix1;
dev->vram_limit = (req.vram_available * 80) / 100;