From: Francisco Jerez Date: Sat, 20 Nov 2010 13:32:45 +0000 (+0100) Subject: nouveau: Add implicit pushbuf flush before gpuobj destruction. X-Git-Tag: submit/1.0/20121108.012404~186 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d17681d538ce86a3f8d6d1c7407df3ceb2bcc499;p=profile%2Fivi%2Flibdrm.git nouveau: Add implicit pushbuf flush before gpuobj destruction. It makes sure that GPU object destruction is executed in order with respect to the previous FIFO commands. Signed-off-by: Francisco Jerez Acked-by: Ben Skeggs --- diff --git a/nouveau/nouveau_grobj.c b/nouveau/nouveau_grobj.c index 2b6e53a..df2ffb9 100644 --- a/nouveau/nouveau_grobj.c +++ b/nouveau/nouveau_grobj.c @@ -99,6 +99,8 @@ nouveau_grobj_free(struct nouveau_grobj **grobj) if (nvgrobj->base.grclass) { struct drm_nouveau_gpuobj_free f; + FIRE_RING(&chan->base); + f.channel = chan->drm.channel; f.handle = nvgrobj->base.handle; drmCommandWrite(nvdev->fd, DRM_NOUVEAU_GPUOBJ_FREE, diff --git a/nouveau/nouveau_notifier.c b/nouveau/nouveau_notifier.c index f8cfd8b..513fa63 100644 --- a/nouveau/nouveau_notifier.c +++ b/nouveau/nouveau_notifier.c @@ -80,6 +80,8 @@ nouveau_notifier_free(struct nouveau_notifier **notifier) nvchan = nouveau_channel(nvnotify->base.channel); nvdev = nouveau_device(nvchan->base.device); + FIRE_RING(&nvchan->base); + f.channel = nvchan->drm.channel; f.handle = nvnotify->base.handle; drmCommandWrite(nvdev->fd, DRM_NOUVEAU_GPUOBJ_FREE, &f, sizeof(f));