Huang Rui
d1de1ed3df
drm/amdgpu: add SMC firmware into global ucode list for psp loading
...
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:49 -04:00
Huang Rui
6a7ed07e27
drm/amdgpu: add psp firmware info into info query and debugfs
...
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:49 -04:00
Huang Rui
0e5ca0d1ac
drm/amdgpu: add PSP driver for vega10 (v2)
...
PSP is responsible for firmware loading on SOC-15 asics.
v2: fix memory leak (Ken)
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:48 -04:00
Leo Liu
c1dc356a11
drm/amdgpu: add initial vce 4.0 support for vega10
...
Signed-off-by: Leo Liu <leo.liu@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-03-29 23:54:47 -04:00
Leo Liu
09bfb8912d
drm/amdgpu: add initial uvd 7.0 support for vega10
...
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:47 -04:00
Ken Wang
282aae555e
drm/amdgpu: add vega10 interrupt handler
...
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Ken Wang <Qingqing.Wang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:46 -04:00
Ken Wang
b102357147
drm/amdgpu: implement GFX 9.0 support (v2)
...
Add support for gfx v9.0.
v2: update golden settings from Ken
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Ken Wang <Qingqing.Wang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:45 -04:00
Ken Wang
2130f89ced
drm/amdgpu: add SDMA v4.0 implementation (v2)
...
v2: fix Makefile
Signed-off-by: Ken Wang <Qingqing.Wang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:45 -04:00
Alex Xie
e60f8db5e4
drm/amdgpu: Add GMC 9.0 support (v2)
...
On SOC-15 parts, the GMC (Graphics Memory Controller) consists
of two hubs: GFX (graphics and compute) and MM (sdma, uvd, vce).
v2: drop sdma from Makefile, fix duplicate return statement.
Signed-off-by: Alex Xie <AlexBin.Xie@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:44 -04:00
Junwei Zhang
c1d83da980
drm/amdgpu: add NBIO 6.1 driver
...
This handles nbio 6.1 specific implementations which
are used by various other IPs.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:44 -04:00
Alex Xie
b0fd18b071
drm/amdgpu: handle PTE MTYPE in amdgpu_vm_bo_split_mapping
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Xie <AlexBin.Xie@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:43 -04:00
Alex Xie
15b31c59bc
drm/amdgpu: handle PTE EXEC in amdgpu_vm_bo_split_mapping
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Xie <AlexBin.Xie@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:42 -04:00
Alex Deucher
a0676f6083
drm/amdgpu: gart fixes for vega10
...
Flags need to be 0 to be considered invalid.
Reviewed-by: Christian König <christian.koenig@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:42 -04:00
Huang Rui
eb6611135f
drm/amdgpu: add psp firmware header info
...
Defines the header info for the psp firmware.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:41 -04:00
Huang Rui
2445b22751
drm/amdgpu: rework common ucode handling for vega10
...
Handle ucode differences in vega10.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:40 -04:00
Marek Olšák
9079ac7666
drm/amdgpu: don't validate TILE_SPLIT on GFX9
...
Signed-off-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:40 -04:00
Alex Deucher
bce23e00f3
drm/amdgpu: add NGG parameters
...
NGG (Next Generation Graphics) is a new feature in GFX9.0. This
adds the relevant parameters.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:38 -04:00
Alex Deucher
ca02061c7a
drm/amdgpu: add PTE defines for MTYPE
...
New on SOC-15 asics.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:37 -04:00
Christian König
cef105f7dc
drm/amdgpu: add IV trace point
...
This allows us to grab IVs without spamming the log.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:37 -04:00
Alex Deucher
614dea315f
drm/amdgpu: update IH IV ring entry for soc-15
...
Reflect the new format on soc-15 asics.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:36 -04:00
Alex Deucher
be34d3bfe3
drm/amdgpu: use atomfirmware interfaces for scratch reg save/restore
...
If the board is atomfirmware based.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:35 -04:00
Alex Xie
66e02bc343
drm/amdgpu: Add MTYPE flags to GPU VM IOCTL interface
...
Signed-off-by: Alex Xie <AlexBin.Xie@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-03-29 23:54:35 -04:00
Ken Wang
39807b939e
drm/amdgpu: add 64bit doorbell assignments
...
Signed-off-by: Ken Wang <Qingqing.Wang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:34 -04:00
Andrey Grodzovsky
d0e95758e3
drm/amdgpu: gb_addr_config struct
...
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com >
Reviewed-by: Ken Wang <Qingqing.Wang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:33 -04:00
Huang Rui
e635ee0745
drm/amdgpu: use new flag to handle different firmware loading method
...
This patch introduces a new flag named "amdgpu_firmware_load_type" to
handle different firmware loading method. Since Vega10, there are
three ways to load firmware. It would be better to use a flag and a
fw_load_type kernel parameter to configure it.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:33 -04:00
ken
70170d146d
drm/amdgpu: add clinetid definition for vega10
...
Signed-off-by: ken <Qingqing.Wang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:32 -04:00
Ken Wang
d4196f011c
drm/amdgpu: add vega10 chip name
...
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Ken Wang <Qingqing.Wang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:32 -04:00
Ken Wang
8e3153ba3f
drm/amdgpu: add common soc15 headers
...
These are used by various IP modules.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Ken Wang <Qingqing.Wang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:31 -04:00
Alex Deucher
90df1d55a2
drm/amdgpu: add SDMA 4.0 packet header
...
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:30 -04:00
Alex Deucher
6a38ce8f19
drm/amdgpu: add gfx9 clearstate header
...
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:30 -04:00
Alex Deucher
a5bde2f964
drm/amdgpu: add basic support for atomfirmware.h (v3)
...
This adds basic support for asics that use atomfirmware.h
to define their vbios tables.
v2: rebase
v3: squash in num scratch reg fix
Acked-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Ken Wang <Qingqing.Wang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:17 -04:00
Alex Deucher
43bf11bd92
drm/amdgpu: move atom scratch setup into amdgpu_atombios.c
...
There will be a slightly different version for atomfirmware.
Acked-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Ken Wang <Qingqing.Wang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:17 -04:00
Alex Deucher
0cdd500560
amdgpu: detect if we are using atomfirmware or atombios for vbios (v2)
...
Supposedly atomfirmware rom header is 3.3 atombios is 1.1.
v2: rebased on newer kernel
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:16 -04:00
Nicolai Hähnle
f34678187a
drm/amdgpu: add optional fence out-parameter to amdgpu_vm_clear_freed
...
We will add the fence to freed buffer objects in a later commit, to ensure
that the underlying memory can only be re-used after all references in
page tables have been cleared.
Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:15 -04:00
Alex Deucher
a2140e00e0
drm/amdgpu/gfx8: further KIQ parameter cleanup
...
The ring structure already has what we need.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:13 -04:00
Alex Deucher
345346108b
drm/amdgpu/gfx8: store the eop gpu addr in the ring structure
...
Avoids passing around additional parameters during setup.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:13 -04:00
Alex Deucher
015c23600a
drm/amdgpu/gfx8: reduce the functon params for mpq setup
...
Everything we need is in the ring structure. No need to
pass all the bits explicitly.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:12 -04:00
Alex Deucher
f2effd49e7
drm/amdgpu/gfx8: reserve kiq eop object before unmapping it
...
It's required.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:12 -04:00
Alex Deucher
0104cf2536
drm/amdgpu/gfx8: fold loops in kiq_resume()
...
No need to loop through the compute queues twice.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:11 -04:00
Alex Deucher
2e263c824a
drm/amdgpu/gfx8: test KIQ before compute rings
...
If KIQ isn't working, the compute rings won't work either.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:10 -04:00
Alex Deucher
6a6f380f07
drm/amdgpu/gfx8: reserve mqd objects before mapping them
...
It's required.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:10 -04:00
Alex Deucher
0875a24296
drm/amdgpu/gfx8: rename some functions
...
To better match where they are used. Called from sw_init
and sw_fini.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:09 -04:00
Alex Deucher
b0ac2a32ad
drm/amdgpu/gfx8: whitespace cleanup
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:08 -04:00
Rex Zhu
0d52c6a13e
drm/amdgpu: load mc firware in driver for Polaris.
...
load mc ucode in driver if VBIOS not loaded
a full version of MC ucode,
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: jimqu <Jim.Qu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:08 -04:00
Chunming Zhou
aacbbc8bc1
drm/amdgpu: fix duplicated code
...
it could come from branch merge.
Signed-off-by: Chunming Zhou <David1.Zhou@amd.com >
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:07 -04:00
Rex Zhu
739e9fffde
drm/amdgpu: enable gfx/system/vce clockgating on Polars12.
...
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-03-29 23:54:06 -04:00
Rex Zhu
1c622002b1
drm/amd/powerplay: add a new register define for APU in VI.
...
the ixcurrent_pg_status addr is different between APU and DGPU.
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-03-29 23:54:06 -04:00
Eric Huang
170d6e94e5
drm/amdgpu: enable GFX/UVD/VCE PG for Bristol
...
Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com >
Signed-off-by: Samuel Li <Samuel.Li@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:05 -04:00
Tom St Denis
d1aff8ec49
drm/amd/amdgpu: Set VCE/UVD off during late init
...
Forces VCE/UVD off during late init to ensure they're powered off
correctly during boot.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Samuel Li <Samuel.Li@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:05 -04:00
Colin Ian King
f917c2ad92
drm/amdgpu: remove redundant outer loop and remove commented out code
...
The outer loop is redundant and can be removed as it is doing nothing
useful. Also remove some commented out code that is not being used.
Detected by CoverityScan, CID#1402073
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-03-29 23:54:04 -04:00