Marcin Slusarz
2012-Apr-22 22:31 UTC
[Nouveau] [PATCH] nouveau: remove unnecessary EAGAIN loops
drmCommandWrite / drmCommandWriteRead already loop on EAGAIN. --- nouveau/nouveau.c | 8 ++------ nouveau/pushbuf.c | 7 ++----- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/nouveau/nouveau.c b/nouveau/nouveau.c index 699b9b7..f0bc2c3 100644 --- a/nouveau/nouveau.c +++ b/nouveau/nouveau.c @@ -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; diff --git a/nouveau/pushbuf.c b/nouveau/pushbuf.c index 103737e..7b9dbaa 100644 --- a/nouveau/pushbuf.c +++ b/nouveau/pushbuf.c @@ -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; -- 1.7.8.5