linux_dsm_epyc7002/drivers/gpu/drm/amd
Jay Cornwall 157e586dc9 drm/amdkfd: Preserve wave state after instruction fetch MEM_VIOL
If instruction fetch fails the wave cannot be halted and returned to
the shader without raising MEM_VIOL again. Currently the wave is
terminated if this occurs, but this loses information about the cause
of the fault. The debugger would prefer the faulting wave state to be
context-saved.

Poll inside the trap handler until TRAPSTS.SAVECTX indicates context
save is ready. Exit the poll loop and complete the remainder of the
exception handler, then return to the shader. The next instruction
fetch will be from the trap handler and not the faulting PC. Context
save will then deschedule the wave and save its state.

Signed-off-by: Jay Cornwall <Jay.Cornwall@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-05-24 12:21:01 -05:00
..
acp drm/amdgpu: Remove wrapper layer of cgs irq handling 2018-03-21 14:36:58 -05:00
amdgpu drm/amdgpu: use pcie_bandwidth_available rather than open coding it 2019-05-24 12:21:01 -05:00
amdkfd drm/amdkfd: Preserve wave state after instruction fetch MEM_VIOL 2019-05-24 12:21:01 -05:00
display gpu: fix typos in code comments 2019-05-24 12:21:01 -05:00
include drm/amdkfd: Shift sdma_engine_id and sdma_queue_id in mqd 2019-05-24 12:21:01 -05:00
powerplay drm/amd/powerplay: enable ppfeaturemask module parameter support on Vega20 2019-05-24 12:21:01 -05:00