]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/arm/malidp: use clk_bulk API in runtime PM resume and suspend
authorGustavo Kenji Mendonça Kaneko <kaneko.dev@pm.me>
Tue, 9 Jun 2026 13:08:19 +0000 (13:08 +0000)
committerLiviu Dudau <liviu.dudau@arm.com>
Tue, 30 Jun 2026 14:26:54 +0000 (15:26 +0100)
commit46f715a16989f4e7bbbc2eb41447051874b027f3
treee8af3e62d01a6f0517ca56bb5f348b7ab76493d1
parent4e1a53892ba7f8a3e1da6bfc53c83ae7c812dccd
drm/arm/malidp: use clk_bulk API in runtime PM resume and suspend

malidp_runtime_pm_resume() calls clk_prepare_enable() three times
without checking the return value. If any clock fails to enable, the
driver silently proceeds with unclocked hardware, leading to undefined
behavior.

Convert both the resume and suspend paths to use the clk_bulk API:
clk_bulk_prepare_enable() in resume checks the return value and rolls
back any successfully enabled clocks on failure;
clk_bulk_disable_unprepare() in suspend keeps the two paths symmetric.

This issue was found by code review without access to Mali DP hardware.

Signed-off-by: Gustavo Kenji Mendonça Kaneko <kaneko.dev@pm.me>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Link: https://patch.msgid.link/20260609130812.1065699-1-kaneko.dev@pm.me
Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
drivers/gpu/drm/arm/malidp_drv.c