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

Konrad Rzeszutek Wilk konrad.wilk at oracle.com
Fri Jan 6 11:52:49 PST 2012


> Still having difficulty to reproduce can you reproduce with the attached
> printk debuging patch and provide the log (only few printk preceding the
> oops or segfault are interesting).

http://darnok.org/vga/move_notify-v212.log

> 
> Cheers,
> Jerome

> >From 862e2cc6d35d85404ed24d24c5a5c49c5ef45fc7 Mon Sep 17 00:00:00 2001
> From: Jerome Glisse <jglisse at redhat.com>
> Date: Fri, 6 Jan 2012 13:20:08 -0500
> Subject: [PATCH] TTM-DEBUG-PRINTK
> 
> ---
>  drivers/gpu/drm/nouveau/nouveau_bo.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
> index 724b41a..326b64a 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_bo.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
> @@ -812,12 +812,14 @@ nouveau_bo_move_ntfy(struct ttm_buffer_object *bo, struct ttm_mem_reg *new_mem)
>  	struct nouveau_bo *nvbo = nouveau_bo(bo);
>  	struct nouveau_vma *vma;
>  
> +DRM_INFO("%s list (%p %p)\n", __func__, nvbo->vma_list.prev, nvbo->vma_list.next);
>  	list_for_each_entry(vma, &nvbo->vma_list, head) {
>  		if (new_mem && new_mem->mem_type == TTM_PL_VRAM) {
>  			nouveau_vm_map(vma, new_mem->mm_node);
>  		} else
>  		if (new_mem && new_mem->mem_type == TTM_PL_TT &&
>  		    nvbo->page_shift == vma->vm->spg_shift) {
> +DRM_INFO("%s vma %p new mem %p %d pages\n", __func__, vma, new_mem, new_mem->num_pages);
>  			nouveau_vm_map_sg(vma, 0, new_mem->
>  					  num_pages << PAGE_SHIFT,
>  					  new_mem->mm_node);
> -- 
> 1.7.5.4
> 



More information about the dri-devel mailing list