From: Jerome Glisse <jgli...@redhat.com>

ttm might call the move notify with null new mem placement,
properly handle this case inside nouveau move notify callback.

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,
-- 
1.7.7.1

Reply via email to