[Nouveau] [PATCH] nouveau: remove unnecessary EAGAIN loops
Marcin Slusarz
marcin.slusarz at gmail.com
Sun Apr 22 15:31:48 PDT 2012
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
More information about the Nouveau
mailing list