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
Hawking Zhang
93d8f2221b
drm/amdgpu/psp: support init psp sos microcode with build-in toc
...
psp_firmware_header_v1_1 is used for psp sos with build-in toc
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
Tao Zhou
bc290fe552
drm/amdgpu: Add psp 11.0 support for navi10.
...
Add psp 11.0 code for navi10. psp 11.0 is not enabled for now.
Will enable it when psp 11.0 firmware is available.
Signed-off-by: Tao Zhou <Tao.Zhou1@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-06-20 21:46:49 -05:00
Sam Ravnborg
f867723b41
drm/amd: drop use of drmP.h in amdgpu.h
...
Delete the unused drmP.h from amdgpu.h.
Fix fallout in various files.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Cc: "Christian König" <christian.koenig@amd.com >
Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20190609220757.10862-5-sam@ravnborg.org
2019-06-10 22:59:53 +02:00
shaoyunl
b0960c3592
drm/amdgpu: Always enable memory sharing within same XGMI hive
...
XGMI Memory sharing will be disbaled by default for security reason after
boot up, it depends on driver to enable the memory sharing
Signed-off-by: shaoyunl <shaoyun.liu@amd.com >
Acked-by: Evan Quan <evan.quan@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-04-10 13:53:27 -05:00
xinhui pan
3ea8fb8c80
drm/amdgpu: add psp v11 ras callback
...
Add trigger_error and cure_posion.
Acked-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: xinhui pan <xinhui.pan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-03-19 15:36:50 -05:00
xinhui pan
c6eec90219
drm/amdgpu: add ta ras fw info (v2)
...
Add ras fw part, xgmi and ras fw are combined together in ta binary.
Reading the data from the info is not implemented yet.
v2: squash in "drm/amdgpu: fix NULL pointer when ta is missing"
Signed-off-by: xinhui pan <xinhui.pan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-03-19 15:36:50 -05:00
Christian König
b849aaa41c
drm/amdgpu: also reroute VMC and UMD to IH ring 1 on Vega 20
...
Same patch we alredy did for Vega10. Just re-route page faults to a separate
ring to avoid drowning in interrupts.
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 >
2019-03-19 15:04:04 -05:00
Dave Airlie
c06de56121
Merge v5.0-rc7 into drm-next
...
Backmerging for nouveau and imx that needed some fixes for next pulls.
Signed-off-by: Dave Airlie <airlied@redhat.com >
2019-02-18 13:27:15 +10:00
Alex Deucher
1d69511e49
drm/amdgpu/psp11: TA firmware is optional (v3)
...
Don't warn or fail if it's missing.
v2: handle xgmi case more gracefully.
v3: handle older kernels properly
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Tested-by: James Zhu <James.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-02-13 09:44:05 -05:00
Hawking Zhang
be4630d962
drm/amdgpu/psp: make get_fw_type and prep_cmd_buf to be common interfaces
...
get_fw_type and prep_cmd_buf should be common interface
instead of IP specific ones
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-01-14 15:04:51 -05:00
Evan Quan
06d6370e7b
drm/amdgpu: add Vega20 PSP ASD firmware loading
...
Add PSP ASD firmware loading on Vega20. Not sure why
this was missing before.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2018-12-21 15:26:49 -05:00
Evan Quan
379c237e39
drm/amdgpu: correct the return value for error case
...
It should not return 0 for error case as '0' is actually
a special value for index.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-12-18 17:39:18 -05:00
Emily Deng
e27a73d130
drm/amdgpu/psp: Correct and refine the vmr support. (v2)
...
Currently driver only psp v11 support vmr.
v2: squash in unused variable removal (Alex)
Signed-off-by: Emily Deng <Emily.Deng@amd.com >
Reviewed-by: Xiangliang Yu <Xiangliang.Yu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-12-14 12:04:39 -05:00
Xiangliang Yu
5ec996dfb6
drm/amdgpu/psp: Add support VMR ring for VF
...
PSP only support VMR ring for SRIOV vf since v45 and all commands will
be send to VMR ring for executing.
VMR ring use C2PMSG 101 ~ 103 instead of C2PMSG 64 ~ 71.
Signed-off-by: Xiangliang Yu <Xiangliang.Yu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-12-07 17:53:46 -05:00
Xiangliang Yu
d63cda5bfc
drm/amdgpu/psp: Get psp fw version through reading register
...
If PSP FW is running already, driver will not load PSP FW again and skip
it. So psp fw version is not correct if reading it from FW binary file,
need to get right version from register.
Signed-off-by: Xiangliang Yu <Xiangliang.Yu@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-12-07 17:53:46 -05:00
Andrey Grodzovsky
38cd8a280d
drm/amdgpu/psp: Update waiting in psp mode1 reset.
...
No point in use mdelay unless running from interrupt context (which we are not)
This is busy wait which will block the CPU for the entirety of the wait time.
Also, reduce wait time to 500ms as it is done in refernce code because
1s might cause PSP FW TO issues during XGMI hive reset.
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-12-03 11:15:00 -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
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
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
John Clements
548f2ecc33
drm/amdgpu: Revised PSP comments
...
Revised comments in PSP SOS/Sysdriver loading sequence
Signed-off-by: John Clements <clements.jm@gmail.com >
Signed-off-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-11-05 14:21:00 -05:00
YueHaibing
50325c0be1
drm/amdgpu: remove set but not used variable 'ring' in psp_v11_0_ring_stop
...
Fixes gcc '-Wunused-but-set-variable' warning:
drivers/gpu/drm/amd/amdgpu/psp_v11_0.c: In function 'psp_v11_0_ring_stop':
drivers/gpu/drm/amd/amdgpu/psp_v11_0.c:309:19: warning:
variable 'ring' set but not used [-Wunused-but-set-variable]
Signed-off-by: YueHaibing <yuehaibing@huawei.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-10-10 14:49:42 -05:00
Shaoyun Liu
78122127a4
drm/amdgpu: Add place holder functions for xgmi topology interface with psp
...
Add dummy function for xgmi function interface with psp
Signed-off-by: Shaoyun Liu <Shaoyun.Liu@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-09-10 22:47:43 -05:00
Evan Quan
d4e838431d
drm/amdgpu: added support 2nd UVD instance
...
Added psp fw loading support for vega20 2nd UVD instance.
Signed-off-by: Evan Quan <evan.quan@amd.com >
Acked-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-08-27 11:10:49 -05:00
Feifei Xu
654f761cfa
drm/amdgpu: Add psp 11.0 support for vega20. (v2)
...
Add psp 11.0 code for vega20 and enable it. PSP is the
security processor for the GPU. It handles firmware
loading and GPU resets among other things.
v2: whitespace fix, enable support, adjust reg includes (Alex)
Signed-off-by: Feifei Xu <Feifei.Xu@amd.com >
Reviewed-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-08-27 11:10:34 -05:00