From: Abhinav Kumar <quic_abhinavk@quicinc.com>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>,
Marijn Suijten <marijn.suijten@somainline.org>,
David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
Abel Vesa <abel.vesa@linaro.org>,
Johan Hovold <johan+linaro@kernel.org>,
<linux-arm-msm@vger.kernel.org>,
<dri-devel@lists.freedesktop.org>,
<freedreno@lists.freedesktop.org>
Subject: Re: [PATCH v3 7/9] drm/msm/dpu: drop _dpu_crtc_check_and_setup_lm_bounds from atomic_begin
Date: Wed, 19 Jun 2024 10:10:23 -0700 [thread overview]
Message-ID: <88886ed2-d92c-ae0b-e0b6-06576e7862a2@quicinc.com> (raw)
In-Reply-To: <CAA8EJppDcjf1JYi+iCheNt7XR-vfYx+JQ_QsBkXbR3wJD2egpg@mail.gmail.com>
On 6/18/2024 8:26 PM, Dmitry Baryshkov wrote:
> On Wed, 19 Jun 2024 at 01:56, Abhinav Kumar <quic_abhinavk@quicinc.com> wrote:
>> On 6/13/2024 4:20 PM, Abhinav Kumar wrote:
>>> On 6/13/2024 3:36 PM, Dmitry Baryshkov wrote:
>>>> The dpu_crtc_atomic_check() already calls the function
>>>> _dpu_crtc_check_and_setup_lm_bounds(). There is no need to call it
>>>> again from dpu_crtc_atomic_begin().
>>>>
>>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>>>> ---
>>>> drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 2 --
>>>> 1 file changed, 2 deletions(-)
>>>>
>>>
>>> Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
>>
>>
>> This change is causing a small regression on sc7280 chromebook.
>>
>> I have tested and concluded that this is causing the chrome boot
>> animation to disappear.
>>
>> I have tested a couple of times and without this change it works fine.
>>
>> If this change was meant as an optimization, can we drop this one and
>> investigate later why this is causing one? I have not spent time
>> investigating why it happened. Rest of the series works well and I dont
>> see any dependency as such. Let me know if that works for you. Otherwise
>> I will have to spend a little more time on this patch and why chrome
>> compositor does not like this for the animation screen.
>
> Oh, my. Thank you for the test!
> I think I know what's happening. The cstate->num_mixers gets set only
> in dpu_encoder_virt_atomic_mode_set(). So during
> dpu_crtc_atomic_check() we don't have cstate->num_mixers is stale (and
> if it is 0, the check is skipped).
>
Yes, it is a possible explanation for this.
> I guess I'll have to move cstate->mixers[] and cstate->num_mixers
> assignment to the dpu_encoder_virt_atomic_check(). And maybe we should
> start thinking about my old idea of moving resource allocation to the
> CRTC code.
>
I wonder if thats the right fix though because it seems correct to me
that num_mixers is set in mode_set after the atomic_check phase.
Perhaps the right way would be to breakup check_and_set() to check() and
set() respectively and call only the check() part in atomic_check() and
keep the set() part in atomic_begin to avoid duplication.
Either way, I think we should re-visit this as this patch by itself is
an optimization and I am totally fine if you want to merge the rest of
this series just dropping this one for now.
next prev parent reply other threads:[~2024-06-19 17:10 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-13 22:36 [PATCH v3 0/9] drm/msm/dpu: be more friendly to X.org Dmitry Baryshkov
2024-06-13 22:36 ` [PATCH v3 1/9] drm/msm/dpu: check for overflow in _dpu_crtc_setup_lm_bounds() Dmitry Baryshkov
2024-06-13 23:13 ` Abhinav Kumar
2024-06-18 22:49 ` Abhinav Kumar
2024-06-13 22:36 ` [PATCH v3 2/9] drm/msm/dpu: drop dpu_format_check_modified_format Dmitry Baryshkov
2024-06-13 23:14 ` Abhinav Kumar
2024-06-18 22:50 ` Abhinav Kumar
2024-06-13 22:36 ` [PATCH v3 3/9] drm/msm/dpu: drop dpu_format_populate_layout from dpu_plane_sspp_atomic_update Dmitry Baryshkov
2024-06-18 22:51 ` Abhinav Kumar
2024-06-13 22:36 ` [PATCH v3 4/9] drm/msm/dpu: split dpu_format_populate_layout Dmitry Baryshkov
2024-06-18 22:51 ` Abhinav Kumar
2024-06-13 22:36 ` [PATCH v3 5/9] drm/msm/dpu: move dpu_format_populate_plane_sizes to atomic_check Dmitry Baryshkov
2024-06-13 23:19 ` Abhinav Kumar
2024-06-14 10:34 ` Dmitry Baryshkov
2024-06-18 22:52 ` Abhinav Kumar
2024-06-13 22:36 ` [PATCH v3 6/9] drm/msm/dpu: check for the plane pitch overflow Dmitry Baryshkov
2024-06-18 22:53 ` Abhinav Kumar
2024-06-13 22:36 ` [PATCH v3 7/9] drm/msm/dpu: drop _dpu_crtc_check_and_setup_lm_bounds from atomic_begin Dmitry Baryshkov
2024-06-13 23:20 ` Abhinav Kumar
2024-06-18 22:56 ` Abhinav Kumar
2024-06-19 3:26 ` Dmitry Baryshkov
2024-06-19 17:10 ` Abhinav Kumar [this message]
2024-06-20 11:59 ` Dmitry Baryshkov
2024-06-13 22:36 ` [PATCH v3 8/9] drm/msm/dpu: merge MAX_IMG_WIDTH/HEIGHT with DPU_MAX_IMG_WIDTH/HEIGHT Dmitry Baryshkov
2024-06-18 22:57 ` Abhinav Kumar
2024-06-13 22:36 ` [PATCH v3 9/9] drm/msm/dpu: sync mode_config limits to the FB limits in dpu_plane.c Dmitry Baryshkov
2024-06-13 23:16 ` Abhinav Kumar
2024-06-18 22:57 ` Abhinav Kumar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=88886ed2-d92c-ae0b-e0b6-06576e7862a2@quicinc.com \
--to=quic_abhinavk@quicinc.com \
--cc=abel.vesa@linaro.org \
--cc=airlied@gmail.com \
--cc=daniel@ffwll.ch \
--cc=dmitry.baryshkov@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=johan+linaro@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=marijn.suijten@somainline.org \
--cc=robdclark@gmail.com \
--cc=sean@poorly.run \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox