linux_dsm_epyc7002/drivers/gpu/drm/amd/amdkfd
Philip Yang 8dd69e69f4 drm/amdkfd: avoid HMM change cause circular lock
There is circular lock between gfx and kfd path with HMM change:
lock(dqm) -> bo::reserve -> amdgpu_mn_lock

To avoid this, move init/unint_mqd() out of lock(dqm), to remove nested
locking between mmap_sem and bo::reserve. The locking order
is: bo::reserve -> amdgpu_mn_lock(p->mn)

Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-03-19 15:03:37 -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_gfx8.asm
cwsr_trap_handler_gfx9.asm
cwsr_trap_handler.h
Kconfig drm/amdkfd: Allow building KFD on ARM64 (v2) 2019-01-14 15:59:37 -05:00
kfd_chardev.c drm i915 gvt, amdgpu, core fixes 2019-01-05 18:25:19 -08:00
kfd_crat.c drm/amdkfd: Fix if preprocessor statement above kfd_fill_iolink_info_for_cpu 2019-02-05 18:10:28 -05:00
kfd_crat.h drm/amdkfd: Only add bi-directional iolink on GPU with XGMI or largebar (v2) 2018-09-10 22:49:33 -05:00
kfd_dbgdev.c
kfd_dbgdev.h
kfd_dbgmgr.c
kfd_dbgmgr.h
kfd_debugfs.c
kfd_device_queue_manager_cik.c
kfd_device_queue_manager_v9.c
kfd_device_queue_manager_vi.c drm/amd/amdkfd: Remove duplicate header 2018-11-26 15:54:39 -05:00
kfd_device_queue_manager.c drm/amdkfd: avoid HMM change cause circular lock 2019-03-19 15:03:37 -05:00
kfd_device_queue_manager.h drm/amdkfd: Make the number of SDMA queues variable 2018-09-26 21:09:16 -05:00
kfd_device.c drm pull request for 4.21-rc1 2018-12-25 11:48:26 -08:00
kfd_doorbell.c
kfd_events.c
kfd_events.h
kfd_flat_memory.c drm/amdkfd: Added Vega12 and Polaris12 for KFD. 2018-11-19 16:38:13 -05:00
kfd_int_process_v9.c drm/amdkfd: Workaround PASID missing in gfx9 interrupt payload under non HWS 2018-11-19 16:38:14 -05:00
kfd_interrupt.c
kfd_iommu.c drm/amdkfd: Fix ATS capablity was not reported correctly on some APUs 2018-09-20 10:25:23 -05:00
kfd_iommu.h
kfd_kernel_queue_cik.c
kfd_kernel_queue_v9.c drm/amd: Interface change to support 64 bit page_table_base 2018-09-26 21:09:17 -05:00
kfd_kernel_queue_vi.c
kfd_kernel_queue.c drm/amdkfd: Added Vega12 and Polaris12 for KFD. 2018-11-19 16:38:13 -05:00
kfd_kernel_queue.h
kfd_module.c drm/amdgpu: Remove kgd2kfd function pointers 2019-01-14 15:04:29 -05:00
kfd_mqd_manager_cik.c drm/amdkfd: use init_mqd function to allocate object for hid_mqd (CI) 2019-02-27 22:19:07 -05:00
kfd_mqd_manager_v9.c drm/amdkfd: Add proper prefix to functions 2018-11-05 14:21:08 -05:00
kfd_mqd_manager_vi.c drm/amdkfd: Add wavefront context save state retrieval ioctl 2018-09-26 21:09:15 -05:00
kfd_mqd_manager.c drm/amdkfd: Added Vega12 and Polaris12 for KFD. 2018-11-19 16:38:13 -05:00
kfd_mqd_manager.h drm/amdkfd: Add wavefront context save state retrieval ioctl 2018-09-26 21:09:15 -05:00
kfd_packet_manager.c drm/amdkfd: Added Vega12 and Polaris12 for KFD. 2018-11-19 16:38:13 -05:00
kfd_pasid.c drm/amdkfd: Simplify kfd2kgd interface 2018-11-05 14:21:07 -05:00
kfd_pm4_headers_ai.h
kfd_pm4_headers_diq.h
kfd_pm4_headers_vi.h
kfd_pm4_headers.h
kfd_pm4_opcodes.h
kfd_priv.h drm/amdkfd: Fix bugs regarding CP queue doorbell mask on SOC15 2019-02-18 18:00:41 -05:00
kfd_process_queue_manager.c drm/amdkfd: Add wavefront context save state retrieval ioctl 2018-09-26 21:09:15 -05:00
kfd_process.c drm/amdkfd: Fix bugs regarding CP queue doorbell mask on SOC15 2019-02-18 18:00:41 -05:00
kfd_queue.c
kfd_topology.c drm/amdkfd: Don't assign dGPUs to APU topology devices 2019-01-14 15:59:50 -05:00
kfd_topology.h drm/amdkfd: kfd expose the hive_id of the device through its node properties 2018-09-10 22:48:43 -05:00
Makefile
soc15_int.h