linux-stable/drivers/gpu/drm/amd/amdgpu
ozeng a50ecc54ff drm/amdgpu: Fixed a potential circular lock
The dead circular lock senario captured is as followed.
The idea of the fix is moving read_user_wptr outside of
acquire_queue...release_queue critical section

[   63.477482] WARNING: possible circular locking dependency detected
[   63.484091] 4.12.0-kfd-ozeng #3 Not tainted
[   63.488531] ------------------------------------------------------
[   63.495146] HelloWorldLoop/2526 is trying to acquire lock:
[   63.501011]  (&mm->mmap_sem){++++++}, at: [<ffffffff911898ce>] __might_fault+0x3e/0x90
[   63.509472]
               but task is already holding lock:
[   63.515716]  (&adev->srbm_mutex){+.+...}, at: [<ffffffffc0484feb>] lock_srbm+0x2b/0x50 [amdgpu]
[   63.525099]
               which lock already depends on the new lock.

[   63.533841]
               the existing dependency chain (in reverse order) is:
[   63.541839]
               -> #2 (&adev->srbm_mutex){+.+...}:
[   63.548178]        lock_acquire+0x6d/0x90
[   63.552461]        __mutex_lock+0x70/0x8c0
[   63.556826]        mutex_lock_nested+0x16/0x20
[   63.561603]        gfx_v8_0_kiq_resume+0x1039/0x14a0 [amdgpu]
[   63.567817]        gfx_v8_0_hw_init+0x204d/0x2210 [amdgpu]
[   63.573675]        amdgpu_device_init+0xdea/0x1790 [amdgpu]
[   63.579640]        amdgpu_driver_load_kms+0x63/0x220 [amdgpu]
[   63.585743]        drm_dev_register+0x145/0x1e0
[   63.590605]        amdgpu_pci_probe+0x11e/0x160 [amdgpu]
[   63.596266]        local_pci_probe+0x40/0xa0
[   63.600803]        pci_device_probe+0x134/0x150
[   63.605650]        driver_probe_device+0x2a1/0x460
[   63.610785]        __driver_attach+0xdc/0xe0
[   63.615321]        bus_for_each_dev+0x5f/0x90
[   63.619984]        driver_attach+0x19/0x20
[   63.624337]        bus_add_driver+0x40/0x270
[   63.628908]        driver_register+0x5b/0xe0
[   63.633446]        __pci_register_driver+0x5b/0x60
[   63.638586]        rtsx_pci_switch_output_voltage+0x1d/0x20 [rtsx_pci]
[   63.645564]        do_one_initcall+0x4c/0x1b0
[   63.650205]        do_init_module+0x56/0x1ea
[   63.654767]        load_module+0x208c/0x27d0
[   63.659335]        SYSC_finit_module+0x96/0xd0
[   63.664058]        SyS_finit_module+0x9/0x10
[   63.668629]        entry_SYSCALL_64_fastpath+0x1f/0xbe
[   63.674088]
               -> #1 (reservation_ww_class_mutex){+.+.+.}:
[   63.681257]        lock_acquire+0x6d/0x90
[   63.685551]        __ww_mutex_lock.constprop.11+0x8c/0xed0
[   63.691426]        ww_mutex_lock+0x67/0x70
[   63.695802]        amdgpu_verify_access+0x6d/0x100 [amdgpu]
[   63.701743]        ttm_bo_mmap+0x8e/0x100 [ttm]
[   63.706615]        amdgpu_bo_mmap+0xd/0x60 [amdgpu]
[   63.711814]        amdgpu_mmap+0x35/0x40 [amdgpu]
[   63.716904]        mmap_region+0x3b5/0x5a0
[   63.721255]        do_mmap+0x400/0x4d0
[   63.725260]        vm_mmap_pgoff+0xb0/0xf0
[   63.729625]        SyS_mmap_pgoff+0x19e/0x260
[   63.734292]        SyS_mmap+0x1d/0x20
[   63.738199]        entry_SYSCALL_64_fastpath+0x1f/0xbe
[   63.743681]
               -> #0 (&mm->mmap_sem){++++++}:
[   63.749641]        __lock_acquire+0x1401/0x1420
[   63.754491]        lock_acquire+0x6d/0x90
[   63.758750]        __might_fault+0x6b/0x90
[   63.763176]        kgd_hqd_load+0x24f/0x270 [amdgpu]
[   63.768432]        load_mqd+0x4b/0x50 [amdkfd]
[   63.773192]        create_queue_nocpsch+0x535/0x620 [amdkfd]
[   63.779237]        pqm_create_queue+0x34d/0x4f0 [amdkfd]
[   63.784835]        kfd_ioctl_create_queue+0x282/0x670 [amdkfd]
[   63.790973]        kfd_ioctl+0x310/0x4d0 [amdkfd]
[   63.795944]        do_vfs_ioctl+0x90/0x6e0
[   63.800268]        SyS_ioctl+0x74/0x80
[   63.804207]        entry_SYSCALL_64_fastpath+0x1f/0xbe
[   63.809607]
               other info that might help us debug this:

[   63.818026] Chain exists of:
                 &mm->mmap_sem --> reservation_ww_class_mutex --> &adev->srbm_mutex

[   63.830382]  Possible unsafe locking scenario:

[   63.836605]        CPU0                    CPU1
[   63.841364]        ----                    ----
[   63.846123]   lock(&adev->srbm_mutex);
[   63.850061]                                lock(reservation_ww_class_mutex);
[   63.857475]                                lock(&adev->srbm_mutex);
[   63.864084]   lock(&mm->mmap_sem);
[   63.867657]
                *** DEADLOCK ***

[   63.873884] 3 locks held by HelloWorldLoop/2526:
[   63.878739]  #0:  (&process->mutex){+.+.+.}, at: [<ffffffffc06e1a9a>] kfd_ioctl_create_queue+0x24a/0x670 [amdkfd]
[   63.889543]  #1:  (&dqm->lock){+.+...}, at: [<ffffffffc06eedeb>] create_queue_nocpsch+0x3b/0x620 [amdkfd]
[   63.899684]  #2:  (&adev->srbm_mutex){+.+...}, at: [<ffffffffc0484feb>] lock_srbm+0x2b/0x50 [amdgpu]
[   63.909500]
               stack backtrace:
[   63.914187] CPU: 3 PID: 2526 Comm: HelloWorldLoop Not tainted 4.12.0-kfd-ozeng #3
[   63.922184] Hardware name: AMD Carrizo/Gardenia, BIOS WGA5819N_Weekly_15_08_1 08/19/2015
[   63.930865] Call Trace:
[   63.933464]  dump_stack+0x85/0xc9
[   63.936999]  print_circular_bug+0x1f9/0x207
[   63.941442]  __lock_acquire+0x1401/0x1420
[   63.945745]  ? lock_srbm+0x2b/0x50 [amdgpu]
[   63.950185]  lock_acquire+0x6d/0x90
[   63.953885]  ? __might_fault+0x3e/0x90
[   63.957899]  __might_fault+0x6b/0x90
[   63.961699]  ? __might_fault+0x3e/0x90
[   63.965755]  kgd_hqd_load+0x24f/0x270 [amdgpu]
[   63.970577]  load_mqd+0x4b/0x50 [amdkfd]
[   63.974745]  create_queue_nocpsch+0x535/0x620 [amdkfd]
[   63.980242]  pqm_create_queue+0x34d/0x4f0 [amdkfd]
[   63.985320]  kfd_ioctl_create_queue+0x282/0x670 [amdkfd]
[   63.991021]  kfd_ioctl+0x310/0x4d0 [amdkfd]
[   63.995499]  ? kfd_ioctl_destroy_queue+0x70/0x70 [amdkfd]
[   64.001234]  do_vfs_ioctl+0x90/0x6e0
[   64.005065]  ? up_read+0x1a/0x40
[   64.008496]  SyS_ioctl+0x74/0x80
[   64.011955]  entry_SYSCALL_64_fastpath+0x1f/0xbe
[   64.016863] RIP: 0033:0x7f4b3bd35f07
[   64.020696] RSP: 002b:00007ffe7689ec38 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[   64.028786] RAX: ffffffffffffffda RBX: 00000000002a2000 RCX: 00007f4b3bd35f07
[   64.036414] RDX: 00007ffe7689ecb0 RSI: 00000000c0584b02 RDI: 0000000000000005
[   64.044045] RBP: 00007f4a3212d000 R08: 00007f4b3c919000 R09: 0000000000080000
[   64.051674] R10: 00007f4b376b64b8 R11: 0000000000000246 R12: 00007f4a3212d000
[   64.059324] R13: 0000000000000015 R14: 0000000000000064 R15: 00007ffe7689ef50

Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2017-10-06 16:48:00 -04:00
..
amdgpu.h drm/amdgpu: add FENCE_TO_HANDLE ioctl that returns syncobj or sync_file 2017-10-06 16:47:56 -04:00
amdgpu_acp.c drm/amd/amdgpu: Disabling Power Gating for Stoney platform 2017-08-15 14:46:22 -04:00
amdgpu_acp.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
amdgpu_acpi.c drm/amdgpu: Make amdgpu_atif_handler static 2017-08-15 14:46:08 -04:00
amdgpu_afmt.c gpu: drm: amd/radeon: Convert printk(KERN_<LEVEL> to pr_<level> 2017-03-29 23:53:24 -04:00
amdgpu_amdkfd.c drm/amdkfd: Clean up KFD style errors and warnings v2 2017-08-15 23:00:04 -04:00
amdgpu_amdkfd.h drm/amd: Update MEC HQD loading code for KFD 2017-08-15 23:00:17 -04:00
amdgpu_amdkfd_gfx_v7.c drm/amdgpu: Fixed a potential circular lock 2017-10-06 16:48:00 -04:00
amdgpu_amdkfd_gfx_v8.c drm/amdgpu: Fixed a potential circular lock 2017-10-06 16:48:00 -04:00
amdgpu_atombios.c drm/amdgpu/atombios: add function for whether we need asic_init 2017-07-14 11:06:05 -04:00
amdgpu_atombios.h drm/amdgpu/atombios: add function for whether we need asic_init 2017-07-14 11:06:05 -04:00
amdgpu_atomfirmware.c drm/amdgpu: add get_clock_info for atomfirmware 2017-07-14 11:06:38 -04:00
amdgpu_atomfirmware.h drm/amdgpu: add get_clock_info for atomfirmware 2017-07-14 11:06:38 -04:00
amdgpu_atpx_handler.c gpu: drm: amd/radeon: Convert printk(KERN_<LEVEL> to pr_<level> 2017-03-29 23:53:24 -04:00
amdgpu_benchmark.c drm/amdgpu: Add a parameter to amdgpu_bo_create() 2017-08-15 14:45:58 -04:00
amdgpu_bios.c drm/amdgpu: reduce the time of reading VBIOS 2017-07-25 16:37:39 -04:00
amdgpu_bo_list.c drm/amdgpu: Fix preferred typo 2017-08-15 14:46:16 -04:00
amdgpu_cgs.c drm/amdgpu: add cgs interface to register pp handle 2017-09-28 16:03:34 -04:00
amdgpu_connectors.c drm/amd: Remove null check before kfree 2017-08-29 15:57:32 -04:00
amdgpu_connectors.h
amdgpu_cs.c drm/amdgpu: add FENCE_TO_HANDLE ioctl that returns syncobj or sync_file 2017-10-06 16:47:56 -04:00
amdgpu_ctx.c drm/amdgpu:make ctx_add_fence interruptible(v2) 2017-09-26 15:14:13 -04:00
amdgpu_device.c drm/amdgpu: move amdgpu_ucode_init_bo to amdgpu_device.c 2017-09-28 16:03:31 -04:00
amdgpu_display.c drm/amdgpu: switch to drm_*{get,put} helpers 2017-08-15 14:46:12 -04:00
amdgpu_dpm.c drm/amdgpu: rename amdgpu_dpm_funcs to amd_pm_funcs 2017-09-18 23:30:34 -04:00
amdgpu_dpm.h drm/amd/powerplay: move set_clockgating_by_smu to pp func table 2017-10-06 16:47:46 -04:00
amdgpu_drv.c drm/amdgpu: add FENCE_TO_HANDLE ioctl that returns syncobj or sync_file 2017-10-06 16:47:56 -04:00
amdgpu_drv.h
amdgpu_encoders.c
amdgpu_fb.c amdgpu: Only destroy fbdev framebuffer if it was initialized 2017-09-13 12:10:11 -04:00
amdgpu_fence.c drm/amdgpu/SRIOV:implement guilty job TDR for(V2) 2017-05-24 17:40:40 -04:00
amdgpu_gart.c drm/amdgpu: move default gart size setting into gmc modules 2017-08-29 15:27:43 -04:00
amdgpu_gart.h drm/amdgpu: move default gart size setting into gmc modules 2017-08-29 15:27:43 -04:00
amdgpu_gds.h amdgpu: move ttm stuff to amdgpu_ttm.h 2016-08-19 12:30:58 -04:00
amdgpu_gem.c drm/amdgpu: move taking mmap_sem into get_user_pages v2 2017-09-12 14:24:00 -04:00
amdgpu_gfx.c drm/amdgpu: add option for force enable multipipe policy for compute 2017-09-28 16:03:21 -04:00
amdgpu_gfx.h drm/amdgpu/gfx: consolidate mqd buffer setup code 2017-06-07 18:20:59 -04:00
amdgpu_gtt_mgr.c drm/amdgpu: fix amdgpu_ttm_bind 2017-08-29 15:27:46 -04:00
amdgpu_i2c.c drm/amdgpu: Remove checking for atombios 2017-01-27 11:12:39 -05:00
amdgpu_i2c.h drm/amdgpu/i2c: add const where appropriate 2016-09-27 13:00:52 -04:00
amdgpu_ib.c drm/amdgpu:fix world switch hang 2017-07-14 11:06:10 -04:00
amdgpu_ih.c drm/amdgpu: Track pending retry faults in IH and VM (v2) 2017-09-26 14:53:20 -04:00
amdgpu_ih.h drm/amdgpu: Track pending retry faults in IH and VM (v2) 2017-09-26 14:53:20 -04:00
amdgpu_ioc32.c
amdgpu_irq.c drm/amdgpu/virtual_dce: Virtual display doesn't support disable vblank immediately 2017-08-29 15:27:38 -04:00
amdgpu_irq.h drm/amdgpu: switch ih handling to two levels (v3) 2017-03-29 23:53:37 -04:00
amdgpu_job.c drm/amdgpu: allow flushing VMID0 before IB execution as well 2017-07-14 11:05:57 -04:00
amdgpu_kms.c drm/amdgpu: add FENCE_TO_HANDLE ioctl that returns syncobj or sync_file 2017-10-06 16:47:56 -04:00
amdgpu_mn.c drm/amdgpu: keep the MMU lock until the update ends v4 2017-09-12 14:27:56 -04:00
amdgpu_mn.h drm/amdgpu: move MMU notifier related defines to amdgpu_mn.h 2017-09-12 14:29:37 -04:00
amdgpu_mode.h Merge tag 'drm-misc-next-2017-08-08' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-08-10 10:47:33 +10:00
amdgpu_object.c drm/amdgpu: simplify pinning into visible VRAM 2017-09-26 15:14:25 -04:00
amdgpu_object.h drm/amdgpu: fix and cleanup amdgpu_bo_create v2 2017-09-13 12:10:14 -04:00
amdgpu_pll.c drm/amdgpu: add missing header dependencies 2016-09-14 15:10:37 -04:00
amdgpu_pll.h
amdgpu_pm.c drm/amdgpu: delete pp_enable in adev 2017-09-28 16:03:33 -04:00
amdgpu_pm.h drm/amdgpu: Fix amdgpu_pm_acpi_event_handler warning 2017-08-15 14:46:06 -04:00
amdgpu_powerplay.c drm/amd/powerplay: refine code in amd_powerplay.c (v2) 2017-10-01 17:34:18 -04:00
amdgpu_powerplay.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
amdgpu_prime.c drm/amdgpu: Add gem_prime_mmap support 2017-09-26 15:14:37 -04:00
amdgpu_psp.c drm/amdgpu: move amdgpu_ucode_init_bo to amdgpu_device.c 2017-09-28 16:03:31 -04:00
amdgpu_psp.h drm/amdgpu: Add GPU reset functionality for Vega10 2017-09-26 15:14:06 -04:00
amdgpu_queue_mgr.c drm/amdgpu: map compute rings by least recently used pipe 2017-09-28 16:03:22 -04:00
amdgpu_ring.c drm/amdgpu: map compute rings by least recently used pipe 2017-09-28 16:03:22 -04:00
amdgpu_ring.h drm/amdgpu: map compute rings by least recently used pipe 2017-09-28 16:03:22 -04:00
amdgpu_sa.c drm/amdgpu: Add a parameter to amdgpu_bo_create() 2017-08-15 14:45:58 -04:00
amdgpu_sync.c drm/amdgpu: save list length when fence is signaled 2017-08-17 15:46:03 -04:00
amdgpu_sync.h drm/amdgpu: Add amdgpu_sync_wait 2017-06-09 11:29:46 -04:00
amdgpu_test.c drm/amdgpu: Add a parameter to amdgpu_bo_create() 2017-08-15 14:45:58 -04:00
amdgpu_trace.h drm/amdgpu: Use correct path to trace include 2017-09-01 15:01:20 -04:00
amdgpu_trace_points.c drm/amdgpu: clarify license in amdgpu_trace_points.c 2017-09-26 15:14:37 -04:00
amdgpu_ttm.c drm/amdgpu: Fix a bug in amdgpu_fill_buffer() 2017-09-26 15:14:21 -04:00
amdgpu_ttm.h drm/amd/amdgpu: Fold TTM debugfs entries into array (v2) 2017-09-26 15:14:04 -04:00
amdgpu_ucode.c drm/amdgpu/sriov:fix memory leak after gpu reset 2017-09-26 15:14:13 -04:00
amdgpu_ucode.h drm/amdgpu: add new member in gpu_info fw 2017-06-15 11:50:22 -04:00
amdgpu_uvd.c drm/amdgpu:fix uvd ring fini routine(v2) 2017-09-26 15:14:24 -04:00
amdgpu_uvd.h drm/amdgpu: add uvd enc run queue 2017-03-29 23:53:46 -04:00
amdgpu_vce.c drm/amdgpu: move amdgpu_cs_sysvm_access_required into find_mapping 2017-09-12 14:27:22 -04:00
amdgpu_vce.h drm/amdgpu: add saved_bo to save vce 4.0 context when suspend 2017-06-01 16:00:22 -04:00
amdgpu_vcn.c drm/amdgpu: Add a parameter to amdgpu_bo_create() 2017-08-15 14:45:58 -04:00
amdgpu_vcn.h drm/amdgpu: add vcn enc ring type and functions 2017-05-24 17:41:41 -04:00
amdgpu_vf_error.c drm/amdgpu: fix vf error handling 2017-09-28 16:03:20 -04:00
amdgpu_vf_error.h drm/amdgpu: fix vf error handling 2017-09-28 16:03:20 -04:00
amdgpu_virt.c drm/amdgpu: separate bo_va structure 2017-08-17 15:46:07 -04:00
amdgpu_virt.h drm/amdgpu: fix vf error handling 2017-09-28 16:03:20 -04:00
amdgpu_vm.c drm/amdgpu: Handle GPUVM fault storms 2017-09-28 16:03:30 -04:00
amdgpu_vm.h drm/amdgpu: Handle GPUVM fault storms 2017-09-28 16:03:30 -04:00
amdgpu_vram_mgr.c drm/amdgpu: move vram usage tracking into the vram manager v2 2017-08-17 15:46:03 -04:00
atom.c drm/amdgpu: Add debugfs file for VBIOS and version 2017-08-29 15:27:54 -04:00
atom.h drm/amdgpu: Add debugfs file for VBIOS and version 2017-08-29 15:27:54 -04:00
atombios_crtc.c drm/amdgpu/atom: fix ps allocation size for EnableDispPowerGating 2017-06-20 12:06:49 -04:00
atombios_crtc.h drm/amdgpu/atom: add SetDCEClock helper 2016-05-04 20:23:53 -04:00
atombios_dp.c drm/amdgpu: Don't retry 7 times in amdgpu_atombios_dp_get_dpcd() 2016-08-08 13:28:39 -04:00
atombios_dp.h
atombios_encoders.c drm/amdgpu: Remove checking for atombios 2017-01-27 11:12:39 -05:00
atombios_encoders.h
atombios_i2c.c drm/amdgpu: add missing header dependencies 2016-09-14 15:10:37 -04:00
atombios_i2c.h drm/amdgpu: fix power distribution issue for Polaris10 XT 2016-07-14 16:39:35 -04:00
ci_dpm.c drm/amdgpu: move common pm sysfs code to amdgpu_device.c 2017-09-28 16:03:31 -04:00
ci_dpm.h drm/amd/amdgpu: add power profile support for CI 2017-03-29 23:52:52 -04:00
ci_smc.c drm/amd: fix include notation and remove -Iinclude/drm flag 2017-05-16 17:17:41 +02:00
cik.c drm/amdgpu: Correctly establish the suspend/resume hook for amdkfd 2017-07-14 11:06:37 -04:00
cik.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
cik_dpm.h drm/amdgpu: unify the interface of amd_pm_funcs 2017-09-18 23:30:35 -04:00
cik_ih.c drm/amdgpu: Handle GPUVM fault storms 2017-09-28 16:03:30 -04:00
cik_ih.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
cik_sdma.c drm/amdgpu: Add copy_pte_num_dw member in amdgpu_vm_pte_funcs 2017-09-26 15:14:22 -04:00
cik_sdma.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
cikd.h drm/amd: Spelling s/SDMA_WRTIE_SUB_OPCODE_TILED/SDMA_WRITE_SUB_OPCODE_TILED/ 2017-03-29 23:53:21 -04:00
clearstate_ci.h
clearstate_defs.h
clearstate_gfx9.h drm/amdgpu: fix header on gfx9 clear state 2017-07-27 11:17:45 -04:00
clearstate_si.h drm/amdgpu: move misc si headers into amdgpu 2017-01-27 12:20:41 -05:00
clearstate_vi.h
cz_ih.c drm/amdgpu: Handle GPUVM fault storms 2017-09-28 16:03:30 -04:00
cz_ih.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
dce_v6_0.c drm/amdgpu: switch to drm_*{get,put} helpers 2017-08-15 14:46:12 -04:00
dce_v6_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
dce_v8_0.c drm/amdgpu: switch to drm_*{get,put} helpers 2017-08-15 14:46:12 -04:00
dce_v8_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
dce_v10_0.c drm/amdgpu: switch to drm_*{get,put} helpers 2017-08-15 14:46:12 -04:00
dce_v10_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
dce_v11_0.c drm/amdgpu: switch to drm_*{get,put} helpers 2017-08-15 14:46:12 -04:00
dce_v11_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
dce_virtual.c drm/amdgpu/dce_virtual: remove error message for vega10 2017-08-15 14:45:43 -04:00
dce_virtual.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
gfx_v6_0.c drm/amdgpu: use amdgpu_bo_free_kernel more often 2017-08-15 14:45:57 -04:00
gfx_v6_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
gfx_v7_0.c drm/amdgpu: Program SH_STATIC_MEM_CONFIG globally, not per-VMID 2017-08-15 23:00:18 -04:00
gfx_v7_0.h drm/amdgpu: unify MQD programming sequence for kfd and amdgpu v2 2017-05-31 16:48:48 -04:00
gfx_v8_0.c drm/amd/powerplay: move set_clockgating_by_smu to pp func table 2017-10-06 16:47:46 -04:00
gfx_v8_0.h drm/amdgpu: unify MQD programming sequence for kfd and amdgpu v2 2017-05-31 16:48:48 -04:00
gfx_v9_0.c amdgpu/nbio: use constant nbio_hdp_flush_reg structs. 2017-09-29 12:24:39 -04:00
gfx_v9_0.h drm/amdgpu: set gfx_v9_0_ip_funcs as static 2017-08-15 14:46:13 -04:00
gfxhub_v1_0.c drm/amdgpu:halt when vm fault 2017-09-26 15:14:22 -04:00
gfxhub_v1_0.h drm/amdgpu: drop old ip definitions for gfxhub and mmhub 2017-08-15 14:46:00 -04:00
gmc_v6_0.c drm/amdgpu:fix firmware memoryleak(v2) 2017-09-26 15:14:25 -04:00
gmc_v6_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
gmc_v7_0.c drm/amdgpu:fix firmware memoryleak(v2) 2017-09-26 15:14:25 -04:00
gmc_v7_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
gmc_v8_0.c drm/amdgpu:fix firmware memoryleak(v2) 2017-09-26 15:14:25 -04:00
gmc_v8_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
gmc_v9_0.c drm/amd/amdgpu: add vega10/raven mmhub/athub golden settings 2017-09-26 15:14:18 -04:00
gmc_v9_0.h drm/amdgpu: Add GMC 9.0 support (v2) 2017-03-29 23:54:44 -04:00
iceland_ih.c drm/amdgpu: Handle GPUVM fault storms 2017-09-28 16:03:30 -04:00
iceland_ih.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
iceland_sdma_pkt_open.h
Kconfig drm/amdgpu/radeon: Use radeon by default for CIK GPUs 2017-06-08 10:54:37 -04:00
kv_dpm.c drm/amdgpu: move common pm sysfs code to amdgpu_device.c 2017-09-28 16:03:31 -04:00
kv_dpm.h
kv_smc.c drm/amd: fix include notation and remove -Iinclude/drm flag 2017-05-16 17:17:41 +02:00
Makefile drm/amdgpu: Use correct path to trace include 2017-09-01 15:01:20 -04:00
mmhub_v1_0.c drm/amdgpu:halt when vm fault 2017-09-26 15:14:22 -04:00
mmhub_v1_0.h drm/amdgpu: drop old ip definitions for gfxhub and mmhub 2017-08-15 14:46:00 -04:00
mmsch_v1_0.h drm/amdgpu/vce4: move mm table constructions functions into mmsch header file 2017-04-28 17:32:57 -04:00
mxgpu_ai.c drm/amdgpu: Support passing amdgpu critical error to host via GPU Mailbox. 2017-07-14 11:05:52 -04:00
mxgpu_ai.h drm/amdgpu/sriov:increate mailbox polling timeout 2017-09-26 15:14:12 -04:00
mxgpu_vi.c drm/amdgpu: Support passing amdgpu critical error to host via GPU Mailbox. 2017-07-14 11:05:52 -04:00
mxgpu_vi.h drm/amdgpu/sriov:increate mailbox polling timeout 2017-09-26 15:14:12 -04:00
nbio_v6_1.c amdgpu/nbio: use constant nbio_hdp_flush_reg structs. 2017-09-29 12:24:39 -04:00
nbio_v6_1.h amdgpu/nbio: use constant nbio_hdp_flush_reg structs. 2017-09-29 12:24:39 -04:00
nbio_v7_0.c amdgpu/nbio: use constant nbio_hdp_flush_reg structs. 2017-09-29 12:24:39 -04:00
nbio_v7_0.h amdgpu/nbio: use constant nbio_hdp_flush_reg structs. 2017-09-29 12:24:39 -04:00
ObjectID.h Revert "drm/amdgpu: Add virtual connector and encoder macros." 2016-10-25 14:38:06 -04:00
ppsmc.h drm/amdgpu: add new definitions into ppsmc.h for iceland 2016-07-15 12:33:31 -04:00
psp_gfx_if.h drm/amdgpu: add PSP driver for vega10 (v2) 2017-03-29 23:54:48 -04:00
psp_v3_1.c drm/amdgpu: Add GPU reset functionality for Vega10 2017-09-26 15:14:06 -04:00
psp_v3_1.h drm/amdgpu: Add GPU reset functionality for Vega10 2017-09-26 15:14:06 -04:00
psp_v10_0.c drm/amdgpu: Add GPU reset functionality for Vega10 2017-09-26 15:14:06 -04:00
psp_v10_0.h drm/amdgpu: Add GPU reset functionality for Vega10 2017-09-26 15:14:06 -04:00
r600_dpm.h drm/amdgpu: add SI DPM support (v4) 2016-08-31 15:21:09 -04:00
sdma_v2_4.c drm/amdgpu: delete dead code about fw load check 2017-09-28 16:03:32 -04:00
sdma_v2_4.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
sdma_v3_0.c drm/amdgpu: delete dead code about fw load check 2017-09-28 16:03:32 -04:00
sdma_v3_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
sdma_v4_0.c amdgpu/nbio: use constant nbio_hdp_flush_reg structs. 2017-09-29 12:24:39 -04:00
sdma_v4_0.h drm/amdgpu: add SDMA v4.0 implementation (v2) 2017-03-29 23:54:45 -04:00
si.c drm/amdgpu: Fix undue fallthroughs in golden registers initialization 2017-08-15 14:46:05 -04:00
si.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
si_dma.c drm/amdgpu: Add copy_pte_num_dw member in amdgpu_vm_pte_funcs 2017-09-26 15:14:22 -04:00
si_dma.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
si_dpm.c drm/amdgpu: move common pm sysfs code to amdgpu_device.c 2017-09-28 16:03:31 -04:00
si_dpm.h drm/amdgpu: unify the interface of amd_pm_funcs 2017-09-18 23:30:35 -04:00
si_enums.h drm/amdgpu: update HAINAN_GB_ADDR_CONFIG_GOLDEN 2017-02-08 17:25:02 -05:00
si_ih.c drm/amdgpu: Add prescreening stage in IH processing (v2) 2017-09-26 13:07:04 -04:00
si_ih.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
si_smc.c drm/amd: fix include notation and remove -Iinclude/drm flag 2017-05-16 17:17:41 +02:00
sid.h drm/amdgpu: move misc si headers into amdgpu 2017-01-27 12:20:41 -05:00
sislands_smc.h drm/amdgpu/si/dpm: fix phase shedding setup 2016-09-28 16:13:17 -04:00
soc15.c amdgpu/nbio: use constant nbio_hdp_flush_reg structs. 2017-09-29 12:24:39 -04:00
soc15.h drm/amdgpu: apply nbio7 for Raven (v3) 2017-05-24 17:41:17 -04:00
soc15_common.h drm/amdgpu: Add WREG32_SOC15_NO_KIQ macro define 2017-07-14 11:06:10 -04:00
soc15d.h drm/amdgpu: fix vega10 graphic hang issue in S3 test 2017-08-18 12:02:11 -04:00
tonga_ih.c drm/amdgpu: Handle GPUVM fault storms 2017-09-28 16:03:30 -04:00
tonga_ih.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
tonga_sdma_pkt_open.h
uvd_v4_2.c drm/amdgpu: various cleanups for uvd/vce. 2017-04-04 13:40:33 -04:00
uvd_v4_2.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
uvd_v5_0.c drm/amdgpu: various cleanups for uvd/vce. 2017-04-04 13:40:33 -04:00
uvd_v5_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
uvd_v6_0.c drm/amdgpu: various cleanups for uvd/vce. 2017-04-04 13:40:33 -04:00
uvd_v6_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
uvd_v7_0.c drm/amdgpu:use formal register to trigger hdp invalidate 2017-09-26 15:14:10 -04:00
uvd_v7_0.h drm/amdgpu: add initial uvd 7.0 support for vega10 2017-03-29 23:54:47 -04:00
vce_v2_0.c drm/amdgpu: various cleanups for uvd/vce. 2017-04-04 13:40:33 -04:00
vce_v2_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
vce_v3_0.c drm/amdgpu: Program ring for vce instance 1 at its register space 2017-05-31 14:16:37 -04:00
vce_v3_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
vce_v4_0.c drm/amdgpu: remove the clearance of vce 4.0 interrupt mask 2017-09-26 15:14:03 -04:00
vce_v4_0.h drm/amdgpu: add initial vce 4.0 support for vega10 2017-03-29 23:54:47 -04:00
vcn_v1_0.c drm/amdgpu:use formal register to trigger hdp invalidate 2017-09-26 15:14:10 -04:00
vcn_v1_0.h drm/amdgpu: add vcn ip block and type 2017-05-24 17:41:27 -04:00
vega10_ih.c drm/amdgpu: Handle GPUVM fault storms 2017-09-28 16:03:30 -04:00
vega10_ih.h drm/amdgpu: add vega10 interrupt handler 2017-03-29 23:54:46 -04:00
vega10_sdma_pkt_open.h drm/amdgpu: add SDMA 4.0 packet header 2017-03-29 23:54:30 -04:00
vi.c drm/amd/powerplay: move set_clockgating_by_smu to pp func table 2017-10-06 16:47:46 -04:00
vi.h drm/amdgpu/gfx8: move CE&DE meta data structure to vi_structs.h 2017-03-29 23:53:31 -04:00
vi_dpm.h drm/amdgpu: cleanup useless extern functions 2017-01-27 11:12:43 -05:00
vid.h drm/amdgpu:new PM4 entry for VI/AI 2017-05-24 17:40:26 -04:00