1
0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2026-01-12 01:20:14 +00:00
Pratap Nirujogi 7ed51e3a13 drm/amd/amdgpu: Fix SMU warning during isp suspend-resume
ISP mfd child devices are using genpd and the system suspend-resume
operations between genpd and amdgpu parent device which uses only
runtime suspend-resume are not in sync.

Linux power manager during suspend-resume resuming the genpd devices
earlier than the amdgpu parent device. This is resulting in the below
warning as SMU is in suspended state when genpd attempts to resume ISP.

WARNING: CPU: 13 PID: 5435 at drivers/gpu/drm/amd/amdgpu/../pm/swsmu/amdgpu_smu.c:398 smu_dpm_set_power_gate+0x36f/0x380 [amdgpu]

To fix this warning isp suspend-resume is handled as part of amdgpu
parent device suspend-resume instead of genpd sequence. Each ISP MFD
child device is marked as dev_pm_syscore_device to skip genpd
suspend-resume and use pm_runtime_force api's to suspend-resume
the devices when callbacks from amdgpu are received.

Co-developed-by: Gjorgji Rosikopulos <grosikop@amd.com>
Signed-off-by: Gjorgji Rosikopulos <grosikop@amd.com>
Signed-off-by: Bin Du <bin.du@amd.com>
Signed-off-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 0288a345f19b2162546352161509bb24614729e1)
2026-01-05 17:29:51 -05:00
..
2025-12-05 17:29:04 -08:00
2026-01-02 12:15:59 -08:00
2025-12-05 17:29:04 -08:00
2025-12-05 17:29:04 -08:00
2025-12-05 17:47:59 -08:00
2025-11-27 18:11:43 -08:00
2025-12-09 06:35:53 +09:00
2025-12-04 18:42:48 -08:00
2025-12-06 09:01:27 -08:00
2025-12-13 16:36:57 +12:00
2025-12-21 15:21:10 -08:00
2025-12-09 06:10:17 +09:00
2025-12-21 15:21:10 -08:00
2025-12-21 14:41:29 -08:00
2025-12-14 06:07:09 +12:00
2025-12-05 17:29:04 -08:00
2025-12-05 17:29:04 -08:00
2026-01-02 12:15:59 -08:00
2025-12-06 08:27:07 -08:00
2025-12-05 17:29:04 -08:00
2025-12-04 15:18:33 -08:00
2025-12-06 09:32:25 -08:00
2025-12-09 08:53:24 +09:00
2025-12-13 16:29:22 +12:00
2025-12-02 17:03:55 -08:00
2025-12-05 17:29:04 -08:00
2025-12-03 12:42:36 -08:00
2025-12-03 17:24:33 -08:00
2025-12-04 17:10:08 -08:00
2025-12-13 17:09:06 +12:00
2025-12-03 17:24:33 -08:00
2025-12-06 09:01:27 -08:00
2025-12-14 15:35:35 +12:00
2025-11-21 21:27:20 +01:00
2025-12-06 10:00:49 -08:00
2025-12-06 10:49:19 -08:00
2025-12-06 18:52:00 -08:00
2025-12-06 18:52:00 -08:00