[Nouveau] [PATCH 1/2] drm/nouveau: Unmap pushbuf BOs when we're done with them.

Ben Skeggs skeggsb at gmail.com
Thu Feb 18 21:05:45 PST 2010


On Fri, 2010-02-19 at 04:59 +0100, Francisco Jerez wrote:
> If you're especially unlucky BOs would move around and their kmaps
> would end up pointing to something else in GART, then ioctl_pushbuf()
> would use the kmaps again corrupting textures or other pushbufs (the
> most noticeable symptom was a PFIFO_DMA_PUSHER from time to time).
Oops, I actually was doing that at some point.  Not sure where it
disappeared to :)

Thanks, pushed along with 2/2.
Ben.
> 
> Signed-off-by: Francisco Jerez <currojerez at riseup.net>
> ---
>  drivers/gpu/drm/nouveau/nouveau_gem.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c
> index fb6d87b..ec6da5c 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_gem.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
> @@ -243,6 +243,8 @@ validate_fini_list(struct list_head *list, struct nouveau_fence *fence)
>  			nouveau_fence_unref((void *)&prev_fence);
>  		}
>  
> +		ttm_bo_kunmap(&nvbo->kmap);
> +
>  		list_del(&nvbo->entry);
>  		nvbo->reserved_by = NULL;
>  		ttm_bo_unreserve(&nvbo->bo);




More information about the Nouveau mailing list