From: Mario Limonciello <[email protected]> Chris Bainbridge reported some list corruption occurring around the suspend sequence when an aborted suspend occurs.
I couldn't reproduce this specific problem, but when I tried I found some other issues where the cached DM state isn't properly destroyed. This is because there isn't a complete() callback to match the prepare() callback used by amdgpu. Normally the PM core will call complete() after every suspend attempt (succesful or not). Link: https://gitlab.freedesktop.org/drm/amd/-/issues/4280 Mario Limonciello (3): drm/amd: Add support for a complete pmops action drm/amd/display: Stop storing failures into adev->dm.cached_state drm/amd/display: Destroy cached state in complete() callback drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 22 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 125 +++++++++++------- drivers/gpu/drm/amd/include/amd_shared.h | 1 + 5 files changed, 103 insertions(+), 48 deletions(-) -- 2.43.0
