[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <fdc5c2a6-1df8-41b6-b0c4-5557f8e5d720@oss.qualcomm.com>
Date: Fri, 11 Jul 2025 10:40:39 -0700
From: Jessica Zhang <jessica.zhang@....qualcomm.com>
To: Rob Clark <robin.clark@....qualcomm.com>, dri-devel@...ts.freedesktop.org
Cc: linux-arm-msm@...r.kernel.org, freedreno@...ts.freedesktop.org,
Arnd Bergmann <arnd@...db.de>, Dmitry Baryshkov <lumag@...nel.org>,
Abhinav Kumar <abhinav.kumar@...ux.dev>, Sean Paul <sean@...rly.run>,
Marijn Suijten <marijn.suijten@...ainline.org>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] drm/msm: Fix build with KMS disabled
On 7/9/2025 7:08 AM, Rob Clark wrote:
> 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@...db.de>
> Fixes: 98290b0a7d60 ("drm/msm: make it possible to disable KMS-related code.")
> Signed-off-by: Rob Clark <robin.clark@....qualcomm.com>
Reviewed-by: Jessica Zhang <jessica.zhang@....qualcomm.com>
> ---
> drivers/gpu/drm/msm/msm_gem.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c
> index 33d3354c6102..c853ab3a2cda 100644
> --- a/drivers/gpu/drm/msm/msm_gem.c
> +++ b/drivers/gpu/drm/msm/msm_gem.c
> @@ -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
> }
>
> /*
Powered by blists - more mailing lists