drm/msm/dpu: pass mode dimensions instead of fb size in CDM setup
authorPaloma Arellano <quic_parellan@quicinc.com>
Thu, 22 Feb 2024 19:39:48 +0000 (11:39 -0800)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 4 Mar 2024 09:30:35 +0000 (11:30 +0200)
Modify the output width and height parameters of hw_cdm to utilize the
physical encoder's data instead of obtaining the information from the
framebuffer. CDM is to be set up to utilize the actual output data since
at CDM setup, there is no difference between the two sources.

Changes in v2:
- Move the modification of the dimensions for CDM setup to this
  new patch

Signed-off-by: Paloma Arellano <quic_parellan@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/579607/
Link: https://lore.kernel.org/r/20240222194025.25329-4-quic_parellan@quicinc.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c

index 8220cd920e6f4d1fe3af39680b09409e7bf60a76..81824aa1cefcca74e8e7335543711478e62997eb 100644 (file)
@@ -306,8 +306,8 @@ static void dpu_encoder_helper_phys_setup_cdm(struct dpu_encoder_phys *phys_enc)
 
        memset(cdm_cfg, 0, sizeof(struct dpu_hw_cdm_cfg));
 
-       cdm_cfg->output_width = wb_job->fb->width;
-       cdm_cfg->output_height = wb_job->fb->height;
+       cdm_cfg->output_width = phys_enc->cached_mode.hdisplay;
+       cdm_cfg->output_height = phys_enc->cached_mode.vdisplay;
        cdm_cfg->output_fmt = dpu_fmt;
        cdm_cfg->output_type = CDM_CDWN_OUTPUT_WB;
        cdm_cfg->output_bit_depth = DPU_FORMAT_IS_DX(dpu_fmt) ?