]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/exynos: fimd: Guard display clock control with runtime PM calls
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 18 Jun 2025 12:06:26 +0000 (14:06 +0200)
committerInki Dae <inki.dae@samsung.com>
Sun, 29 Jun 2025 07:58:16 +0000 (16:58 +0900)
commit5d91394f236167ac624b823820faf4aa928b889e
tree357bb467379fee59c9b2b167ae2a38331ee654b7
parentb846350aa272de99bf6fecfa6b08e64ebfb13173
drm/exynos: fimd: Guard display clock control with runtime PM calls

Commit c9b1150a68d9 ("drm/atomic-helper: Re-order bridge chain pre-enable
and post-disable") changed the call sequence to the CRTC enable/disable
and bridge pre_enable/post_disable methods, so those bridge methods are
now called when CRTC is not yet enabled.

This causes a lockup observed on Samsung Peach-Pit/Pi Chromebooks. The
source of this lockup is a call to fimd_dp_clock_enable() function, when
FIMD device is not yet runtime resumed. It worked before the mentioned
commit only because the CRTC implemented by the FIMD driver was always
enabled what guaranteed the FIMD device to be runtime resumed.

This patch adds runtime PM guards to the fimd_dp_clock_enable() function
to enable its proper operation also when the CRTC implemented by FIMD is
not yet enabled.

Fixes: 196e059a8a6a ("drm/exynos: convert clock_enable crtc callback to pipeline clock")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_fimd.c