On Mon, May 26, 2025 at 01:19:23PM +0200, Tommaso Merciai wrote: > 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...@bp.renesas.com> > > > > > Closes: https://lore.kernel.org/all/aDB8bD6cF7qiSpKd@tom-desktop/ > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai...@bp.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@smarc-rzg3e:~# modetest -M rzg2l-du -d -s HDMI-A-1:800x600-56.25@XR24 > > > 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@smarc-rzg3e:~# modetest -M rzg2l-du -d -s HDMI-A-1:800x600-56.25@XR24 > > > 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.
In particular, if the driver needs to have mode_set called before atomic_enable, you should say why moving the call to mode_set earlier in the function wouldn't work. Maxime
signature.asc
Description: PGP signature