OpenCloudOS-Kernel/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
..
Kconfig drm/amdkfd: Allow building KFD on ARM64 (v2) 2019-01-14 15:59:37 -05:00
Makefile drm/amdgpu: Merge amdkfd into amdgpu 2018-08-28 11:22:42 -05:00
cik_event_interrupt.c drm/amdkfd: Simplify kfd2kgd interface 2018-11-05 14:21:07 -05:00
cik_int.h drm/amdkfd: Clean up reference of radeon 2018-07-11 22:33:08 -04:00
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: Fix race between scheduler and context restore 2018-07-11 22:32:46 -04:00
cwsr_trap_handler_gfx8.asm drm/amdkfd: Fix race between scheduler and context restore 2018-07-11 22:32:46 -04:00
cwsr_trap_handler_gfx9.asm drm/amdkfd: Fix race between scheduler and context restore 2018-07-11 22:32:46 -04: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 drm/amdkfd: Clean up reference of radeon 2018-07-11 22:33:08 -04:00
kfd_dbgdev.h drm/amdkfd: Clean up reference of radeon 2018-07-11 22:33:08 -04:00
kfd_dbgmgr.c drm/amdkfd: Make sched_policy a per-device setting 2018-01-04 17:17:43 -05:00
kfd_dbgmgr.h drm/amdkfd: Clean up KFD style errors and warnings v2 2017-08-15 23:00:04 -04:00
kfd_debugfs.c drm/amdkfd: Add debugfs interface to trigger HWS hang 2018-07-11 22:33:04 -04:00
kfd_device.c drm pull request for 4.21-rc1 2018-12-25 11:48:26 -08: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_queue_manager_cik.c drm/amdkfd: Add dGPU support to the device queue manager 2018-01-04 17:17:44 -05:00
kfd_device_queue_manager_v9.c drm/amdkfd: Use module parameters noretry as the internal variable name 2018-07-11 22:33:06 -04:00
kfd_device_queue_manager_vi.c drm/amd/amdkfd: Remove duplicate header 2018-11-26 15:54:39 -05:00
kfd_doorbell.c drm/amdkfd: Fix kernel queue 64 bit doorbell offset calculation 2018-07-11 22:33:01 -04:00
kfd_events.c drm/amdkfd: Optimize out some duplicated code in kfd_signal_iommu_event() 2018-07-13 16:17:47 -04:00
kfd_events.h drm/amdkfd: Implement GPU reset handlers in KFD 2018-07-11 22:32:56 -04:00
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 drm/amdkfd: fix zero reading of VMID and PASID for Hawaii 2018-07-11 22:32:51 -04:00
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 drm/amdkfd: Centralize IOMMUv2 code and make it conditional 2017-12-08 19:22:12 -05:00
kfd_kernel_queue.c drm/amdkfd: Added Vega12 and Polaris12 for KFD. 2018-11-19 16:38:13 -05:00
kfd_kernel_queue.h drm/amdkfd: Replace mqd with mqd_mgr as the variable name for mqd_manager 2018-07-11 22:33:07 -04:00
kfd_kernel_queue_cik.c drm/amdkfd: Add 64-bit doorbell and wptr support to kernel queue 2018-04-08 22:03:51 -04:00
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 drm/amdkfd: Add GFXv9 PM4 packet writer functions 2018-04-10 17:33:07 -04:00
kfd_module.c drm/amdgpu: Remove kgd2kfd function pointers 2019-01-14 15:04:29 -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_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_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.h drm/amdkfd: Update PM4 packet headers 2017-08-15 23:00:15 -04:00
kfd_pm4_headers_ai.h drm/amdkfd: Add GFXv9 PM4 packet writer functions 2018-04-10 17:33:07 -04:00
kfd_pm4_headers_diq.h drm/amdkfd: Add skeleton H/W debugger module support 2015-06-03 11:32:28 +03:00
kfd_pm4_headers_vi.h drm/amdkfd: Update PM4 packet headers 2017-08-15 23:00:15 -04:00
kfd_pm4_opcodes.h amdkfd: Add kernel queue module 2014-07-17 00:45:35 +03:00
kfd_priv.h drm/amdkfd: Fix bugs regarding CP queue doorbell mask on SOC15 2019-02-18 18:00:41 -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_process_queue_manager.c drm/amdkfd: Add wavefront context save state retrieval ioctl 2018-09-26 21:09:15 -05:00
kfd_queue.c drm/amdkfd: use %px to print user space address instead of %p 2018-05-01 17:56:04 -04:00
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
soc15_int.h drm/amdkfd: Add SOC15 interrupt processing support 2018-04-10 17:33:10 -04:00