Am 09.09.23 um 17:31 schrieb Danilo Krummrich:
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.

Signed-off-by: Danilo Krummrich <d...@redhat.com>

Reviewed-by: Christian König <christian.koe...@amd.com> for this one here.

I hope that I can get somebody to work on the remaining patches with the end goal of using this in amdgpu as well.

Regards,
Christian.

---
  drivers/gpu/drm/Kconfig         | 7 +++++++
  drivers/gpu/drm/Makefile        | 2 +-
  drivers/gpu/drm/drm_gpuvm.c     | 3 +++
  drivers/gpu/drm/nouveau/Kconfig | 1 +
  4 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index ab9ef1c20349..0f78a03e4e84 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -216,6 +216,13 @@ config DRM_EXEC
        help
          Execution context for command submissions
+config DRM_GPUVM
+       tristate
+       depends on DRM && DRM_EXEC
+       help
+         GPU-VM representation providing helpers to manage a GPUs virtual
+         address space
+
  config DRM_BUDDY
        tristate
        depends on DRM
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 7a84b3cddeab..8e1bde059170 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -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 diff --git a/drivers/gpu/drm/drm_gpuvm.c b/drivers/gpu/drm/drm_gpuvm.c
index de1a69bc4a44..aae086deaa2b 100644
--- a/drivers/gpu/drm/drm_gpuvm.c
+++ b/drivers/gpu/drm/drm_gpuvm.c
@@ -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");
diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig
index c52e8096cca4..1e6aaf95ff7c 100644
--- a/drivers/gpu/drm/nouveau/Kconfig
+++ b/drivers/gpu/drm/nouveau/Kconfig
@@ -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

Reply via email to