Re: [Freedreno] [PATCH v10 8/8] drm/msm/dsi: update hdisplay calculation for dsi_timing_setup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux