drm/nouveau: use GPUVM common infrastructure
authorDanilo Krummrich <dakr@redhat.com>
Mon, 13 Nov 2023 22:12:00 +0000 (23:12 +0100)
committerDanilo Krummrich <dakr@redhat.com>
Fri, 24 Nov 2023 19:58:12 +0000 (20:58 +0100)
commit014f831abcb82738e57c0b00db66dfef0798ed67
tree3f8c7be06026767a0a8866e84991054162e5ff0d
parent6c18005d8fabe8a6835fc0f96102d4269199e05b
drm/nouveau: use GPUVM common infrastructure

GPUVM provides common infrastructure to track external and evicted GEM
objects as well as locking and validation helpers.

Especially external and evicted object tracking is a huge improvement
compared to the current brute force approach of iterating all mappings
in order to lock and validate the GPUVM's GEM objects. Hence, make us of
it.

Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231113221202.7203-1-dakr@redhat.com
drivers/gpu/drm/nouveau/nouveau_bo.c
drivers/gpu/drm/nouveau/nouveau_exec.c
drivers/gpu/drm/nouveau/nouveau_exec.h
drivers/gpu/drm/nouveau/nouveau_sched.c
drivers/gpu/drm/nouveau/nouveau_sched.h
drivers/gpu/drm/nouveau/nouveau_uvmm.c