]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/amd/display: Fix DMUB reset sequence for DCN401
authorDillon Varone <Dillon.Varone@amd.com>
Thu, 13 Feb 2025 18:10:41 +0000 (13:10 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 5 Mar 2025 15:39:10 +0000 (10:39 -0500)
commit0dfcc2bf269010a6e093793034c048049a40ee93
tree5c61471bfefbf13b60aa09f5d0d67d9945544df8
parenta025f424af0407b7561bd5e6217295dde3abbc2e
drm/amd/display: Fix DMUB reset sequence for DCN401

[WHY]
It should no longer use DMCUB_SOFT_RESET as it can result
in the memory request path becoming desynchronized.

[HOW]
To ensure robustness in the reset sequence:
1) Extend timeout on the "halt" command sent via gpint, and check for
controller to enter "wait" as a stronger guarantee that there are no
requests to memory still in flight.
2) Remove usage of DMCUB_SOFT_RESET
3) Rely on PSP to reset the controller safely

Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Dillon Varone <Dillon.Varone@amd.com>
Signed-off-by: Wayne Lin <wayne.lin@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dmub/src/dmub_dcn401.c
drivers/gpu/drm/amd/display/dmub/src/dmub_dcn401.h