[PATCH] drm/nouveau: fix ttm move notify callback

Ben Skeggs skeggsb at gmail.com
Thu Jan 5 13:53:13 PST 2012


On Thu, 2012-01-05 at 13:31 -0500, j.glisse at gmail.com wrote:
> From: Jerome Glisse <jglisse at redhat.com>
> 
> ttm might call the move notify with null new mem placement,
> properly handle this case inside nouveau move notify callback.
This has been fixed already in a -next tree I sent to Dave.

Ben.
> 
> Signed-off-by: Jerome Glisse <jglisse at redhat.com>
> ---
>  drivers/gpu/drm/nouveau/nouveau_bo.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
> index f12dd0f..65f5b0b 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_bo.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
> @@ -808,9 +808,8 @@ out:
>  }
>  
>  static void
> -nouveau_bo_move_ntfy(struct ttm_buffer_object *bo, struct ttm_mem_reg *new_mem)
> +nouveau_bo_move_notify(struct ttm_buffer_object *bo, struct ttm_mem_reg *new_mem)
>  {
> -	struct nouveau_mem *node = new_mem->mm_node;
>  	struct nouveau_bo *nvbo = nouveau_bo(bo);
>  	struct nouveau_vma *vma;
>  
> @@ -820,6 +819,7 @@ nouveau_bo_move_ntfy(struct ttm_buffer_object *bo, struct ttm_mem_reg *new_mem)
>  		} else
>  		if (new_mem && new_mem->mem_type == TTM_PL_TT &&
>  		    nvbo->page_shift == vma->vm->spg_shift) {
> +			struct nouveau_mem *node = new_mem->mm_node;
>  			nouveau_vm_map_sg(vma, 0, new_mem->
>  					  num_pages << PAGE_SHIFT,
>  					  node, node->pages);
> @@ -1131,7 +1131,7 @@ struct ttm_bo_driver nouveau_bo_driver = {
>  	.invalidate_caches = nouveau_bo_invalidate_caches,
>  	.init_mem_type = nouveau_bo_init_mem_type,
>  	.evict_flags = nouveau_bo_evict_flags,
> -	.move_notify = nouveau_bo_move_ntfy,
> +	.move_notify = nouveau_bo_move_notify,
>  	.move = nouveau_bo_move,
>  	.verify_access = nouveau_bo_verify_access,
>  	.sync_obj_signaled = __nouveau_fence_signalled,




More information about the dri-devel mailing list