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

Jessica Zhang quic_jesszhan at quicinc.com
Tue May 16 18:18:17 UTC 2023



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 at linaro.org>
>> Reviewed-by: Marijn Suijten <marijn.suijten at somainline.org>
>> Signed-off-by: Jessica Zhang <quic_jesszhan at quicinc.com>
>> ---
>>   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
>>


More information about the Freedreno mailing list