summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSuraj Kandpal <suraj.kandpal@intel.com>2023-09-12 01:07:43 +0530
committerAnimesh Manna <animesh.manna@intel.com>2023-09-14 15:00:19 +0530
commit3106c34df6ace8a123027b9afdc73bb05d530052 (patch)
treee95c15c42f2592188e12cb8bd9daa9694d957dd8
parent3072a24c778a7102d70692af5556e47363114c67 (diff)
downloadlinux-3106c34df6ace8a123027b9afdc73bb05d530052.tar.gz
linux-3106c34df6ace8a123027b9afdc73bb05d530052.tar.bz2
linux-3106c34df6ace8a123027b9afdc73bb05d530052.zip
drm/i915/dsc: Fix pic_width readout
pic_width when written into the PPS register is divided by the no. of vdsc instances first but the actual variable that we compare it to does not change i.e vdsc_cfg->pic_width hence when reading the register back for pic_width it needs to be multiplied by num_vdsc_instances rather than being divided. Fixes: 8b70b5691704 ("drm/i915/vdsc: Fill the intel_dsc_get_pps_config function") Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com> Reviewed-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com> Signed-off-by: Animesh Manna <animesh.manna@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230911193742.836063-1-suraj.kandpal@intel.com
-rw-r--r--drivers/gpu/drm/i915/display/intel_vdsc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c b/drivers/gpu/drm/i915/display/intel_vdsc.c
index 5c00f7ccad7f..6757dbae9ee5 100644
--- a/drivers/gpu/drm/i915/display/intel_vdsc.c
+++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
@@ -879,7 +879,7 @@ static void intel_dsc_get_pps_config(struct intel_crtc_state *crtc_state)
/* PPS 2 */
pps_temp = intel_dsc_pps_read_and_verify(crtc_state, 2);
- vdsc_cfg->pic_width = REG_FIELD_GET(DSC_PPS2_PIC_WIDTH_MASK, pps_temp) / num_vdsc_instances;
+ vdsc_cfg->pic_width = REG_FIELD_GET(DSC_PPS2_PIC_WIDTH_MASK, pps_temp) * num_vdsc_instances;
vdsc_cfg->pic_height = REG_FIELD_GET(DSC_PPS2_PIC_HEIGHT_MASK, pps_temp);
/* PPS 3 */