[PATCH v6 6/7] drm/msm/dsi: update hdisplay calculation for dsi_timing_setup

Marijn Suijten marijn.suijten at somainline.org
Sun May 7 15:30:50 UTC 2023


On 2023-05-04 15:34:08, Jessica Zhang wrote:
> 
> 
> On 5/4/2023 2:56 PM, Marijn Suijten wrote:
> > 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 at quicinc.com>
> >> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov at 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 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.
> 
> Hi Marijn,
> 
> Just checking, are you testing this with the DSI for DSC v1.2 changes? 

Yes, all the series, including those that are implicitly/indirectly
required.  This specific patch is pointed out by git bisect.

> That series includes a fix to the word count calculation [1] needed to 
> get DSC working.

No, we cannot have this series introduce a bug and depend on *a future*
series to fix that, if that's what you're saying.

> Thanks,
> 
> Jessica Zhang
> 
> [1] https://patchwork.freedesktop.org/patch/535115/?series=117219&rev=1

That ""fix"" won't have any effect since slice_count is 1 for this
specific panel/device:

https://github.com/SoMainline/linux/commit/b154ea72e6c2ca0d4a33a28cc24e3a762dba4948

- Marijn

> 
> > 
> > - Marijn
> > 
> >>   		h_total += hdisplay;
> >>   		ha_end = ha_start + hdisplay;
> >>   	}
> >>
> >> -- 
> >> 2.40.0
> >>


More information about the dri-devel mailing list