drm/amdgpu: improve debug VRAM access performance using sdma
authorJonathan Kim <jonathan.kim@amd.com>
Thu, 9 Dec 2021 21:48:56 +0000 (16:48 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Jan 2022 22:52:00 +0000 (17:52 -0500)
commitcb5cc4f573e18deb7d9143de0ccb62c08181bc85
treeb3f34dec7112248a460d5b6ceff3a8f6aacc5158
parent7389a5b837cde5e5cd771619e9f006ae102f5d7d
drm/amdgpu: improve debug VRAM access performance using sdma

For better performance during VRAM access for debugged processes, do
read/write copies over SDMA.

In order to fulfill post mortem debugging on a broken device, fallback to
stable MMIO access when gpu recovery is disabled or when job submission
time outs are set to max.  Failed SDMA access should automatically fall
back to MMIO access.

Use a pre-allocated GTT bounce buffer pre-mapped into GART to avoid
page-table updates and TLB flushes on access.

Signed-off-by: Jonathan Kim <jonathan.kim@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h