2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/drivers/gpu/drm/exynos
Marek Szyprowski 5d91394f23
drm/exynos: fimd: Guard display clock control with runtime PM calls
Commit c9b1150a68 ("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: 196e059a8a ("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>
2025-06-29 16:58:16 +09:00
..
exynos7_drm_decon.c drm/exynos: exynos7_drm_decon: add vblank check in IRQ handling 2025-06-29 16:58:16 +09:00
exynos5433_drm_decon.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
exynos_dp.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
exynos_drm_crtc.c drm/exynos: fix a possible null-pointer dereference due to data race in exynos_drm_crtc_atomic_disable() 2023-08-08 09:35:11 +09:00
exynos_drm_crtc.h drm/exynos: remove unused prototype for crtc 2024-11-04 10:42:50 +09:00
exynos_drm_dma.c ARM: 9417/1: dma-mapping: Pass device to arm_iommu_create_mapping() 2024-09-04 15:02:07 +01:00
exynos_drm_dpi.c drm/exynos: dpi: Change connector type to DPI 2023-12-12 13:06:38 +09:00
exynos_drm_drv.c drm/exynos: Remove unnecessary checking 2025-04-23 22:52:58 +09:00
exynos_drm_drv.h drm/exynos: Remove unnecessary code 2024-09-06 16:02:33 +09:00
exynos_drm_dsi.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
exynos_drm_fb.c drm/exynos: Implement fbdev emulation as in-kernel client 2023-04-17 16:47:55 +09:00
exynos_drm_fb.h
exynos_drm_fbdev.c drm/exynos-drm: Run DRM default client setup 2024-09-26 09:31:29 +02:00
exynos_drm_fbdev.h drm/exynos-drm: Run DRM default client setup 2024-09-26 09:31:29 +02:00
exynos_drm_fimc.c drm/exynos: Fix spelling mistake "enqueu" -> "enqueue" 2025-04-23 23:07:28 +09:00
exynos_drm_fimd.c drm/exynos: fimd: Guard display clock control with runtime PM calls 2025-06-29 16:58:16 +09:00
exynos_drm_g2d.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
exynos_drm_g2d.h drm/exynos: fix g2d_open/close helper function definitions 2023-05-15 14:10:34 +09:00
exynos_drm_gem.c drm/exynos: Don't use %pK through printk 2025-06-29 16:58:13 +09:00
exynos_drm_gem.h
exynos_drm_gsc.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
exynos_drm_ipp.c drm/exynos: Don't use %pK through printk 2025-06-29 16:58:13 +09:00
exynos_drm_ipp.h
exynos_drm_mic.c drm/exynos: mic: convert to devm_drm_bridge_alloc() API 2025-04-29 11:21:23 +02:00
exynos_drm_plane.c
exynos_drm_plane.h
exynos_drm_rotator.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
exynos_drm_scaler.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
exynos_drm_vidi.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
exynos_drm_vidi.h
exynos_hdmi.c drm/connector: make mode_valid take a const struct drm_display_mode 2025-01-07 12:45:19 +02:00
exynos_mixer.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
Kconfig drm/exynos-drm: Run DRM default client setup 2024-09-26 09:31:29 +02:00
Makefile
regs-decon7.h drm/exynos: exynos7_drm_decon: add driver data and support for Exynos7870 2024-11-04 10:50:46 +09:00
regs-decon5433.h
regs-fimc.h
regs-gsc.h
regs-hdmi.h
regs-mixer.h
regs-rotator.h
regs-scaler.h
regs-vp.h