]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/msm/dpu: Fix adjusted mode clock check for 3d merge
authorJessica Zhang <jessica.zhang@oss.qualcomm.com>
Tue, 23 Sep 2025 23:03:50 +0000 (16:03 -0700)
committerDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Tue, 28 Oct 2025 22:20:47 +0000 (00:20 +0200)
Since 3D merge allows for larger modes to be supported across 2 layer
mixers, filter modes based on adjusted mode clock / 2 when 3d merge is
supported.

Reported-by: Abel Vesa <abel.vesa@linaro.org>
Fixes: 62b7d6835288 ("drm/msm/dpu: Filter modes based on adjusted mode clock")
Signed-off-by: Jessica Zhang <jessica.zhang@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@linaro.org>
Tested-by: Abel Vesa <abel.vesa@linaro.org>
Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/676353/
Link: https://lore.kernel.org/r/20250923-modeclk-fix-v2-1-01fcd0b2465a@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c

index 4b970a59deafdae3eb964da912e7f1f1d181eec7..2f8156051d9b0d6f270535567d33de6a46fed382 100644 (file)
@@ -1545,6 +1545,9 @@ static enum drm_mode_status dpu_crtc_mode_valid(struct drm_crtc *crtc,
        adjusted_mode_clk = dpu_core_perf_adjusted_mode_clk(mode->clock,
                                                            dpu_kms->perf.perf_cfg);
 
+       if (dpu_kms->catalog->caps->has_3d_merge)
+               adjusted_mode_clk /= 2;
+
        /*
         * The given mode, adjusted for the perf clock factor, should not exceed
         * the max core clock rate