Felix Kuehling
0919195f2b
drm/amdgpu: Enable amdgpu_ttm_tt_get_user_pages in worker threads
...
This commit allows amdgpu_ttm_tt_get_user_pages to work in a worker
thread rather than regular process context. This will be used when
KFD userptr BOs are restored after an MMU-notifier eviction.
v2: Manage task reference with get_task_struct/put_task_struct
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com >
Acked-by: Oded Gabbay <oded.gabbay@gmail.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com >
2018-03-23 15:32:29 -04:00
Felix Kuehling
e52482dec8
drm/amdgpu: Add MMU notifier type for KFD userptr
...
This commit adds the notion of MMU notifier types GFX and HSA. GFX
continues to work like MMU notifiers did before. HSA adds support for
KFD userptr BOs. The implementation of KFD userptr eviction is a stub
for now.
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com >
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com >
2018-03-23 15:32:28 -04:00
Felix Kuehling
810955ba71
drm/amdgpu: Fix acquiring VM on large-BAR systems
...
On large-BAR systems the VM page tables for compute are accessed by
the CPU. Always allow CPU access to the page directory so that it can
be used later by the CPU when a VM is converted to a compute VM.
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com >
2018-03-23 15:30:35 -04:00
Alex Deucher
13b40935cf
drm/amdgpu: Add an ATPX quirk for hybrid laptop
...
_PR3 doesn't seem to work properly, use ATPX instead.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=104064
Reviewed-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2018-03-22 20:38:05 -05:00
Colin Ian King
36b3f84a05
drm/amdgpu: fix spelling mistake: "asssert" -> "assert"
...
Trivial fix to spelling mistake in pr_err error message text
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-22 14:43:43 -05:00
Chunming Zhou
cc15dfaa85
drm/amdgpu: Don't change preferred domian when fallback GTT v5
...
v2: add sanity checking
v3: make code open
v4: also handle visible to invisible fallback
v5: Since two fallback cases, re-use goto retry
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-22 14:42:33 -05:00
Andrey Grodzovsky
b6356df3eb
drm/amdgpu: Fix NULL ptr on driver unload due to init failure.
...
Problem:
When unloading due to failure amdgpu_device_fini was called twice
which was leading to NULL ptr in amdgpu_irq_disable_all.
Fix:
Call amdgpu_device_fini only once from amdgpu_driver_unload_kms.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-21 15:04:42 -05:00
Christian König
2333bf9ad9
drm/amdgpu: fix "mitigate workaround for i915"
...
Mixed up exporter and importer here. E.g. while mapping the BO we need
to check the importer not the exporter.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=105633
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Tested-by: Mike Lothian <mike@fireburn.co.uk >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-21 15:04:03 -05:00
Rex Zhu
160b8e7593
drm/amdgpu: Remove wrapper layer of cgs irq handling
...
v2: add Vega12 support
1. remove struct cgs_os_ops
2. delete cgs_linux.h
3. refine the irq code for vega10, can fix set pp table
failed issue.
4. add common smu irq process function
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Junwei Zhang <Jerry.Zhang@amd.com >
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-21 14:36:58 -05:00
Evan Quan
f0c2b16ba8
drm/amdgpu: no job timeout setting on compute queues
...
Under some heavy computing environment(e.g. dgemm test), it
takes the asic over 10+ seconds to finish the dispatched job
which will trigger the timeout.
It's quite confusing although it does not seem to bring any
real problems. As a quick workround, we choose to not enfoce
the timeout setting on compute queues.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Acked-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 >
2018-03-21 14:36:57 -05:00
Alex Deucher
dc53d543fc
drm/amdgpu: add vega12 pci ids (v2)
...
v2: add additional pci ids
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-21 14:36:57 -05:00
Hawking Zhang
3084eb0011
drm/amdgpu/soc15: initialize reg base for vega12
...
Initialize the IP offsets for vega12.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-21 14:36:53 -05:00
Feifei Xu
f559fe2bc1
drm/amd/soc15: Add external_rev_id for vega12.
...
Add external_rev_id for vega12.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-21 14:36:52 -05:00
Evan Quan
e4a387558e
drm/amdgpu/soc15: update vega12 cg_flags
...
Add the appropriate clockgating flags for vega12
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Evan Quan <evan.quan@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-21 14:36:52 -05:00
Alex Deucher
692069a1a4
drm/amdgpu/soc15: add support for vega12
...
Add the IP blocks, clock and powergating flags, and
common clockgating support.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:36:51 -05:00
Hawking Zhang
62b35f9ad1
drm/amdgpu/gfx9: add golden setting for vega12 (v3)
...
Add gfx9_2_1 golden setting.
v2: switch to soc15_program_register_sequence for
golden setting programming
v3: squash in additional golden updates
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Feifei Xu <Feifei.Xu@amd.com >
Reviewed-by: Ken Wang <ken.wang@amd.com >
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-21 14:36:51 -05:00
Alex Deucher
23862464f8
drm/amdgpu/gfx9: add clockgating support for vega12
...
Same as vega10 and raven.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:36:51 -05:00
Alex Deucher
8b39947755
drm/amdgpu/gfx9: add support for vega12
...
Same as vega10 and raven.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:36:50 -05:00
Alex Deucher
e5c62eddd1
drm/amdgpu/gfx9: add gfx config for vega12
...
Just a place holder for now.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:36:50 -05:00
Alex Deucher
d5e8ef0648
drm/amdgpu/gfx9: Add placeholder for vega12 golden settings
...
Fill these in when we get them.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:36:49 -05:00
Alex Deucher
739ffd9b47
drm/amdgpu/gfx9: add support for vega12 firmware
...
Declare and fetch the appriopriate files.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:36:49 -05:00
Feifei Xu
f06a32e4d2
drm/amdgpu/sdma4: Update vega12 sdma golden setting.
...
Update vega12 sdma golden setting.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Feifei Xu <Feifei.Xu@amd.com >
Reviewed-by: Ken Wang <ken.wang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-21 14:36:49 -05:00
Hawking Zhang
9acdc00c24
drm/amdgpu/sdma4: add sdma4_0_1 support for vega12 (v3)
...
Add sdma golden setting for vega12.
v2: switch to soc15_program_register_sequence for
golden register programming
v3: squash in unused declaration fix
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Feifei Xu <Feifei.Xu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-21 14:36:48 -05:00
Alex Deucher
900bad3fe9
drm/amdgpu/sdma4: add clockgating support for vega12
...
Same as vega10 for now.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:36:48 -05:00
Alex Deucher
607c26a0ea
drm/amdgpu/sdma4: Add placeholder for vega12 golden settings
...
Fill these in when we get them.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:36:47 -05:00
Alex Deucher
2e24ada2fc
drm/amdgpu/sdma4: specify vega12 firmware
...
Declare the firmware and fetch the proper file.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:36:47 -05:00
Alex Deucher
f8d27677e1
drm/amdgpu/mmhub: add clockgating support for vega12
...
Treat it the same as vega10 for now.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:36:47 -05:00
Alex Deucher
273a14cd15
drm/amdgpu/gmc9: add vega12 support (v2)
...
Same as vega10.
v2: squash in golden regs fix from Feifei
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:36:46 -05:00
Alex Deucher
dca7b4015c
drm/amdgpu: add vega12 to dc support check
...
DC is used for modesetting on vega12.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:24:51 -05:00
Alex Deucher
f79f3fc141
drm/amdgpu/virtual_dce: add vega12 support
...
Add virtual dce support for vega12.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:24:35 -05:00
Alex Deucher
9aa52bc487
drm/amdgpu: specify vega12 vce firmware
...
Declare firmware and add support for the file.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:24:30 -05:00
Alex Deucher
2327e6261a
drm/amdgpu: specify vega12 uvd firmware
...
Declare firmware and add support for the file.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:24:24 -05:00
Feifei Xu
6b9c6e1b15
drm/amdgpu: add vega12 ucode loading method
...
Same as vega10.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
2018-03-21 14:24:18 -05:00
Evan Quan
eddfa8dfad
drm/amdgpu: initilize vega12 psp firmwares
...
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Acked-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-21 14:24:12 -05:00
Alex Deucher
ff13dc671d
drm/amdgpu/psp: initial vega12 support
...
Same as vega10 for now.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:24:07 -05:00
Hawking Zhang
ad0ad9aa20
drm/amdgpu: vega12 to smu firmware
...
Add the cgs interface to query the smu firmware for vega12
and declare the firmware.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
2018-03-21 14:24:00 -05:00
Alex Deucher
e48a3cd9cb
drm/amdgpu: set asic family and ip blocks for vega12
...
soc15 just like vega10 and raven.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:23:55 -05:00
Alex Deucher
3f76dcedb3
drm/amdgpu: add gpu_info firmware for vega12
...
Stores gpu configuration details.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
2018-03-21 14:23:49 -05:00
Feifei Xu
8fab806ad1
drm/amdgpu: add vega12 to asic_type enum
...
Add vega12 to amd_asic_type enum and amdgpu_asic_name[].
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
2018-03-21 14:23:39 -05:00
Sean Paul
1c7095d283
Merge airlied/drm-next into drm-misc-next
...
Refresh -misc-next
Signed-off-by: Sean Paul <seanpaul@chromium.org >
2018-03-21 09:40:55 -04:00
Rex Zhu
eb4900aa4c
drm/amdgpu: Fix kernel NULL pointer dereference in dpm functions
...
caused by
'commit 83e3c4615872 ("drm/amdgpu: Remove wrapper layer of smu ip functions")'
BUG: unable to handle kernel NULL pointer dereference at 00000000000005d8
[ 313.241459] IP: ci_dpm_read_sensor+0x37/0xf0 [amdgpu]
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-20 23:44:50 -05:00
Rex Zhu
81ce8bea03
drm/amdgpu: Fix kernel NULL pointer dereference when amdgpu fini
...
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-20 23:44:21 -05:00
Mikita Lipski
e5b03032e3
drm/amdgpu - Disable all irqs before disabling all CRTCs
...
By moving amdgpu_irq_disable_all earlier in the sequence
fixes an issue with disabling pflip interrupts:
*ERROR* dal_irq_service_dummy_ack: called for non-implemented irq source
Earlier patch fixed a memory corruption and revealed irq
warnings.This way it seems to be there no obvious issues
with unloading the module.
Signed-off-by: Mikita Lipski <mikita.lipski@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-20 23:44:12 -05:00
Mikita Lipski
088e7c1617
drm/amdgpu: Disable irq on device before destroying it
...
Disable irq on devices before destroying them. That prevents
use-after-free memory access when unloading the driver.
Signed-off-by: Mikita Lipski <mikita.lipski@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-20 23:44:03 -05:00
Mikita Lipski
ff97cba8c1
drm/amdgpu: Use atomic function to disable crtcs with dc enabled
...
This change fixes the deadlock when unloading the driver with displays
connected.
Signed-off-by: Mikita Lipski <mikita.lipski@amd.com >
Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-20 23:43:42 -05:00
Tom St Denis
864917a3b8
drm/amd/amdgpu: fix offset into page with amdgpu_iomem debugfs file
...
The offset inside the page wasn't included in the copy call meaning
the start of the page was being read/written instead.
Reported-by: Jay Cornwall <Jay.Cornwall@amd.com >
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 >
2018-03-20 23:43:34 -05:00
Hawking Zhang
bd08a8d9e8
drm/amdgpu/nbio6: Correct PCIE_INDEX/DATA pair used for smn register accessing
...
PCIE_INDEX2/DATA2 pair will be used for smn register accessing since from vega.
PCIE_INDEX/DATA pair should be reserved for smu
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-20 23:43:25 -05:00
Alex Deucher
e3ecdffac9
drm/amdgpu: add documentation for amdgpu_device.c
...
Add kernel doc for the functions in amdgpu_device.c
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-20 23:43:05 -05:00
Alex Deucher
3ac952b10d
drm/amdgpu: add VCN to firmware query interface
...
Need to be able to query the VCN firmware version from
userspace to determine supported features, etc.
Reviewed-by: Huang Rui <ray.huang@amd.com >
Acked-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-20 23:42:49 -05:00
Rex Zhu
2538090cb6
drm/amd/pp: Delete get_xclk function in powerplay (v2)
...
use asic's callback function get_xclk in amdgpu
v2: squash in removal of leftover debug info
(drm/amd/pp: Delete debug info in smu7_hwmgr.c) (Rex)
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Evan Quan <evan.quan@amd.com >
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-03-19 13:38:31 -05:00