Philip Yang
c837243ff4
drm/amdgpu: fix bug with IH ring setup
...
The bug limits the IH ring wptr address to 40bit. When the system memory
is bigger than 1TB, the bus address is more than 40bit, this causes the
interrupt cannot be handled and cleared correctly.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Philip Yang <Philip.Yang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-13 09:38:28 -05:00
shaoyunl
5581c670fb
drm/amdgpu: set system aperture to cover whole FB region
...
In XGMI configuration, the FB region covers vram region from peer
device, adjust system aperture to cover all of them
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: shaoyunl <shaoyun.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-12 16:13:06 -05:00
Alex Deucher
688be01a0a
drm/amdgpu/gfx9: rework lbpw enable code
...
To avoid changing the global lbpw module parameter directly.
Reviewed-by: Evan Quan <evan.quan@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-09 16:29:54 -05:00
Likun Gao
106c7d6148
drm/amdgpu: abstract the function of enter/exit safe mode for RLC
...
Abstract the function of amdgpu_gfx_rlc_enter/exit_safe_mode and some part of
rlc_init to improve the reusability of RLC.
Signed-off-by: Likun Gao <Likun.Gao@amd.com >
Acked-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 >
2018-11-09 16:29:12 -05:00
Likun Gao
88dfc9a3dd
drm/amdgpu: separate amdgpu_rlc into a single file
...
Separate the function and struct of RLC from the file of GFX.
Abstract the function of amdgpu_gfx_rlc_fini.
Signed-off-by: Likun Gao <Likun.Gao@amd.com >
Acked-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 >
2018-11-09 16:29:02 -05:00
Likun Gao
fdb81fd788
drm/amdgpu: unify rlc function into structure
...
Put function rlc_init,rlc_fini,rlc_resume,rlc_stop,rlc_start into structure
amdgpu_rlc_funcs and change the method to call rlc function for each verssion of
GFX.
Signed-off-by: Likun Gao <Likun.Gao@amd.com >
Acked-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 >
2018-11-09 16:28:52 -05:00
shaoyunl
a82c15668c
drm/amdgpu: Each PSP need to get latest topology info on XGMI configuration
...
Driver need to call each psp instance to get topology info before set topology
Signed-off-by: shaoyunl <Shaoyun.Liu@amd.com >
reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-09 16:28:32 -05:00
Alex Deucher
d2cfabbdaf
drm/amdgpu/sdma4: use paging queue for buffer funcs
...
Use the paging queue for buffer functions to avoid contention
with the other queues.
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Tested-by: Chen Gong <Curry.Gong@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-08 16:04:27 -05:00
Alex Deucher
79d197f31b
drm/amdgpu: add DC feature mask module parameter
...
Similar to ppfeaturemask. Allows you to selectively enable/disable
DC features.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-07 17:05:58 -05:00
Trigger Huang
2cf6dd9cc5
drm/amdgpu: disable page queue on Vega10 SR-IOV VF
...
Currently, SDMA page queue is not used under SR-IOV VF, and this queue will
cause ring test failure in amdgpu module reload case. So just disable it.
Signed-off-by: Trigger Huang <Trigger.Huang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-07 17:05:57 -05:00
Evan Quan
3482d2d9b0
drm/amdgpu: set Vega20 LBPW as disabled at default
...
For Vega20, LBPW feature is disabled at default.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-07 17:05:56 -05:00
Hawking Zhang
db00491293
drm/amdgpu: fix frame size of amdgpu_xgmi_add_devices excceed 1024 bytes
...
Instead of stack-allocated psp_xgmi_topology_info in function
amdgpu_xgmi_add_device, dynamically allocated this structure to
avoid the frame size of this function excceed 1024 bytes
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Xiaojie Yuan <xiaojie.yuan@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-07 17:05:54 -05:00
Alex Deucher
7875a22625
drm/amdgpu: add DC feature mask module parameter
...
Similar to ppfeaturemask. Allows you to selectively enable/disable
DC features.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 16:45:23 -05:00
Alex Deucher
3426d66d3e
drm/amdgpu/vega20: add CLK base offset
...
In case we need to access CLK registers.
Acked-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 16:25:51 -05:00
Hawking Zhang
bb8310cc22
drm/amdgpu/psp: add set_topology_info function
...
set_topology_info is used for driver to set current topology info
to xgmi ta
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Shaoyun Liu <Shaoyun.Liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 14:02:46 -05:00
Hawking Zhang
ec1a975e0b
drm/amdgpu/psp: add get_topology_info function
...
get_topology_info function is used for driver to query topology_info
for current device from xgmi ta
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Shaoyun Liu <Shaoyun.Liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 14:02:45 -05:00
Hawking Zhang
593caa07ad
drm/amdgpu/psp: update topology info structures
...
topology info structure needs to match with the one defined
in xgmi ta
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Shaoyun Liu <Shaoyun.Liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 14:02:45 -05:00
Hawking Zhang
4b93151f57
drm/amdgpu/psp: add get_hive_id function
...
get_hive_id is used for driver to query hive_id for current device
from xgmi ta
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Shaoyun Liu <Shaoyun.Liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 14:02:44 -05:00
Hawking Zhang
dd3c45d306
drm/amdgpu/psp: add get_node_id function
...
get_node_id function is used for driver to get node_id
for current device from xgmi ta
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Shaoyun Liu <Shaoyun.Liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 14:02:43 -05:00
Hawking Zhang
3e2e2ab554
drm/amdgpu/psp: initialize xgmi session (v2)
...
Setup and tear down xgmi as part of psp.
v2:
- make psp_xgmi_terminate static
- squash in:
drm/amdgpu: only issue xgmi cmd when it is enabled
drm/amdgpu/psp: terminate xgmi ta in suspend and hw_fini phase
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 14:02:43 -05:00
Hawking Zhang
ca6e1e59a2
drm/amdgpu/psp: add helper function to invoke xgmi ta per ta cmd_id
...
psp_xgmi_invoke is the helper function to issue ta cmd to firmware
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 14:02:42 -05:00
Hawking Zhang
4de5f0055a
drm/amdgpu/psp: add xgmi ta header
...
Add the psp xgmi driver interface.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 14:02:41 -05:00
Hawking Zhang
97c8d17110
drm/amdgpu/psp: add helper function to load/unload xgmi ta
...
Add helper functions for the psp xgmi ta.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 14:02:40 -05:00
Hawking Zhang
51e7177f36
drm/amdgpu/psp: init/de-init xgmi ta microcode
...
Add ucode handling for psp xgmi ta firmware.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 14:02:40 -05:00
Hawking Zhang
f0cfa19579
drm/amdgpu/psp: add structure for xgmi ta and its shared buffer
...
Add data structures for xgmi trusted application.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 14:02:39 -05:00
Alex Deucher
1cda5e2161
drm/amdgpu/vega20: add CLK base offset
...
In case we need to access CLK registers.
Acked-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-06 14:02:38 -05:00
Harry Wentland
f180b4bccc
drm/amdgpu: Drop amdgpu_plane
...
It's unnecessarily duplicating drm_plane_type.
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 >
2018-11-06 14:02:24 -05:00
Christian König
b83761bb0b
drm/amdgpu: use GMC v9 KIQ workaround only for the GFXHUB
...
The MMHUB is not affected by this.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Emily Deng <Emily.Deng@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 15:49:41 -05:00
Christian König
396557b03c
drm/amdgpu: drop the busy wait for GMC v9 TLB invalidations
...
This code is not performance critical.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Emily Deng <Emily.Deng@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 15:49:40 -05:00
Christian König
af5fe1e96a
drm/amdgpu: cleanup GMC v9 TLB invalidation
...
Move the kiq handling into amdgpu_virt.c and drop the fallback.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Emily Deng <Emily.Deng@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 15:49:40 -05:00
Christian König
5c76c6a897
drm/amdgpu: remove nonsense in_interrupt() checks
...
might_sleep() is supposed to raise if warning if called in interrupt or
atomic context.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Emily Deng <Emily.Deng@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 15:49:39 -05:00
Rex Zhu
f6cffc0d4d
drm/amdgpu: Add helper function to get sdma index
...
Get the sdma index from ring
v2: refine function name
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 15:49:38 -05:00
Rex Zhu
ccf191f8aa
drm/amdgpu: Refine function name
...
there is no functional changes.just
refine function name to keep
consistence with other files.
change amdgpu_get_sdma_instance to
amdgpu_sdma_get_instance_from_ring.
suggested by alex.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 15:49:37 -05:00
Rex Zhu
34955e038a
drm/amdgpu: Modify the argument of emit_ib interface
...
use the point of struct amdgpu_job as the function
argument instand of vmid, so the other members of
struct amdgpu_job can be visit in emit_ib function.
v2: add a wrapper for getting the VMID
add the job before the ib on the parameter list.
v3: refine the wrapper name
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-11-05 14:21:50 -05:00
Rex Zhu
8469868df7
drm/amdgpu: Change AMDGPU_CSA_SIZE to 128K
...
In order to support new asics and MCBP feature
enablement on baremetal.
Acked-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-11-05 14:21:50 -05:00
Rex Zhu
7946340fa3
drm/amdgpu: Move csa related code to separate file
...
In baremetal, also need to reserve csa for preemption.
so move the csa related code out of sriov.
Reviewed-by: Monk Liu <Monk.Liu@amd.com >
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 14:21:49 -05:00
Rex Zhu
1e256e2762
drm/amdgpu: Refine CSA related functions
...
There is no functional changes,
Use function arguments for SRIOV special variables which
is hardcode in those functions.
so we can share those functions in baremetal.
Reviewed-by: Monk Liu <Monk.Liu@amd.com >
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 14:21:48 -05:00
Rex Zhu
20bedfe0c1
drm/amdgpu: Remove useless csa gpu address in vmid0
...
driver didn't use this address so far.
Reviewed-by: Monk Liu <Monk.Liu@amd.com >
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 14:21:48 -05:00
Junwei Zhang
2a5ae84bf3
drm/amdgpu: fix gfx wptr for sdma v4
...
The wptr value will be shitfed when function returns.
Remove the redundant shift and clean up.
Signed-off-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 >
2018-11-05 14:21:47 -05:00
Junwei Zhang
1cf03c54b3
drm/amdgpu: disable page queue on SDMA for Vega12
...
It blocks most of sanity tests, so disable it for now.
Tested-by: Chen Gong <Curry.Gong@amd.com >
Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 14:21:46 -05:00
Alex Deucher
965632adc8
drm/amdgpu: update smu firmware images for VI variants (v2)
...
Some new variants require updated firmware.
V2: add MODULE_FIRMWARE for new firmwares
Reviewed-by: Huang Rui <ray.huang@amd.com > (v1)
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 14:21:45 -05:00
Christian König
6e82c6e066
drm/amdgpu: drop the remaining uses of ring idx in messages
...
Consistently use the ring name instead.
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 >
2018-11-05 14:21:31 -05:00
Christian König
b7ff853f15
drm/amdgpu: cleanup si_dma_ring_test_ib
...
Accidentially missed during the last cleanup.
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 >
2018-11-05 14:21:30 -05:00
Christian König
725b261178
drm/amdgpu: cleanup uvd_v6_0_ring_test_ring
...
Accidentially missed during the last cleanup.
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 >
2018-11-05 14:21:29 -05:00
Christian König
9340c36ca5
drm/amdgpu: use ring name instead of idx in traces
...
Further remove using the ring index in messages and traces.
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 >
2018-11-05 14:21:29 -05:00
Samuel Pitoiset
e0519696cc
drm/amdgpu: print an error when the parser can't be initialized
...
Similar to other error messages, might help for tracking down
issues.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 14:21:28 -05:00
Sharat Masetty
26efecf955
drm/scheduler: Add drm_sched_job_cleanup
...
This patch adds a new API to clean up the scheduler job resources. This
is primarliy needed in cases the job was created but was not queued to
the scheduler queue. Additionally with this change, the layer which
creates the scheduler job also gets to free up the job's resources and
this entails moving the dma_fence_put(finished_fence) to the drivers
ops free handler routines.
Signed-off-by: Sharat Masetty <smasetty@codeaurora.org >
Reviewed-by: Christian König <christian.koenig@amd.com >
Acked-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 14:21:27 -05:00
Christian König
98079389a8
drm/amdgpu: remove messages from IB tests
...
We already print an error message that an IB test failed in the common
code.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 14:21:27 -05:00
Christian König
315fed0367
drm/amdgpu: cleanup skipping IB test on KIQ
...
Instead of hard coding the ring type in the function just never provide
a test_ib callback.
Additional to that remove the emit_ib callback to make sure the nobody
ever tries to execute an IB on the KIQ.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 14:21:26 -05:00
Christian König
af70a471bf
drm/amdgpu: cleanup amdgpu_ib_ring_tests
...
Test only initialized rings, use the ring name instead of the index in the
error message and note on which device the error occured.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 14:21:25 -05:00