Assorted KFD changes that have been accumulating on amd-kfd-staging. New features and fixes included: * Support for VegaM * Support for systems with multiple PCI domains * New SDMA queue type that's optimized for XGMI links * SDMA MQD allocation changes to support future ASICs with more SDMA queues * Fix for compute profile switching at process termination * Fix for a circular lock dependency in MMU notifiers * Fix for TLB flushing bug with XGMI enabled * Fix for artificial GTT system memory limitation * Trap handler updates Amber Lin (1): drm/amdkfd: Add domain number into gpu_id Felix Kuehling (1): drm/amdkfd: Fix a circular lock dependency Harish Kasiviswanathan (1): drm/amdkfd: Fix compute profile switching Jay Cornwall (4): drm/amdkfd: Fix gfx8 MEM_VIOL exception handler drm/amdkfd: Preserve wave state after instruction fetch MEM_VIOL drm/amdkfd: Fix gfx9 XNACK state save/restore drm/amdkfd: Preserve ttmp[4:5] instead of ttmp[14:15] Kent Russell (2): drm/amdkfd: Add VegaM support drm/amdgpu: Fix GTT size calculation Oak Zeng (16): drm/amdkfd: Use 64 bit sdma_bitmap drm/amdkfd: Add sdma allocation debug message drm/amdkfd: Differentiate b/t sdma_id and sdma_queue_id drm/amdkfd: Shift sdma_engine_id and sdma_queue_id in mqd drm/amdkfd: Fix a potential memory leak drm/amdkfd: Introduce asic-specific mqd_manager_init function drm/amdkfd: Introduce DIQ type mqd manager drm/amdkfd: Init mqd managers in device queue manager init drm/amdkfd: Add mqd size in mqd manager struct drm/amdkfd: Allocate MQD trunk for HIQ and SDMA drm/amdkfd: Move non-sdma mqd allocation out of init_mqd drm/amdkfd: Allocate hiq and sdma mqd from mqd trunk drm/amdkfd: Fix sdma queue map issue drm/amdkfd: Introduce XGMI SDMA queue type drm/amdkfd: Expose sdma engine numbers to topology drm/amdkfd: Delete alloc_format field from map_queue struct Yong Zhao (1): drm/amdkfd: Move sdma_queue_id calculation into allocate_sdma_queue() shaoyunl (1): drm/amdgpu: Use heavy weight for tlb invalidation on xgmi configuration .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 53 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 9 +- .../gpu/drm/amd/amdkfd/cwsr_trap_handler.h | 483 +++++++++--------- .../drm/amd/amdkfd/cwsr_trap_handler_gfx8.asm | 13 - .../drm/amd/amdkfd/cwsr_trap_handler_gfx9.asm | 63 +-- drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 2 + drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 5 + drivers/gpu/drm/amd/amdkfd/kfd_device.c | 51 ++ .../drm/amd/amdkfd/kfd_device_queue_manager.c | 354 ++++++++----- .../drm/amd/amdkfd/kfd_device_queue_manager.h | 14 +- .../amd/amdkfd/kfd_device_queue_manager_cik.c | 2 + .../amd/amdkfd/kfd_device_queue_manager_v9.c | 1 + .../amd/amdkfd/kfd_device_queue_manager_vi.c | 2 + drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c | 1 + drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 6 +- .../gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c | 4 +- .../gpu/drm/amd/amdkfd/kfd_kernel_queue_vi.c | 4 +- drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.c | 70 ++- drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.h | 8 + .../gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c | 53 +- .../gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c | 85 +-- .../gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c | 53 +- .../gpu/drm/amd/amdkfd/kfd_packet_manager.c | 4 +- .../gpu/drm/amd/amdkfd/kfd_pm4_headers_ai.h | 7 +- .../gpu/drm/amd/amdkfd/kfd_pm4_headers_vi.h | 7 +- drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 14 +- .../amd/amdkfd/kfd_process_queue_manager.c | 14 +- drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 13 +- drivers/gpu/drm/amd/amdkfd/kfd_topology.h | 2 + drivers/gpu/drm/amd/include/cik_structs.h | 3 +- drivers/gpu/drm/amd/include/v9_structs.h | 3 +- drivers/gpu/drm/amd/include/vi_structs.h | 3 +- include/uapi/linux/kfd_ioctl.h | 7 +- 33 files changed, 826 insertions(+), 587 deletions(-) -- 2.17.1 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx