nouveau: reset the bo resource bus info after an eviction
authorDave Airlie <airlied@redhat.com>
Mon, 11 Mar 2024 07:20:37 +0000 (17:20 +1000)
committerDanilo Krummrich <dakr@redhat.com>
Tue, 12 Mar 2024 20:13:19 +0000 (21:13 +0100)
Later attempts to refault the bo won't happen and the whole
GPU does to lunch. I think Christian's refactoring of this
code out to the driver broke this not very well tested path.

Fixes: 141b15e59175 ("drm/nouveau: move io_reserve_lru handling into the driver v5")
Cc: Christian König <christian.koenig@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240311072037.287905-1-airlied@gmail.com
drivers/gpu/drm/nouveau/nouveau_bo.c

index 56dcd25db1ce2c79b8a6be7c0ea684838e74e655..db8cbf6151129d63fd24e42626dfd10e4c84bb33 100644 (file)
@@ -1256,6 +1256,8 @@ out:
                        drm_vma_node_unmap(&nvbo->bo.base.vma_node,
                                           bdev->dev_mapping);
                        nouveau_ttm_io_mem_free_locked(drm, nvbo->bo.resource);
+                       nvbo->bo.resource->bus.offset = 0;
+                       nvbo->bo.resource->bus.addr = NULL;
                        goto retry;
                }