[PATCH v6 4/4] RFT: drm/rockchip: Create custom commit tail
Chaoyi Chen
chaoyi.chen at rock-chips.com
Tue Dec 2 19:10:26 PST 2025
Hi Linus,
On 12/3/2025 5:02 AM, Linus Walleij wrote:
> commit c9b1150a68d9362a0827609fc0dc1664c0d8bfe1
> "drm/atomic-helper: Re-order bridge chain pre-enable and post-disable"
> caused a series of regressions in all panels that send
> DSI commands in their .prepare() and .unprepare()
> callbacks when used with the Rockchip driver.
>
> As the CRTC is no longer online at bridge_pre_enable()
> and gone at brige_post_disable() which maps to the panel
> bridge .prepare()/.unprepare() callbacks, any CRTC that
> enable/disable the DSI transmitter in it's enable/disable
> callbacks will be unable to send any DSI commands in the
> .prepare() and .unprepare() callbacks.
>
> However the Rockchip driver definitely need the CRTC to be
> enabled during .prepare()/.unprepare().
>
> Solve this by implementing a custom commit tail function
> in the Rockchip driver that always enables the CRTC first
> and disables it last, using the newly exported helpers.
>
> This patch is an edited carbon-copy of the same patch to
> the ST-Ericsson MCDE driver.
>
> Link: https://lore.kernel.org/all/CAAMcf8Di8sc_XVZAnzQ9sUiUf-Ayvg2yjhx2dWmvvCnfF3pBRA@mail.gmail.com/
> Reported-by: Aradhya Bhatia <aradhya.bhatia at linux.dev>
> Reported-by: Vicente Bergas <vicencb at gmail.com>
> Signed-off-by: Linus Walleij <linusw at kernel.org>
> ---
> Rockchip people: can you please test this patch (along
> with patch 1 of course).
> ---
> drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 50 +++++++++++++++++++++++++++++-
> 1 file changed, 49 insertions(+), 1 deletion(-)
>
It seems that multiple drivers currently depend on the CRTC being
enabled and they implement the same atomic_commit_tail().
Why not implement this in drm_atomic_helper_commit_tail_rpm() instead?
Or why not use another common helper function for this?
--
Best,
Chaoyi
More information about the Linux-rockchip
mailing list