Hey Alex, I took a crack at the implementation I was talking about here, where we can protect the read argument register reads as well. I only transitioned the actual implementation for hardware that I have funds for/access to, and left an '_unsafe' path for the other implementations since I cannot test. What do you think of this implementation? Matt Coffin (2): drm/amdgpu/powerplay: Refactor SMU message handling for safety drm/amdgpu/smu: Add message sending lock drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 47 +++---- drivers/gpu/drm/amd/powerplay/arcturus_ppt.c | 18 +-- .../gpu/drm/amd/powerplay/inc/amdgpu_smu.h | 3 +- drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h | 7 +- drivers/gpu/drm/amd/powerplay/inc/smu_v12_0.h | 3 +- drivers/gpu/drm/amd/powerplay/navi10_ppt.c | 76 ++++++----- drivers/gpu/drm/amd/powerplay/renoir_ppt.c | 22 ++-- drivers/gpu/drm/amd/powerplay/smu_internal.h | 15 ++- drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 118 +++++++++--------- drivers/gpu/drm/amd/powerplay/smu_v12_0.c | 65 ++++++---- drivers/gpu/drm/amd/powerplay/vega20_ppt.c | 42 +++---- 11 files changed, 216 insertions(+), 200 deletions(-) -- 2.25.0 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx