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@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
To help us debug these kind of issues, can you pls point us to your
panel driver?
h_total += hdisplay;
ha_end = ha_start + hdisplay;
}
--
2.40.0