Re: [PATCH 0/9] drm/amdgpu/gfx7: Use GFX IP block soft reset on GFX7 (v2)
Alex Deucher <[email protected]> Wed, 29 Jul 2026 10:43:09 -0400
| Newsgroups | org.freedesktop.lists.amd-gfx |
|---|---|
| Message-ID | <CADnq5_O-OCL00WVytyYD2qhfo5fbOAytQWr425ziXwybPeDAFw@mail.gmail.com> |
Applied the series. Thanks! Alex On Tue, Jul 21, 2026 at 7:43 AM Timur Kristóf <[email protected]> wrote: > > GFX IP block soft reset has been implemented as recovery > method so that we can have a way to reset just the GFX > block without resetting the whole GPU or losing the > contents of VRAM. > > Fix up various things in the GFX7 code to prepare it > to work with IP block soft reset. The main challenge > was fixing up the MQD/HQD handling to ensure that it > doesn't hang after the soft reset. There are also > other minor fixups. > > Rework the pre-existing GFX7 soft reset implementation > like the reworked version on GFX8 to make it more robust. > In practice, this means that it will now reset everything > in the GFX IP block (instead of taking a guess at which > parts need to be reset) to make it consistent, and it now > also handles clock and power gating to make sure not to > degrade GPU functionality after a GFX IP block soft reset. > > This improves current user experience on all GFX7 chips: > > On Kaveri and Kabini there is currently no working > GPU recovery method so those chips currently require > the user to manually reset the computer when there > was a hang. > > On Hawaii and Bonaire, the current GPU recovery method > always clears the contents of VRAM, which means that > a buggy (hanging) app can crash the whole graphical > session, which is less than ideal. > > Using GFX IP block soft reset means that we can now > have a working recovery on GFX7 APUs and we can also > move on from GFX hangs on dGPUs without crashing the > whole system. > > Tested on the following chips: > > Bonaire (Radeon HD 7790) > Hawaii (Radeon R9 390X) > Kaveri (A10-7850K) > > Changes from v1 to v2: > > * Add more explanation to various patches > * Address feedback from the review of the v1 > > Timur Kristóf (9): > drm/amdgpu/gfx7: Make amdgpu_gfx_mqd_sw_init() usable on GFX7 > drm/amdgpu/gfx7: Refactor MQD initialization and finalization > drm/amdgpu/gfx7: Return error code when compute ring tests fail > drm/amdgpu/gfx7: Return error code when failing to start GFX ring > drm/amdgpu/gfx7: Fixup emitting SWITCH_BUFFER packets > drm/amdgpu/gfx7: Clean up gfx ring during reset > drm/amdgpu/gfx7: Use COND_EXEC > drm/amdgpu/gfx7: Fixup IP block soft reset > drm/amdgpu/gfx7: Enable IP block soft reset as a GPU recovery method > > drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 4 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 7 +- > drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 331 +++++++++++++----------- > 3 files changed, 186 insertions(+), 156 deletions(-) > > -- > 2.55.0 >