On 5/14/2023 2:29 PM, Marijn Suijten wrote:
On 2023-05-12 14:32:18, 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.
As mentioned in review on an earlier revision, is there any sort of
clarification you can provide here to explain the cases where
hdisplay!=bytes_per_line? That goes a long way towards justifying this
change. Thanks!
Hi Marijn,
Sorry for not responding to this in the earlier revision, I think I
missed the original comment.
Please correct me if I'm wrong, but I'm guessing the question here is
why we can't keep the hdisplay adjustment as `hdisplay /= 3` and have to
go out of our way to recalculate hdisplay before doing the `/ 3`.
This is because the original adjustment only works for BPP = 8. By using
the msm_dsc_get_bytes_per_line() here, we can generalize this adjustment
to work for cases where BPP != 8.
Thanks,
Jessica Zhang
- Marijn
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
Reviewed-by: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>
Signed-off-by: Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>
---
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 9eeda018774e..739f62643cc5 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_bytes_per_line(msm_host->dsc) / 3;
h_total += hdisplay;
ha_end = ha_start + hdisplay;
}
--
2.40.1