On 2023-04-12 16:25:20, Jessica Zhang wrote: > hdisplay for compressed images should be calculated as bytes_per_slice * > slice_count. Thus, use MSM DSC helper to calculate hdisplay for > dsi_timing_setup instead of directly using mode->hdisplay.
This doesn't really matter in the common case of of bpp=8, as the number of horizontal pixels is equal to the number of horizontal slices times the width of one horizontal slice. > Changes in v3: > - Split from previous patch > - Initialized hdisplay as uncompressed pclk per line at the beginning of > dsi_timing_setup as to not break dual DSI calculations > > Changes in v4: > - Moved pclk_per_intf calculations to DSC hdisplay adjustments > > Signed-off-by: Jessica Zhang <quic_jessz...@quicinc.com> > Reviewed-by: Dmitry Baryshkov <dmitry.barysh...@linaro.org> > --- > drivers/gpu/drm/msm/dsi/dsi_host.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c > b/drivers/gpu/drm/msm/dsi/dsi_host.c > index 508577c596ff..ae966d4e349d 100644 > --- a/drivers/gpu/drm/msm/dsi/dsi_host.c > +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c > @@ -952,7 +952,7 @@ static void dsi_timing_setup(struct msm_dsi_host > *msm_host, bool is_bonded_dsi) > * pulse width same > */ > h_total -= hdisplay; > - hdisplay /= 3; > + hdisplay = msm_dsc_get_pclk_per_intf(msm_host->dsc) / 3; This function sounds like it returns bytes_per_line instead, not the number of pixels in case bpp!=8. Should we rename it? - Marijn > h_total += hdisplay; > ha_end = ha_start + hdisplay; > } > > -- > 2.40.0 >