[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <209ddc02-01d2-4375-afcf-2c9a55fe8fc1@bp.renesas.com>
Date: Mon, 26 May 2025 13:19:23 +0200
From: Tommaso Merciai <tommaso.merciai.xr@...renesas.com>
To: Laurent Pinchart <laurent.pinchart@...asonboard.com>
Cc: Maxime Ripard <mripard@...nel.org>, tomm.merciai@...il.com,
linux-renesas-soc@...r.kernel.org, biju.das.jz@...renesas.com,
Andrzej Hajda <andrzej.hajda@...el.com>,
Neil Armstrong <neil.armstrong@...aro.org>, Robert Foss <rfoss@...nel.org>,
Jonas Karlman <jonas@...boo.se>, Jernej Skrabec <jernej.skrabec@...il.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Thomas Zimmermann <tzimmermann@...e.de>, David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>,
Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>,
Douglas Anderson <dianders@...omium.org>, Adam Ford <aford173@...il.com>,
Jesse Van Gavere <jesseevg@...il.com>, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drm/bridge: adv7511: Do not merge adv7511_mode_set() with
atomic_enable()
Hi Laurent,
Thanks for your comment.
On 26/05/25 12:49, Laurent Pinchart wrote:
> On Mon, May 26, 2025 at 11:58:37AM +0200, Tommaso Merciai wrote:
>> Hi Maxime,
>> Thanks for your comment.
>>
>> On 26/05/25 11:26, Maxime Ripard wrote:
>>> Hi,
>>>
>>> On Mon, May 26, 2025 at 10:54:52AM +0200, Tommaso Merciai wrote:
>>>> After adv7511_mode_set() was merged into .atomic_enable(), only the
>>>> native resolution is working when using modetest.
>>>>
>>>> This is caused by incorrect timings: adv7511_mode_set() must not be
>>>> merged into .atomic_enable().
>>>>
>>>> Move adv7511_mode_set() back to the .mode_set() callback in
>>>> drm_bridge_funcs to restore correct behavior.
>>>>
>>>> Fixes: 0a9e2f0a6466 ("drm/bridge: adv7511: switch to the HDMI connector helpers")
>>>> Reported-by: Biju Das <biju.das.jz@...renesas.com>
>>>> Closes: https://lore.kernel.org/all/aDB8bD6cF7qiSpKd@tom-desktop/
>>>> Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@...renesas.com>
>>>
>>> Explaining why, both in the commit log and the comments, would be nice.
>>> Because I can't think of any good reason it just can't work for that
>>> bridge.
>>
>> Sorry, let me clarify and share with you some details:
>>
>> adv7511_mode_set:
>> - Is setting up timings registers for the DSI2HDMI bridge in our case
>> we are using ADV7535 bridge.
>>
>> rzg2l_mipi_dsi_atomic_enable:
>> - Is setting up the vclock for the DSI ip
>>
>> Testing new/old implementation a bit we found the following:
>>
>> root@...rc-rzg3e:~# modetest -M rzg2l-du -d -s HDMI-A-1:800x600-56.25@...4
>> setting mode 800x600-56.25Hz on connectors HDMI-A-1, crtc 62
>> [ 49.273134] adv7511_mode_set_old: drm_mode_vrefresh(mode) = 56
>> [ 49.281006] rzg2l_mipi_dsi_atomic_enable: mode->clock: 36000
>>
>> root@...rc-rzg3e:~# modetest -M rzg2l-du -d -s HDMI-A-1:800x600-56.25@...4
>> setting mode 800x600-56.25Hz on connectors HDMI-A-1, crtc 62
>> [ 74.076881] rzg2l_mipi_dsi_atomic_enable: mode->clock: 36000
>> [ 74.092130] adv7511_mode_set: drm_mode_vrefresh(adj_mode) = 56
>>
>> Same result but different timing (in function call perspective):
>>
>> - old: adv7511_mode_set() is call before rzg2l_mipi_dsi_atomic_enable()
>> - new: adv7511_mode_set() is call after rzg2l_mipi_dsi_atomic_enable()
>
> What is "old" and "new" here ? Is it before and after Dmitry's patch, or
> before and after yours ? Please be precise when describing problems.
Sorry, you are completely right:
- old --> before Dmitry's patch
- new --> after Dmitry's patch
>
>> What do you think? Thanks in advance.
>
> You're only explaining above what the "old" and "new" behaviours are,
> and claiming one of them is causing an issue, but you're not explaining
> *why* it causes an issue. That's what your commit message is expected to
> detail.
>
Thanks for the clarification! :)
I will send v2 explaining better this.
Thanks & Regards,
Tommaso
Powered by blists - more mailing lists