Alex Deucher
a08a4dae7a
drm/amdgpu: flag arcturus as experimental for now
...
Current support will only work in internal engineering
boards.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:07 -05:00
Alex Deucher
ad91b134a2
drm/amdgpu: drop unused function definitions
...
These were dropped and the headers never got cleaned up.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:07 -05:00
James Zhu
1da418ba65
drm/amdgpu:add all VCN rings into schedule request queue
...
Add all VCN instances' decode/encode/jpeg decode rings into
drm_sched_rq list.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:07 -05:00
Oak Zeng
47a7fe5316
drm/amdkfd: Increase vcrat size for GPU
...
GPU cache info (part of virtual CRAT) size depends on CU number.
For arcturus, CU number has been increased. So the required memory
for vcrat also increases.
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com >
Reviewed-by: Yong Zhao <Yong.Zhao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:07 -05:00
Le Ma
69d4de94f8
drm/amdgpu: enable all 8 sdma instances for Arcturus silicon
...
The more 6 sdma instances work fine now with DF fix in vbios:
* mmDF_PIE_AON_MiscClientsEnable(0x1c728)=0x3fe(DF_ALL_INSTANCE)
[9:4]MmhubsEnable=3f (change from 0)
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Evan Quan <evan.quan@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:07 -05:00
Jay Cornwall
37f86a9b36
drm/amdkfd: Merge gfx9/arcturus trap handlers, add ACC VGPR save
...
ACC VGPRs are a secondary VGPR set of same size as the primary VGPRs.
Save them as a block immediately following VGPRs.
Signed-off-by: Jay Cornwall <Jay.Cornwall@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:06 -05:00
Yong Zhao
5ddd4a9a7c
drm/amdgpu: Add more detail to the VM fault printing
...
With the printing, we don't need to parse the value on our own any more.
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:06 -05:00
Oak Zeng
e30d90fca3
drm/amdkfd: Add device id for real asics
...
Add pci device ids.
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com >
Reviewed-by: Yong Zhao <Yong.Zhao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:06 -05:00
Le Ma
fc1e272e8d
drm/amdgpu: limit sdma instances to 2 for Arcturus in BU phase
...
Another 6 sdma instances do not work at present. Disable them to unblock KFD
for silicon bringup as a workaround
Signed-off-by: Le Ma <le.ma@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:06 -05:00
Hawking Zhang
f9cf36fcaf
drm/amdgpu: skip gfx 9 common golden settings for arct
...
They are not needed by arct
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:06 -05:00
Oak Zeng
3baa24f0fc
drm/amdkfd: Add arcturus CWSR trap handler
...
CWSR (compute wave save/restore) is used for
preempting compute queues.
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:06 -05:00
Yong Zhao
54bd77f3d0
amd/powerplay: No SW XGMI dpm for Arcturus rev 2
...
xgmi dpm is handled by the SMU.
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:06 -05:00
Le Ma
a80955176d
drm/amdgpu: clean up nonexistent firmware declaration for Arcturus
...
CPG firmwares are not used.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Reviewed-by: Evan Quan <evan.quan@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:06 -05:00
Hawking Zhang
22f5ea4ca0
drm/amdgpu: init gds config for arct
...
arct has 4KB gds (4 banks inside) so the max_wave_id
should be 0xfff
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-07-18 14:18:06 -05:00
Hawking Zhang
bfa3a9bb98
drm/amdgpu: keep stolen memory for arct
...
Any dce register read back from arct is invalid. use hard code
stolen memory for arct until we validate the s3.
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-07-18 14:18:06 -05:00
Hawking Zhang
d57c3d5634
drm/amdgpu: init arct external rev id
...
Properly set the external silicon revision id.
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-07-18 14:18:06 -05:00
Hawking Zhang
582870de56
drm/amdgpu: add arct gc golden settings
...
Golden GC register settings from the hw team.
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-07-18 14:18:06 -05:00
Hawking Zhang
ca1961a2f5
drm/amdgpu: add arct sdma golden settings
...
Golden SDMA register settings from the hw team.
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-07-18 14:18:06 -05:00
Feifei Xu
48c69cda45
drm/amdgpu: add pci DID for Arcturus GL-XL.
...
Add device ids for Arcturus.
Signed-off-by: Feifei Xu <Feifei.Xu@amd.com >
Reviewed-by: Le Ma <Le.Ma@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:06 -05:00
Le Ma
6c54afc7e8
drm/amdgpu: assign fb_start/end in mmhub v9.4 interface
...
Align with mmhub v1.0.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:06 -05:00
James Zhu
cd1fd7b381
drm/amdgpu: add harvest support for Arcturus
...
Add VCN harvest support for Arcturus
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:06 -05:00
James Zhu
fa739f4b06
drm/amdgpu: add multiple instances support for Arcturus
...
Arcturus has dual-VCN. Need add multiple instances support for Arcturus.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
James Zhu
c01b6a1d38
drm/amdgpu: modify amdgpu_vcn to support multiple instances
...
Arcturus has dual-VCN. Need Restruct amdgpu_device::vcn to support
multiple vcns. There are no any logical changes here
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
James Zhu
989b6a0549
drm/amdgpu: add vcn nbio doorbell range setting for 2nd vcn instance
...
add vcn nbio doorbell range setting for 2nd vcn instance
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
James Zhu
8b75a521c0
drm/amdgpu/: increase AMDGPU_MAX_RINGS to add 2nd vcn instance
...
increase AMDGPU_MAX_RINGS to add 2nd vcn instance
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
James Zhu
6da061dca9
drm/amdgpu/: add doorbell assignment for 2nd vcn instance
...
add doorbell assignment for 2nd vcn instance
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
James Zhu
a07d163c90
drm/amdgpu/: add ucodeID for 2nd vcn instance
...
add ucodeID for 2nd vcn instance
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
James Zhu
8a6fcd3532
drm/amdgpu/: add clientID for 2nd vcn instance
...
add clientID for 2nd vcn instance, remove unused SOC15_IH_CLIENTID_SYSHUB.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
Oak Zeng
b6689cf7b9
drm/amdkfd: Set number of xgmi optimized SDMA engines for arcturus
...
some sdma engines are optimized for xgmi on arcturus.
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com >
Reviewed-by: Yong Zhao <Yong.Zhao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
Le Ma
5fb7c66508
drm/amdgpu: correct ip for mmHDP_READ_CACHE_INVALIDATE register access
...
Use the proper IP index for HDP registers.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
Le Ma
7d0670f441
drm/amdgpu: set system aperture to cover whole FB region in mmhub v9.4
...
In XGMI configuration, the FB region covers vram region from peer
device, adjust system aperture to cover all of them
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
Le Ma
75b2fce2d8
drm/amdgpu: skip get/update xgmi topology info when no psp exists
...
We don't currently have psp support for arcturus so provide a alternative
mechanism in the meantime.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
Chengming Gui
e7773c1c11
drm/amd/powerplay: get smc firmware and pptable
...
get smc firmware and pptable for arcturus
Signed-off-by: Chengming Gui <Jack.Gui@amd.com >
Reviewed-by: Kevin Wang <kevin1.wang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
Chengming Gui
1fb8cfc2a3
drm/amdgpu/powerplay: add smu11 driver interface for arcturus. (v2)
...
add smu11_driver_if_arcturus.h file.
v2: add license, fix header guard (Alex)
Signed-off-by: Chengming Gui <Jack.Gui@amd.com >
Reviewed-by: Kevin Wang <kevin1.wang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
Chengming Gui
6fba59060c
drm/amdgpu/powerplay: add arcturus ppt functions
...
add arcturus_ppsmc.h arcturus_ppt.c and arcturus_ppt.h files.
This is the initial power management support for Arcturus.
Signed-off-by: Chengming Gui <Jack.Gui@amd.com >
Reviewed-by: Kevin Wang <kevin1.wang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:05 -05:00
Leo Liu
530e30fc32
drm/amdgpu: enable the Doorbell support for VCN2.5
...
Including decode, encode, and JPEG decode rings
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 >
2019-07-18 14:18:05 -05:00
Leo Liu
39a5053fb2
drm/amdgpu: add vcn doorbell range function to nbio7.4 (v2)
...
To setup the aperture for VCN2.5
v2: setup vcn doorbells in vcn2.5 hw_init (Alex)
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 >
2019-07-18 14:18:05 -05:00
Leo Liu
08249a3a32
drm/amdgpu: enable VCN2.5 on Arcturus
...
VCN is the video decode and encode engine on Arcturus
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 >
2019-07-18 14:18:05 -05:00
Leo Liu
8001073708
drm/amdgpu/VCN2.5: set JPEG decode ring functions
...
Also reuse most of the JPEG2.0 decode ring functions
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 >
2019-07-18 14:18:05 -05:00
Leo Liu
e87d5a7a23
drm/amdgpu: add JPEG2.5 HW start and stop
...
JPEG engine initialization and suspend sequences
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 >
2019-07-18 14:18:05 -05:00
Leo Liu
a4767886e5
drm/amdgpu/VCN2.5: set encode ring functions
...
Also reuse most of the VCN2.0 encode ring functions
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 >
2019-07-18 14:18:04 -05:00
Leo Liu
185a579700
drm/amdgpu/VCN2.5: set decode ring functions
...
Also reuse most of the VCN2.0 decode ring functions
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 >
2019-07-18 14:18:04 -05:00
Leo Liu
a7c0e4019f
drm/amdgpu: add Arcturus to the VCN family
...
including firmware support etc.
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 >
2019-07-18 14:18:04 -05:00
Leo Liu
cbead2bdfc
drm/amdgpu: add VCN2.5 VCPU start and stop
...
HW engine initialization and suspend sequences.
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 >
2019-07-18 14:18:04 -05:00
Leo Liu
28c17d7207
drm/amdgpu: add VCN2.5 basic supports
...
i.e. basic VCN IP SW structures
VCN is the video codec block on the GPU.
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 >
2019-07-18 14:18:04 -05:00
Leo Liu
cdbd115eaf
drm/amdgpu/VCN2: expose rings functions
...
They can be reused by VCN2.x family
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 >
2019-07-18 14:18:04 -05:00
Leo Liu
22a8f44286
drm/amdgpu/VCN2: put IB internal registers offset to structure
...
So the ring functions can be shared with different VCN versions
with different internal registers offsets
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 >
2019-07-18 14:18:04 -05:00
Le Ma
eec28ef03c
drm/amdgpu: declare sdma firmware binary files for Arcturus
...
So that they are properly picked up as a driver dependency.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:04 -05:00
James Zhu
db6a49d958
drm/amdgpu: Clear build undefined warning
...
Add amdgpu_amdkfd_arcturus_get_functions stub when
CONFIG_HSA_AMD is undefinded.
Signed-off-by: James Zhu <James.Zhu@amd.com >
Reviewed-by: Yong Zhao <Yong.Zhao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:04 -05:00
Oak Zeng
eb39aff7e0
drm/amdgpu: Enable xgmi support for Arcturus
...
xgmi is a high performance cross-GPU communication channel.
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:04 -05:00