Tom St Denis
f6886c4726
drm/amd/amdgpu: Support full range of GFX ring names
...
Right now there's only one but the rest of the code is being
setup to support more so might as well fix this up too.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-01 12:50:53 -04:00
Christian König
70a9c6b901
drm/amdgpu: fix placement flags in amdgpu_ttm_bind
...
Otherwise we lose the NO_EVICT flag and can try to evict pinned BOs.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-01 12:50:45 -04:00
Christian König
481c2e9489
drm/amdgpu: fix moved list handling in the VM
...
Only move BOs to the moved/relocated list when they aren't already on a list.
This prevents accidential removal from the evicted list.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-01 12:50:35 -04:00
Evan Quan
f583046596
drm/amdgpu: declare the new firmware files needed by polaris asics
...
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Flora Cui <Flora.Cui@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-01 12:50:03 -04:00
Roger He
6849d47cab
drm/amdgpu: handle all fragment sizes v4
...
This can improve performance for some cases.
v2 (chk): handle all sizes, simplify the patch quite a bit
v3 (chk): adjust dw estimation as well
v4 (chk): use single loop, make end mask 64bit
Signed-off-by: Roger He <Hongbo.He@amd.com >
Signed-off-by: Christian König <christian.koenig@amd.com >
Tested-by: Roger He <Hongbo.He@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-01 12:49:32 -04:00
Jérôme Glisse
c90270a9f1
drm/amdgpu: update to new mmu_notifier semantic
...
Calls to mmu_notifier_invalidate_page() were replaced by calls to
mmu_notifier_invalidate_range() and are now bracketed by calls to
mmu_notifier_invalidate_range_start()/end()
Remove now useless invalidate_page callback.
Signed-off-by: Jérôme Glisse <jglisse@redhat.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Cc: amd-gfx@lists.freedesktop.org
Cc: Felix Kuehling <Felix.Kuehling@amd.com >
Cc: Christian König <christian.koenig@amd.com >
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andrea Arcangeli <aarcange@redhat.com >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2017-08-31 16:12:59 -07:00
Tom St Denis
2b9bdfa70f
drm/amd/amdgpu: Simplify gfx_v9_0_wait_for_idle()
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 15:01:06 -04:00
Tom St Denis
78888cff5c
drm/amd/amdgpu: Fix indentation in gfx_v9_0_mqd_init()
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 15:01:05 -04:00
Tom St Denis
b08796cee1
drm/amd/amdgpu: Tidy up gfx_v9_0_rlc_stop()
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 15:01:05 -04:00
Tom St Denis
e567fa69f2
drm/amd/amdgpu: Tidy up gfx_v9_0_enable_gfx_dynamic_mg_power_gating()
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 15:01:04 -04:00
Tom St Denis
7915c8fd7e
drm/amd/amdgpu: Tidy up gfx_v9_0_enable_gfx_static_mg_power_gating()
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 15:01:03 -04:00
Tom St Denis
513f81332a
drm/amd/amdgpu: Tidy up gfx_v9_0_enable_gfx_pipeline_powergating()
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 15:01:03 -04:00
Tom St Denis
f55ee212ee
drm/amd/amdgpu: Tidy up gfx_v9_0_enable_gfx_cg_power_gating()
...
Make it consistent in style with the other CG/PG enable functions...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 15:01:02 -04:00
Tom St Denis
54cfe0fc54
drm/amd/amdgpu: Tidy up gfx_v9_0_enable_cp_power_gating()
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 15:01:02 -04:00
Tom St Denis
b926fe8efc
drm/amd/amdgpu: Tidy up gfx_v9_0_enable_sck_slow_down_on_power_down()
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 15:01:01 -04:00
Tom St Denis
e24c7f06db
drm/amd/amdgpu: Tidy up gfx_v9_0_enable_sck_slow_down_on_power_up()
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 15:01:00 -04:00
Tom St Denis
0e5293d07b
drm/amd/amdgpu: Tidy up gfx_v9_0_enable_save_restore_machine()
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 15:01:00 -04:00
Tom St Denis
91629eff74
drm/amd/amdgpu: Tidy up gfx_v9_0_ngg_en()
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 15:00:59 -04:00
Tom St Denis
35c32f20a7
drm/amd/amdgpu: Tidy up register list formatting.
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 15:00:59 -04:00
Christian König
fd8bf087df
drm/amdgpu: bump version for support of local BOs
...
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 13:46:45 -04:00
Christian König
e1eb899b45
drm/amdgpu: add IOCTL interface for per VM BOs v3
...
Add the IOCTL interface so that applications can allocate per VM BOs.
Still WIP since not all corner cases are tested yet, but this reduces average
CS overhead for 10K BOs from 21ms down to 48us.
v2: add some extra checks, remove the WIP tag
v3: rename new flag to AMDGPU_GEM_CREATE_VM_ALWAYS_VALID
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 13:46:35 -04:00
Christian König
73fb16e7eb
drm/amdgpu: add support for per VM BOs v2
...
Per VM BOs are handled like VM PDs and PTs. They are always valid and don't
need to be specified in the BO lists.
v2: validate PDs/PTs first
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 13:46:26 -04:00
Christian König
4f5839c56e
drm/amdgpu: restrict userptr even more
...
Don't allow them to be GEM imported into another process.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Acked-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 13:46:17 -04:00
Christian König
0f2fc435d8
drm/amdgpu: fix new PD update code for Vega10 v2
...
We need to refer to the parent instead of the root BO for multi
level page tables on Vega10. Also don't set the PDE_PTE bit.
v2: Don't set the PDE_PTE bit either.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-and-Tested-by: Roger He <Hongbo.He@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 13:46:08 -04:00
Christian König
705e519e0e
drm/amdgpu: move hw generation check into amdgpu_doorbell_init v2
...
This way we can safely call it on SI as well.
v2: fix type in commit message
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 13:45:59 -04:00
Christian König
570144c652
drm/amdgpu: cleanup the VM code a bit more
...
The src isn't used any more after GART hack removal.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 13:45:47 -04:00
Christian König
ea09729c93
drm/amdgpu: rework page directory filling v2
...
Keep track off relocated PDs/PTs instead of walking and checking all PDs.
v2: fix root PD handling
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com > (v1)
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-31 13:45:24 -04:00
Himanshu Jha
ebe02de2c6
drm/amd/powerplay/hwmgr: Remove null check before kfree
...
kfree on NULL pointer is a no-op and therefore checking is redundant.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Rex Zhu <Rex.Zhu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:57:33 -04:00
Himanshu Jha
c5927537dd
drm/amd: Remove null check before kfree
...
Kfree on NULL pointer is a no-op and therefore checking is redundant.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Himanshu Jha <himanshujha199640@gmail.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:57:32 -04:00
Christian König
3f3333f8a0
drm/amdgpu: track evicted page tables v2
...
Instead of validating all page tables when one was evicted,
track which one needs a validation.
v2: simplify amdgpu_vm_ready as well
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com > (v1)
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:28:04 -04:00
Christian König
00b5cc83c4
drm/amdgpu: fix comment on amdgpu_bo_va
...
Except for the reference count all other members are protected
by the VM PD being reserved.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:28:04 -04:00
Christian König
cb7b6ec2f8
drm/amdgpu: add bo_va cleared flag again v2
...
We changed this to use an extra list a while back, but for the next
series I need a separate flag again.
v2: reorder to avoid unlocked list access
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:28:03 -04:00
Christian König
3d7d4d3a1b
drm/amdgpu: rework moved handling in the VM v2
...
Instead of using the vm_state use a separate flag to note
that the BO was moved.
v2: reorder patches to avoid temporary lockless access
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:28:02 -04:00
Tom St Denis
08cab989f7
drm/amd/amdgpu: Add write() method to VRAM debugfs entry (v2)
...
Allows writing data to vram via debugfs.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
(v2): Call get_user before holding spinlock.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:28:02 -04:00
Rex Zhu
841e3be124
drm/amd/powerplay: notify smu once display changed on Rv.
...
when User turn off display or screen idle timeout,
smu need this message to start S0i2 entry.
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:28:01 -04:00
Rex Zhu
3b4ca9e649
drm/amd/powerplay: add dummy pp table for raven. (v2)
...
As there is no PPTable in RV, it is difficult to
cleanly decouple PPTABLE functionality in existing
codes.
v2: agd: squash in clean build fix
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:28:01 -04:00
Rex Zhu
e154162ef7
drm/amd/powerplay: refine pp code for raven
...
delete useless code.
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:28:00 -04:00
Alex Deucher
ffe6d881e9
drm/amdgpu/gfx9: adjust mqd allocation size
...
To allocate additional space for the dynamic cu masks.
Confirmed with the hw team that we only need 1 dword
for the mask. The mask is the same for each SE so
you only need 1 dword.
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:28:00 -04:00
Alex Deucher
29696bd680
drm/amdgpu/gfx9: update mqd to include dynamic CU mask
...
Necessary for proper operation with KIQ.
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:27:59 -04:00
Alex Deucher
31bf29ab39
drm/amdgpu/gfx8: drop cz mqd
...
It was unused and according to hw team, it's the same for
all asics in a gfx family so remove it.
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:27:58 -04:00
Alex Deucher
925d5d798f
drm/amdgpu/gfx8: apply dynamic cu mask to APUs as well
...
Confirmed with the hw team. It's the same for all asics.
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:27:58 -04:00
Alex Deucher
ecf9d34485
drm/amdgpu/powerplay/vega10: fix typo in register base index
...
Probably a copy pasta. No functional difference, both have
the same value.
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reported-by: Michael von Khurja <mvonkhurja@techpowerup.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:27:57 -04:00
Christian König
6ac7defb5c
drm/amdgpu: cleanup GWS, GDS and OA allocation
...
Those are certainly not kernel allocations, instead set the NO_CPU_ACCESS flag.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:27:57 -04:00
Christian König
34d7be5dc2
drm/amdgpu: fix and cleanup VM ready check
...
Stop checking the mapped BO itself, cause that one is
certainly not a page table.
Additional to that move the code into amdgpu_vm.c
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:27:56 -04:00
Christian König
87f64a76b3
drm/amdgpu: fix amdgpu_vm_bo_map trace point
...
That somehow got lost.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:27:55 -04:00
Kent Russell
5b41d94cc4
drm/amdgpu: Move VBIOS version to sysfs
...
sysfs is more stable, and doesn't require root to access
Signed-off-by: Kent Russell <kent.russell@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:27:55 -04:00
Kent Russell
db95e21855
drm/amdgpu: Add debugfs file for VBIOS and version
...
Add 2 debugfs files, one that contains the VBIOS version, and one that
contains the VBIOS itself. These won't change after initialization,
so we can add the VBIOS version when we parse the atombios information.
This ensures that we can find out the VBIOS version, even when the dmesg
buffer fills up, and makes it easier to associate which VBIOS version is
for which GPU on mGPU configurations. Set the size to 20 characters in
case of some weird VBIOS version that exceeds the expected 17 character
format (3-8-3\0). The VBIOS dump also allows for easy debugging
v2: Move to debugfs, clarify commit message, add VBIOS dump file
Signed-off-by: Kent Russell <kent.russell@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:27:54 -04:00
Tom St Denis
7405e0dad4
drm/amd/amdgpu: Use new TTM populate/map helper function
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:27:52 -04:00
Harry Wentland
e719d5169f
drm/amd/include: Add hdmi_redriver_set to atomfirmware
...
We'll need this for a some upcoming display changes
Signed-off-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-08-29 15:27:51 -04:00
Tom St Denis
ca3670aa37
drm/amd/amdgpu: Remove AMDGPU tracepoint and use new TTM tracepoint (v2)
...
Switches the AMDGPU driver over to the TTM tracepoint and removes
our old one. Now you can enable traces before loading the module
and trace all mappings.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
(v2): Use struct device instead of pci in trace.
2017-08-29 15:27:51 -04:00