From: Abhinav Kumar <quic_abhinavk@quicinc.com>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Robert Foss <rfoss@kernel.org>,
Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
Jonas Karlman <jonas@kwiboo.se>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>,
Marijn Suijten <marijn.suijten@somainline.org>,
<dri-devel@lists.freedesktop.org>,
<linux-arm-msm@vger.kernel.org>,
<freedreno@lists.freedesktop.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v5 5/9] drm/msm/hdmi: turn mode_set into atomic_enable
Date: Thu, 20 Jun 2024 15:05:16 -0700 [thread overview]
Message-ID: <8dd4a43e-d83c-1f36-21ff-61e13ff751e7@quicinc.com> (raw)
In-Reply-To: <il2bg6bsu4nu4lpztzwo2rfonttiy64grxcsn7n4uybn3eui77@jxyzd744ksva>
On 6/20/2024 2:24 PM, Dmitry Baryshkov wrote:
> On Thu, Jun 20, 2024 at 01:49:33PM GMT, Abhinav Kumar wrote:
>>
>>
>> On 6/20/2024 1:32 PM, Dmitry Baryshkov wrote:
>>> On Thu, Jun 20, 2024 at 01:27:15PM GMT, Abhinav Kumar wrote:
>>>>
>>>>
>>>> On 6/7/2024 6:23 AM, Dmitry Baryshkov wrote:
>>>>> The mode_set callback is deprecated, it doesn't get the
>>>>> drm_bridge_state, just mode-related argumetns. Turn it into the
>>>>> atomic_enable callback as suggested by the documentation.
>>>>>
>>>>
>>>> mode_set is deprecated but atomic_mode_set is not.
>>>
>>> There is no atomic_mode_set() in drm_bridge_funcs. Also:
>>>
>>
>> Please excuse me. I thought since encoder has atomic_mode_set(), bridge has
>> one too.
>>
>>> * This is deprecated, do not use!
>>> * New drivers shall set their mode in the
>>> * &drm_bridge_funcs.atomic_enable operation.
>>>
>>
>> Yes I saw this note but it also says "new drivers" and not really enforcing
>> migrating existing ones which are using modeset to atomic_enable.
>
> Well, deprecated functions are supposed to be migrated.
>
Along with rest of the pieces of the driver :)
>> My concern is that today the timing engine setup happens in encoder's
>> enable() and the hdmi's timing is programmed in mode_set().
>>
>> Ideally, we should program hdmi's timing registers first before the
>> encoder's timing.
>>
>> Although timing engine is not enabled yet, till post_kickoff, this is
>> changing the sequence.
>>
>> If this really required for rest of this series?
>
> No, it was just worth doing it as I was doing conversion to atomic_*
> anyway. I can delay this patch for now.
>
> Two questions:
>
> 1) Are you sure regarding the HDMI timing registers vs INTF order? I
> observe the underrun issues while changing modes on db820c.
>
Yes this is the order I see in the docs:
1) setup HDMI PHY and PLL
2) setup HDMI video path correctly (HDMI timing registers)
3) setup timing generator to match the HDMI video in (2)
4) Enable timing engine
This change is mixing up the order of (2) and (3).
> 2) What should be the order between programming of the HDMI timing
> engine and HDMI PHY?
>
Mentioned above.
> What would be your opinion on moving HDMI timing programming to
> atomic_pre_enable? (the exact place depends on the answer on the second
> question).
>
So
-> bridge->pre_enable() : Do HDMI timing programming
-> encoder->atomic_enable() : Do timing engine programming
-> post_kickoff() does timing engine enable
This matches the steps I wrote above.
Hence this is fine from my PoV.
>>
>>>>
>>>> I would rather use atomic_mode_set because moving to atomic_enable() would
>>>> be incorrect.
>>>>
>>>> That would be called after encoder's enable and hence changes the sequence.
>>>> That was not the intention of this patch.
>>>>
>>>> NAK.
>>>>
>>>>> Acked-by: Maxime Ripard <mripard@kernel.org>
>>>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>>>>> ---
>>>>> drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 33 ++++++++++++++++++++++++++-------
>>>>> 1 file changed, 26 insertions(+), 7 deletions(-)
>>>
>>>
>
next prev parent reply other threads:[~2024-06-20 22:05 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-07 13:22 [PATCH v5 0/9] drm/msm: make use of the HDMI connector infrastructure Dmitry Baryshkov
2024-06-07 13:22 ` [PATCH v5 1/9] drm/connector: hdmi: allow disabling Audio Infoframe Dmitry Baryshkov
2024-06-10 8:30 ` Maxime Ripard
2024-06-07 13:22 ` [PATCH v5 2/9] drm/bridge-connector: switch to using drmm allocations Dmitry Baryshkov
2024-06-10 8:04 ` Maxime Ripard
2024-06-10 11:46 ` Dmitry Baryshkov
2024-06-10 12:07 ` Maxime Ripard
2024-06-10 17:54 ` Dmitry Baryshkov
2024-06-11 8:54 ` Maxime Ripard
2024-06-11 11:26 ` Dmitry Baryshkov
2024-06-13 7:57 ` Maxime Ripard
2024-06-07 13:23 ` [PATCH v5 3/9] drm/bridge-connector: implement glue code for HDMI connector Dmitry Baryshkov
2024-06-07 13:23 ` [PATCH v5 4/9] drm/msm/hdmi: switch to atomic bridge callbacks Dmitry Baryshkov
2024-06-20 20:19 ` Abhinav Kumar
2024-06-07 13:23 ` [PATCH v5 5/9] drm/msm/hdmi: turn mode_set into atomic_enable Dmitry Baryshkov
2024-06-20 20:27 ` Abhinav Kumar
2024-06-20 20:32 ` Dmitry Baryshkov
2024-06-20 20:49 ` Abhinav Kumar
2024-06-20 21:24 ` Dmitry Baryshkov
2024-06-20 22:05 ` Abhinav Kumar [this message]
2024-06-20 22:17 ` Dmitry Baryshkov
2024-06-07 13:23 ` [PATCH v5 6/9] drm/msm/hdmi: make use of the drm_connector_hdmi framework Dmitry Baryshkov
2024-06-07 13:23 ` [PATCH v5 7/9] drm/msm/hdmi: get rid of hdmi_mode Dmitry Baryshkov
2024-06-20 20:54 ` Abhinav Kumar
2024-06-07 13:23 ` [PATCH v5 8/9] drm/msm/hdmi: update HDMI_GEN_PKT_CTRL_GENERIC0_UPDATE definition Dmitry Baryshkov
2024-06-20 20:57 ` Abhinav Kumar
2024-06-07 13:23 ` [PATCH v5 9/9] drm/msm/hdmi: also send the SPD and HDMI Vendor Specific InfoFrames Dmitry Baryshkov
2024-06-10 8:39 ` Maxime Ripard
2024-06-12 8:02 ` (subset) [PATCH v5 0/9] drm/msm: make use of the HDMI connector infrastructure Dmitry Baryshkov
2024-06-23 7:14 ` Dmitry Baryshkov
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=8dd4a43e-d83c-1f36-21ff-61e13ff751e7@quicinc.com \
--to=quic_abhinavk@quicinc.com \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=daniel@ffwll.ch \
--cc=dmitry.baryshkov@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=marijn.suijten@somainline.org \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=rfoss@kernel.org \
--cc=robdclark@gmail.com \
--cc=sean@poorly.run \
--cc=tzimmermann@suse.de \
/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