drm/msm: Fix build with KMS disabled
authorRob Clark <robin.clark@oss.qualcomm.com>
Wed, 9 Jul 2025 14:08:38 +0000 (07:08 -0700)
committerRob Clark <robin.clark@oss.qualcomm.com>
Fri, 1 Aug 2025 17:48:52 +0000 (10:48 -0700)
When commit 98290b0a7d60 ("drm/msm: make it possible to disable
KMS-related code.") was rebased on top of commit 3bebfd53af0f ("drm/msm:
Defer VMA unmap for fb unpins"), the additional use of msm_kms was
overlooked, resulting in a build break when KMS is disabled.  Add some
additional ifdef to fix that.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 98290b0a7d60 ("drm/msm: make it possible to disable KMS-related code.")
Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
Tested-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Jessica Zhang <jessica.zhang@oss.qualcomm.com>
Patchwork: https://patchwork.freedesktop.org/patch/663240/

drivers/gpu/drm/msm/msm_gem.c

index 33d3354c61020ba52d7d1bf57ac5174915b25e6c..c853ab3a2cda546cfae99d3b90d4d52532b7add7 100644 (file)
@@ -96,7 +96,6 @@ void msm_gem_vma_get(struct drm_gem_object *obj)
 void msm_gem_vma_put(struct drm_gem_object *obj)
 {
        struct msm_drm_private *priv = obj->dev->dev_private;
-       struct drm_exec exec;
 
        if (atomic_dec_return(&to_msm_bo(obj)->vma_ref))
                return;
@@ -104,9 +103,13 @@ void msm_gem_vma_put(struct drm_gem_object *obj)
        if (!priv->kms)
                return;
 
+#ifdef CONFIG_DRM_MSM_KMS
+       struct drm_exec exec;
+
        msm_gem_lock_vm_and_obj(&exec, obj, priv->kms->vm);
        put_iova_spaces(obj, priv->kms->vm, true, "vma_put");
        drm_exec_fini(&exec);     /* drop locks */
+#endif
 }
 
 /*
@@ -664,9 +667,13 @@ int msm_gem_set_iova(struct drm_gem_object *obj,
 
 static bool is_kms_vm(struct drm_gpuvm *vm)
 {
+#ifdef CONFIG_DRM_MSM_KMS
        struct msm_drm_private *priv = vm->drm->dev_private;
 
        return priv->kms && (priv->kms->vm == vm);
+#else
+       return false;
+#endif
 }
 
 /*