]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/msm/dpu: Disable scaling for unsupported scaler types
authorVladimir Lypak <vladimir.lypak@gmail.com>
Fri, 17 Oct 2025 19:58:37 +0000 (19:58 +0000)
committerDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Tue, 28 Oct 2025 22:20:47 +0000 (00:20 +0200)
Scaling is not implemented for some type of scalers (QSEED2 and RGB) but
it was unintentionally re-enabled with change below. The remaining
condition in dpu_plane_atomic_check_pipe is not enough because it only
checks for length of scaler block (which is present). This patch adds a
additional check for setup_scaler operation.

Fixes: 8f15005783b8 ("drm/msm/dpu: move scaling limitations out of the hw_catalog")
Signed-off-by: Vladimir Lypak <vladimir.lypak@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Patchwork: https://patchwork.freedesktop.org/patch/681918/
Link: https://lore.kernel.org/r/20251017-b4-dpu-fixes-v1-3-40ce5993eeb6@gmail.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c

index d198a65a2c5fef5fbdebc9c383a4b08bc71b8bf3..6effe0fa4837284a1f038e4907c4c91d239aeb8b 100644 (file)
@@ -740,7 +740,7 @@ static int dpu_plane_atomic_check_pipe(struct dpu_plane *pdpu,
         * We already have verified scaling against platform limitations.
         * Now check if the SSPP supports scaling at all.
         */
-       if (!sblk->scaler_blk.len &&
+       if (!(sblk->scaler_blk.len && pipe->sspp->ops.setup_scaler) &&
            ((drm_rect_width(&new_plane_state->src) >> 16 !=
              drm_rect_width(&new_plane_state->dst)) ||
             (drm_rect_height(&new_plane_state->src) >> 16 !=