[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <32af4444-9c88-eb0f-eda7-24fa0418aff6@quicinc.com>
Date: Thu, 13 Oct 2022 09:02:44 -0700
From: Abhinav Kumar <quic_abhinavk@...cinc.com>
To: Marijn Suijten <marijn.suijten@...ainline.org>
CC: <phone-devel@...r.kernel.org>, Vinod Koul <vkoul@...nel.org>,
Jami Kettunen <jami.kettunen@...ainline.org>,
David Airlie <airlied@...il.com>,
<linux-arm-msm@...r.kernel.org>,
Vladimir Lypak <vladimir.lypak@...il.com>,
Konrad Dybcio <konrad.dybcio@...ainline.org>,
<dri-devel@...ts.freedesktop.org>,
Douglas Anderson <dianders@...omium.org>,
Rob Clark <robdclark@...il.com>,
Martin Botka <martin.botka@...ainline.org>,
<~postmarketos/upstreaming@...ts.sr.ht>,
Daniel Vetter <daniel@...ll.ch>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...ainline.org>,
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
<freedreno@...ts.freedesktop.org>, Sean Paul <sean@...rly.run>,
<linux-kernel@...r.kernel.org>
Subject: Re: [Freedreno] [PATCH v3 06/10] drm/msm/dsi: Migrate to
drm_dsc_compute_rc_parameters()
On 10/13/2022 2:36 AM, Marijn Suijten wrote:
> On 2022-10-12 16:03:06, Abhinav Kumar wrote:
>>
>>
>> On 10/9/2022 11:50 AM, Marijn Suijten wrote:
>>> As per the FIXME this code is entirely duplicate with what is already
>>> provided inside drm_dsc_compute_rc_parameters(), and it is yet unknown
>>> why this comment was put in place instead of resolved from the get-go.
>>> Not only does it save on duplication, it would have also spared certain
>>> issues.
>>>
>>> For example, this code from downstream assumed dsc->bits_per_pixel to
>>> contain an integer value, whereas the upstream drm_dsc_config struct has
>>> it with 4 fractional bits. drm_dsc_compute_rc_parameters() already
>>> accounts for this feat, and the sole remaining use of
>>> dsc->bits_per_pixel inside dsi_populate_dsc_params() will be addressed
>>> in a separate patch.
>>>
>>
>> This is a nice cleanup! Thanks for doing this. I would actually like to
>> move towards the drm_dsc_compute_rc_parameters() API.
>>
>> But I would like to hold back this change till Vinod clarifies because
>> Vinod had mentioned that with drm_dsc_compute_rc_parameters() he was
>> seeing a mismatch in the computation of two values.
>>
>> slice_bpg_offset and the final_offset.
>
> Unsurprisingly so because final_offset, and slice_bpg_offset through
> initial_offset depend directly on bits_per_pixel. The main takeaway of
> this series is that Vinod was interpreting this field as integer instead
> of containing 4 fractional bits. If he updates his the panel driver [1]
> to set bits_per_pixel = 8 << 4 instead of just 8 to account for this,
> the values should check out once again.
>
> [1]: https://git.linaro.org/people/vinod.koul/kernel.git/commit/?h=topic/pixel3_5.18-rc1&id=1d7d98ad564f1ec69e7525e07418918d90f247a1
>
> Once Vinod (or someone else in the posession of a Pixel 3) confirms
> this, I can respin this series and more explicitly explain why the FIXME
> was put in place, instead of being resolved outright?
>
> - Marijn
Makes perfect sense to me.
Will just wait for Vinod's tested-by.
>
>>
>> The difference between the upstream drm_dsc_compute_rc_parameters() and
>> dsi_populate_dsc_params() causing this was not clear to me from his
>> explanation earlier.
>>
>> So this was left as a to-do item.
>>
>> I would like this to be re-tested on pixel3 and check if this works for
>> vinod. If not, i think its the right time to debug why and not delay
>> this more.
>>
>> Thanks
>>
>> Abhinav
Powered by blists - more mailing lists