drm/gpuvm: allow building as module
authorDanilo Krummrich <dakr@redhat.com>
Wed, 20 Sep 2023 14:42:35 +0000 (16:42 +0200)
committerDanilo Krummrich <dakr@redhat.com>
Mon, 25 Sep 2023 23:58:28 +0000 (01:58 +0200)
Currently, the DRM GPUVM does not have any core dependencies preventing
a module build.

Also, new features from subsequent patches require helpers (namely
drm_exec) which can be built as module.

Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230920144343.64830-3-dakr@redhat.com
drivers/gpu/drm/Kconfig
drivers/gpu/drm/Makefile
drivers/gpu/drm/drm_gpuvm.c
drivers/gpu/drm/nouveau/Kconfig

index ab9ef1c..48ca28a 100644 (file)
@@ -216,6 +216,13 @@ config DRM_EXEC
        help
          Execution context for command submissions
 
+config DRM_GPUVM
+       tristate
+       depends on DRM
+       help
+         GPU-VM representation providing helpers to manage a GPUs virtual
+         address space
+
 config DRM_BUDDY
        tristate
        depends on DRM
index 7a84b3c..8e1bde0 100644 (file)
@@ -45,7 +45,6 @@ drm-y := \
        drm_vblank.o \
        drm_vblank_work.o \
        drm_vma_manager.o \
-       drm_gpuvm.o \
        drm_writeback.o
 drm-$(CONFIG_DRM_LEGACY) += \
        drm_agpsupport.o \
@@ -81,6 +80,7 @@ obj-$(CONFIG_DRM_PANEL_ORIENTATION_QUIRKS) += drm_panel_orientation_quirks.o
 #
 #
 obj-$(CONFIG_DRM_EXEC) += drm_exec.o
+obj-$(CONFIG_DRM_GPUVM) += drm_gpuvm.o
 
 obj-$(CONFIG_DRM_BUDDY) += drm_buddy.o
 
index d55267d..02ecb45 100644 (file)
@@ -1723,3 +1723,6 @@ drm_gpuva_ops_free(struct drm_gpuvm *gpuvm,
        kfree(ops);
 }
 EXPORT_SYMBOL_GPL(drm_gpuva_ops_free);
+
+MODULE_DESCRIPTION("DRM GPUVM");
+MODULE_LICENSE("GPL");
index c52e809..1e6aaf9 100644 (file)
@@ -11,6 +11,7 @@ config DRM_NOUVEAU
        select DRM_TTM
        select DRM_TTM_HELPER
        select DRM_EXEC
+       select DRM_GPUVM
        select DRM_SCHED
        select I2C
        select I2C_ALGOBIT