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. > > 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_jesszhan@xxxxxxxxxxx> > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > --- > 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 patch is unfortunately regressing the Sony Xperia XZ3 (sdm845, single DSI), which will only show garbage when it is applied. Are you sure this is correct, and the helper is returning the right values? I'll see if I can help review and validate those later, and debug if necessary. - Marijn > h_total += hdisplay; > ha_end = ha_start + hdisplay; > } > > -- > 2.40.0 >