drm/msm/adreno: Add module param to disable ACD
authorAkhil P Oommen <quic_akhilpo@quicinc.com>
Sat, 19 Apr 2025 14:51:33 +0000 (20:21 +0530)
committerRob Clark <robdclark@chromium.org>
Sun, 4 May 2025 16:20:29 +0000 (09:20 -0700)
Add a module param to disable ACD which will help to quickly rule it
out for any GPU issues.

Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
Tested-by: Maya Matuszczyk <maccraft123mc@gmail.com>
Tested-by: Anthony Ruhier <aruhier@mailbox.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Patchwork: https://patchwork.freedesktop.org/patch/649349/
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/adreno/a6xx_gmu.c
drivers/gpu/drm/msm/adreno/adreno_device.c

index 48b4ca8..38c0f8e 100644 (file)
@@ -1670,6 +1670,13 @@ static int a6xx_gmu_acd_probe(struct a6xx_gmu *gmu)
        struct adreno_gpu *adreno_gpu = &a6xx_gpu->base;
        struct msm_gpu *gpu = &adreno_gpu->base;
        int ret, i, cmd_idx = 0;
+       extern bool disable_acd;
+
+       /* Skip ACD probe if requested via module param */
+       if (disable_acd) {
+               DRM_DEV_ERROR(gmu->dev, "Skipping GPU ACD probe\n");
+               return 0;
+       }
 
        cmd->version = 1;
        cmd->stride = 1;
index 236b25c..f5e1490 100644 (file)
@@ -24,6 +24,10 @@ int enable_preemption = -1;
 MODULE_PARM_DESC(enable_preemption, "Enable preemption (A7xx only) (1=on , 0=disable, -1=auto (default))");
 module_param(enable_preemption, int, 0600);
 
+bool disable_acd;
+MODULE_PARM_DESC(disable_acd, "Forcefully disable GPU ACD");
+module_param_unsafe(disable_acd, bool, 0400);
+
 extern const struct adreno_gpulist a2xx_gpulist;
 extern const struct adreno_gpulist a3xx_gpulist;
 extern const struct adreno_gpulist a4xx_gpulist;