linux/drivers/gpu/drm/amd/amdkfd
Jay Cornwall 8c7a5d9e6f drm/amdkfd: Use SQC when TCP would fail in gfx9 context save.
When a wavefront raises TRAPSTS.XNACK_ERROR with STATUS.ALLOW_REPLAY=0
subsequent memory instructions have undefined behavior. In practice
SQC stores continue to work but TCP stores do not.

Context save is permitted to fail after XNACK error because the
wavefront will be halted and subsequently terminated. However the
debugger has an interest in retrieving the wavefront VGPR/LDS state.

Detect the out-of-spec case and use SQC stores during context save
in place of TCP stores.

Signed-off-by: Jay Cornwall <jay.cornwall@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-07-30 23:19:47 -05:00
..
cik_event_interrupt.c drm/amdkfd: Simplify kfd2kgd interface 2018-11-05 14:21:07 -05:00
cik_int.h
cik_regs.h drm/amdkfd: Delete a duplicate statement in set_pasid_vmid_mapping() 2018-11-05 14:21:13 -05:00
cwsr_trap_handler.h drm/amdkfd: Use SQC when TCP would fail in gfx9 context save. 2019-07-30 23:19:47 -05:00
cwsr_trap_handler_gfx8.asm drm/amdkfd: Fix gfx8 MEM_VIOL exception handler 2019-05-24 12:21:01 -05:00
cwsr_trap_handler_gfx9.asm drm/amdkfd: Use SQC when TCP would fail in gfx9 context save. 2019-07-30 23:19:47 -05:00
cwsr_trap_handler_gfx10.asm drm/amdkfd: Add navi10 support to amdkfd. (v3) 2019-06-21 18:59:24 -05:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
kfd_chardev.c drm/amdkfd: Return proper error code for gws alloc API 2019-05-31 10:39:33 -05:00
kfd_crat.c drm/amdkfd: Increase vcrat size for GPU 2019-07-18 14:18:07 -05:00
kfd_crat.h drm/amdkfd: Adjust weight to represent num_hops info when report xgmi iolink 2019-05-24 12:20:48 -05:00
kfd_dbgdev.c
kfd_dbgdev.h
kfd_dbgmgr.c
kfd_dbgmgr.h
kfd_debugfs.c amdkfd: no need to check return value of debugfs_create functions 2019-06-13 13:59:49 -05:00
kfd_device.c drm/amdkfd: Add device id for real asics 2019-07-18 14:18:06 -05:00
kfd_device_queue_manager.c drm/amdkfd: Fix sdma_bitmap overflow issue 2019-07-18 14:18:04 -05:00
kfd_device_queue_manager.h drm/amdkfd: Add navi10 support to amdkfd. (v3) 2019-06-21 18:59:24 -05:00
kfd_device_queue_manager_cik.c drm/amdkfd: Introduce asic-specific mqd_manager_init function 2019-05-24 12:21:02 -05:00
kfd_device_queue_manager_v9.c drm/amdkfd: Consistently apply noretry setting 2019-07-16 13:02:55 -05:00
kfd_device_queue_manager_v10.c drm/amdkfd: Add navi10 support to amdkfd. (v3) 2019-06-21 18:59:24 -05:00
kfd_device_queue_manager_vi.c drm/amdkfd: Introduce asic-specific mqd_manager_init function 2019-05-24 12:21:02 -05:00
kfd_doorbell.c
kfd_events.c drm/amdkfd: Cosmetic cleanup 2019-05-24 12:20:48 -05:00
kfd_events.h
kfd_flat_memory.c amd/amdkfd: Add ASIC ARCTURUS to kfd 2019-07-18 14:18:03 -05:00
kfd_int_process_v9.c drm/amdkfd: Support MMHUB1 in kfd interrupt path 2019-07-18 14:18:04 -05:00
kfd_interrupt.c
kfd_iommu.c drm/amdkfd: Initialize HSA_CAP_ATS_PRESENT capability in topology codes 2019-06-11 12:57:25 -05:00
kfd_iommu.h
kfd_kernel_queue.c amd/amdkfd: Add ASIC ARCTURUS to kfd 2019-07-18 14:18:03 -05:00
kfd_kernel_queue.h drm/amdkfd: Add navi10 support to amdkfd. (v3) 2019-06-21 18:59:24 -05:00
kfd_kernel_queue_cik.c
kfd_kernel_queue_v9.c drm/amdkfd: Support bigger gds size 2019-07-18 14:18:03 -05:00
kfd_kernel_queue_v10.c drm/amdkfd: Add navi10 support to amdkfd. (v3) 2019-06-21 18:59:24 -05:00
kfd_kernel_queue_vi.c drm/amdkfd: Delete alloc_format field from map_queue struct 2019-05-24 12:21:03 -05:00
kfd_module.c drm/amdkfd: Add procfs-style information for KFD processes 2019-06-20 11:34:00 -05:00
kfd_mqd_manager.c drm/amdkfd: Separate mqd allocation and initialization 2019-06-11 12:56:59 -05:00
kfd_mqd_manager.h drm/amdkfd: Separate mqd allocation and initialization 2019-06-11 12:56:59 -05:00
kfd_mqd_manager_cik.c drm/amdkfd: Separate mqd allocation and initialization 2019-06-11 12:56:59 -05:00
kfd_mqd_manager_v9.c drm/amdkfd: Separate mqd allocation and initialization 2019-06-11 12:56:59 -05:00
kfd_mqd_manager_v10.c drm/amdkfd: Add navi10 support to amdkfd. (v3) 2019-06-21 18:59:24 -05:00
kfd_mqd_manager_vi.c drm/amdkfd: Separate mqd allocation and initialization 2019-06-11 12:56:59 -05:00
kfd_packet_manager.c amd/amdkfd: Add ASIC ARCTURUS to kfd 2019-07-18 14:18:03 -05:00
kfd_pasid.c drm/amdkfd: Simplify kfd2kgd interface 2018-11-05 14:21:07 -05:00
kfd_pm4_headers.h
kfd_pm4_headers_ai.h drm/amdkfd: Support bigger gds size 2019-07-18 14:18:03 -05:00
kfd_pm4_headers_diq.h
kfd_pm4_headers_vi.h drm/amdkfd: Delete alloc_format field from map_queue struct 2019-05-24 12:21:03 -05:00
kfd_pm4_opcodes.h
kfd_priv.h drm/amdkfd: Consistently apply noretry setting 2019-07-16 13:02:55 -05:00
kfd_process.c drm/amdkfd: Add navi10 support to amdkfd. (v3) 2019-06-21 18:59:24 -05:00
kfd_process_queue_manager.c drm/amdkfd: Remove GWS from process during uninit 2019-07-17 13:34:31 -05:00
kfd_queue.c
kfd_topology.c amd/amdkfd: Add ASIC ARCTURUS to kfd 2019-07-18 14:18:03 -05:00
kfd_topology.h drm/amdkfd: Add gws number to kfd topology node properties 2019-05-28 14:43:58 -05:00
Makefile drm/amdkfd: Add navi10 support to amdkfd. (v3) 2019-06-21 18:59:24 -05:00
soc15_int.h