Bhawanpreet Lakha
6ece96a137
drm/amdgpu: load ta firmware for sienna cichlid
...
call psp_int_ta_microcode() to parse the ta firmware.
Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com >
Reviewed-by: John Clements <John.Clements@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-07-21 15:37:37 -04:00
Jiansong Chen
c82b38ec2e
drm/amdgpu: add psp support for navy_flounder
...
Currently skip ASD FW loading and ih reroute per
sienna_cichlid.
Signed-off-by: Jiansong Chen <Jiansong.Chen@amd.com >
Reviewed-by: Tao Zhou <tao.zhou1@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-07-15 12:46:47 -04:00
Likun Gao
7050905773
drm/amdgpu/psp: support for loading PSP SPL fw
...
Add support for loading SPL firmware.
Signed-off-by: Likun Gao <Likun.Gao@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-07-01 01:59:13 -04:00
Likun Gao
64f2d805a1
drm/amdgpu: skip for reroute ih for sienna_cichlid psp ring init currently
...
Signed-off-by: Likun Gao <Likun.Gao@amd.com >
Reviewed-by: Jack Xiao <Jack.Xiao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-07-01 01:59:07 -04:00
Likun Gao
344fed0b27
drm/amdgpu/psp: add psp support for sienna_cichlid
...
Signed-off-by: Likun Gao <Likun.Gao@amd.com >
Reviewed-by: Jack Xiao <Jack.Xiao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-07-01 01:59:07 -04:00
Likun Gao
bfdb68eca2
drm/amdgpu: skip ASD fw load for sienna_cichlid
...
Skip ASD FW load for sienna_cichlid currently.
Signed-off-by: Likun Gao <Likun.Gao@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-07-01 01:59:07 -04:00
Likun Gao
963cee5597
drm/amdgpu: change memory training to common function
...
Change memory training init and finit a common function, as it only have
software behavior do not relay on the IP version of PSP.
Signed-off-by: Likun Gao <Likun.Gao@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-05-28 14:00:49 -04:00
Hawking Zhang
999a69e275
drm/amdgpu: switch to common rlc_autoload helper
...
drop IP specific psp function for rlc autoload since
the autoload_supported was introduced to mark ASICs
that support rlc_autoload
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Guchun Chen <guchun.chen@amd.com >
Reviewed-by: John Clements <john.clements@amd.com >
Reviewed-by: Tao Zhou <tao.zhou1@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-05-08 14:32:03 -04:00
Hawking Zhang
c797c583e8
drm/amdgpu: drop unused ras ta helper function
...
cure posion command was replaced by ras recovery
solution and was not a formal command supported
by ras ta anymore
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Guchun Chen <guchun.chen@amd.com >
Reviewed-by: John Clements <john.clements@amd.com >
Reviewed-by: Tao Zhou <tao.zhou1@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-05-08 14:31:56 -04:00
Hawking Zhang
001a0a95ed
drm/amdgpu: switch to common ras ta helper
...
TRIGGER_ERROR is common ras ta command for all the
ASICs that support RAS feature. switch to common helper
to avoid duplicate implementation per IP generation
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Guchun Chen <guchun.chen@amd.com >
Reviewed-by: John Clements <john.clements@amd.com >
Reviewed-by: Tao Zhou <tao.zhou1@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-05-08 14:31:49 -04:00
Hawking Zhang
35ccba4e9f
drm/amdgpu: switch to common xgmi ta helpers
...
get_hive_id/get_node_id/get_topology_info/set_topology_info
are common xgmi command supported by TA for all the ASICs
that support xgmi link. They should be implemented as common
helper functions to avoid duplicated code per IP generation
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Guchun Chen <guchun.chen@amd.com >
Reviewed-by: John Clements <john.clements@amd.com >
Reviewed-by: Tao Zhou <tao.zhou1@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-05-08 14:31:37 -04:00
Monk Liu
1a0f3667d8
drm/amdgpu: ignore TA ucode for SRIOV
...
Signed-off-by: Monk Liu <Monk.Liu@amd.com >
Acked-by: Yintian Tao <yttao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-04-24 11:42:11 -04:00
Hawking Zhang
893d14cbe1
drm/amdgpu: switch to helper function to init sos ucode
...
call common helper function to init sos ucode, instead
of duplicate codes per ip version
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Guchun Chen <guchun.chen@amd.com >
Reviewed-by: John Clements <john.clements@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-04-23 15:41:00 -04:00
Hawking Zhang
f4503f9eb3
drm/amdgpu: switch to helper function to init asd ucode
...
call common helper function to initialize asd ucode
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Guchun Chen <guchun.chen@amd.com >
Reviewed-by: John Clements <john.clements@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-04-23 15:40:46 -04:00
Hawking Zhang
bc9fb7e93c
drm/amdgpu: retire unused check_fw_loading status
...
The driver can't access UCODE_DATA/ADDR registers on production boards.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Guchun Chen <guchun.chen@amd.com >
Reviewed-by: John Clements <john.clements@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-04-23 15:40:28 -04:00
Hawking Zhang
d4d27897db
drm/amdgpu: remove unnecessary tOS version check
...
tOS version is available through debugfs interface
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Guchun Chen <guchun.chen@amd.com >
Reviewed-by: John Clements <john.clements@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-04-23 15:40:22 -04:00
Hawking Zhang
a267614932
drm/amdgpu: retire support_vmr_ring interface
...
vmr ring is dedicated for sriov vf (i.e.guest driver
in sriov), which is general communication interface
between driver and psp fw accross all ip version.
it is not correct to make it as ip specific callback.
it is even worse to check specific tOS version per IP
version (like psp_v11/v12).
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Guchun Chen <guchun.chen@amd.com >
Reviewed-by: John Clements <john.clements@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-04-23 15:40:13 -04:00
John Clements
c2c6f816a8
drm/amdgpu: resolve failed error inject msg
...
invoking an error injection successfully will cause an at_event intterrupt that
will occur before the invoke sequence can complete causing an invalid error
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: John Clements <john.clements@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-03-13 11:52:33 -04:00
Andrey Grodzovsky
0dc93fd117
drm/amdgpu: Add USBC PD FW load to PSP 11
...
Add the programming sequence.
v2:
Change donwload wait loop to more efficient.
Move C2PMSG_CMD_GFX_USB_PD_FW_VER defintion
v3: Fix lack of loop counter increment typo
v4: Remove superflous status reg read
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Reviewed-by: Luben Tuikov <luben.tuikov@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-03-05 00:33:16 -05:00
Monk Liu
f77a9c920a
drm/amdgpu: cleanup some incorrect reg access for SRIOV
...
1)
we shouldn't load PSP kdb and sys/sos for VF, they are
supposed to be handled by hypervisor
2)
ih reroute doesn't work on VF thus we should avoid calling
it, besides VF should not use those PSP register sets for PF
3)
shouldn't load SMU ucode under SRIOV, otherwise PSP would report
error
Signed-off-by: Monk Liu <Monk.Liu@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-02-25 11:01:25 -05:00
Stephen Rothwell
7044cb6c20
amdgpu: using vmalloc requires includeing vmalloc.h
...
Fixes: 240c811ccd ("drm/amdgpu: fix VRAM partially encroached issue in GDDR6 memory training(V2)")
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-01-30 17:15:42 -05:00
Tianci.Yin
240c811ccd
drm/amdgpu: fix VRAM partially encroached issue in GDDR6 memory training(V2)
...
[why]
In GDDR6 BIST training, a certain mount of bottom VRAM will be encroached by
UMC, that causes problems(like GTT corrupted and page fault observed).
[how]
Saving the content of this bottom VRAM to system memory before training, and
restoring it after training to avoid VRAM corruption.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Tianci.Yin <tianci.yin@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-01-22 16:55:27 -05:00
Alex Deucher
a2e4b418c6
drm/amdgpu/psp: declare navi1x ta firmware
...
So that it gets included in the initrd. At the moment
this is optional firmware that contains support for HDCP.
Reviewed-by: Evan Quan <evan.quan@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-01-14 10:18:58 -05:00
John Clements
097dc53ee9
drm/amdgpu: added function to wait for PSP BL availability
...
reduced duplicate code
increased wait time for PSP BL readiness
Signed-off-by: John Clements <john.clements@amd.com >
Reviewed-by: Guchun Chen <guchun.chen@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2020-01-07 11:58:50 -05:00
Bhawanpreet Lakha
a7f4ba7a6c
drm/amd/display: Load TA firmware for navi10/12/14
...
load the ta firmware for navi10/12/14.
This is already being done for raven/picasso and
is needed for supporting hdcp on navi
Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-12-02 17:39:13 -05:00
Hawking Zhang
5bdd0b72d6
drm/amdgpu: switch to common helper func for psp cmd submission
...
Drop all the IP specific cmd_submit callback function
and use the common helper instead
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: John Clements <john.clements@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-11-19 12:09:13 -05:00
Hawking Zhang
13a390a6f9
drm/amdgpu: add psp funcs for ring write pointer read/write
...
The ring write pointer regsiter update is the only part that
is IP specific ones in psp_cmd_submit function.
Add two callbacks for wptr read/write so that we unify the
psp_cmd_submit function for all the ASICs.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: John Clements <john.clements@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-11-19 12:08:58 -05:00
Xiaojie Yuan
73469970a9
drm/amdgpu/psp11: fix typo in comment
...
Signed-off-by: Xiaojie Yuan <xiaojie.yuan@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-10-25 16:50:07 -04:00
Xiaojie Yuan
d7e7f1ea25
drm/amdgpu/psp11: wait for sOS ready for ring creation
...
Signed-off-by: Xiaojie Yuan <xiaojie.yuan@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-10-25 16:50:07 -04:00
Tianci.Yin
367039bfb6
drm/amdgpu/psp: add psp memory training implementation(v3)
...
add memory training implementation code to save resume time.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Luben Tuikov <luben.tuikov@amd.com >
Signed-off-by: Tianci.Yin <tianci.yin@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-10-17 16:31:54 -04:00
Tianci.Yin
a7d4c920f8
drm/amdgpu: introduce psp_v11_0_is_sos_alive interface(v2)
...
introduce psp_v11_0_is_sos_alive func for common use.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Luben Tuikov <luben.tuikov@amd.com >
Signed-off-by: Tianci.Yin <tianci.yin@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-10-17 16:31:19 -04:00
Alex Deucher
e8186eeccb
drm/amdgpu/psp: flush HDP write fifo after submitting cmds to the psp
...
We need to make sure the fifo is flushed before we ask the psp to
process the commands.
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-10-03 09:10:59 -05:00
Jack Zhang
51c0f58e9f
drm/amdgpu/sriov: add ring_stop before ring_create in psp v11 code
...
psp v11 code missed ring stop in ring create function(VMR)
while psp v3.1 code had the code. This will cause VM destroy1
fail and psp ring create fail.
For SIOV-VF, ring_stop should not be deleted in ring_create
function.
Signed-off-by: Jack Zhang <Jack.Zhang1@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-09-16 10:11:28 -05:00
John Clements
4fb60b02fb
drm/amdgpu: enable TA load support in Arcturus
...
Add support for loading XGMI/RAS FW
Signed-off-by: John Clements <john.clements@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-09-13 17:49:02 -05:00
Xiaojie Yuan
50e275e880
drm/amdgpu: remove redundant argument for psp_funcs::cmd_submit callback
...
Signed-off-by: Xiaojie Yuan <xiaojie.yuan@amd.com >
Reviewed-by: Evan Quan <evan.quan@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-08-21 22:16:37 -05:00
Xiaojie Yuan
739cdbd6a2
drm/amdgpu/psp11: add psp support for navi12
...
Same as other navi asics.
Signed-off-by: Xiaojie Yuan <xiaojie.yuan@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-08-02 10:30:41 -05:00
John Clements
dc0d962297
drm/amdgpu: add PSP KDB loading support for Arcturus
...
Add support for the arcturus specific psp metadata to the
amdgpu firmware and properly parse it when loading it.
Signed-off-by: John Clements <john.clements@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-08-02 10:30:39 -05:00
John Clements
f36d9ab95f
drm/amdgpu: add PSP SW init support for Arcturus
...
Add arcturus cases to psp init sewquence.
Signed-off-by: John Clements <john.clements@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-08-02 10:30:39 -05:00
Xiaojie Yuan
8687b47e3a
drm/amdgpu: declare asd firmware for navi14
...
So the dependency gets properly tracked.
Signed-off-by: Xiaojie Yuan <xiaojie.yuan@amd.com >
Reviewed-by: Snow Zhang <snow.zhang@amd.com >
Reviewed-by: Jack Xiao <Jack.Xiao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:00 -05:00
Xiaojie Yuan
e470d287c3
drm/amdgpu: skip to load ta firmware for navi14
...
Not relevant on navi14.
Signed-off-by: Xiaojie Yuan <xiaojie.yuan@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:00 -05:00
Xiaojie Yuan
82522b2d7f
drm/amdgpu/psp: add psp support for navi14 (v3)
...
Same as navi10.
v2: squash in logic fix (Colin Ian King)
v3: squash in logic simplification (Alex)
Signed-off-by: Xiaojie Yuan <xiaojie.yuan@amd.com >
Reviewed-by: Snow Zhang <Snow.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:17:59 -05:00
Hawking Zhang
4298935924
drm/amdgpu: support key database loading for navi10
...
Starting from navi10, driver should send Key Database Load command
to bootloader before loading sys_drv and sos
Signed-off-by: John Clements <John.Clements@amd.com >
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Xiaojie Yuan <xiaojie.yuan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-12 08:00:10 -05:00
Hawking Zhang
3840fe256a
drm/amdgpu: switch to macro for psp bootloader command
...
The command will be sent to psp bootloader from driver
to ask psp bootloader to exerise tOS, sys_drv and kdb loading
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Xiaojie Yuan <xiaojie.yuan@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-12 08:00:10 -05:00
Alex Deucher
173da95d93
drm/amdgpu/psp11: simplify the ucode register logic
...
Split it between navi10 and newer and everything before
navi10.
Reviewed-by: Xiaojie Yuan <xiaojie.yuan@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-08 14:01:30 -05:00
Alex Deucher
d7929c1e13
Merge branch 'drm-next' into drm-next-5.3
...
Backmerge drm-next and fix up conflicts due to drmP.h removal.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-06-25 08:42:25 -05:00
Hawking Zhang
a954f3ffc7
drm/amdgpu/psp11: skip ta firmware for navi10
...
Not used on Navi10.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-06-20 21:46:50 -05:00
Hawking Zhang
a698faf862
drm/amdgpu: declare navi10 asd firmware
...
So the dependencies are properly handled.
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 >
2019-06-20 21:46:50 -05:00
Hawking Zhang
5160709d45
drm/amdgpu/psp: switch to use sos_offset_bytes member as sys_bin_size
...
Navi10 will have toc built-in sos binary so that using header.ucode_size_bytes
minus sos_size_bytes actually is not sys_bin_size.
Using sos_offset_bytes works for both vega20 (psp_firmware_header_v1_0) and
navi10 (psp_firmware_header_v1_1)
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 >
2019-06-20 21:46:50 -05:00
Hawking Zhang
1a5b4cca29
drm/amdgpu/psp: start rlc autoload after psp recieved all gfx firmware
...
RLC handles firmware loading for gfx to support vddgfx feature.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Le Ma <Le.Ma@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-06-20 21:46:50 -05:00
Hawking Zhang
37e919180c
drm/amdgpu/psp: print out psp v11 ucode hdr in drm debug mode
...
Print the psp header data if requested.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Le Ma <Le.Ma@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-06-20 21:46:49 -05:00