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
Oak Zeng
2f2eab3acc
drm/amdgpu: Hack xgmi topology info when there is no psp fw
...
This is only needed on emulation platform where psp fw might
not be available, to hack xgmi topology info such as hive id and
node id.
v2: Add offset to hacked hive/node id
v3: Don't use introduce new module parameter.
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
Yong Zhao
0ad8c5e296
drm/amdkfd: Support MMHUB1 in kfd interrupt path
...
Handle interrupts for second mmhub.
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:04 -05:00
Yong Zhao
c9ffdf5acd
drm/amdgpu: Set VM_L2_CNTL.PDE_FAULT_CLASSIFICATION to 0 for MMHUB 9.4
...
Should be set to 0 for mmhub 9.4.
Signed-off-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
3e205a0849
drm/amdkfd: Implement kfd2kgd_calls for Arcturus
...
Arcturus shares most of the kfd2kgd_calls with gfx9. But due to
SDMA register address change, it can't share SDMA related functions.
Export gfx9 kfd2kgd_calls and implement SDMA related functions
for Arcturus.
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:04 -05:00
Oak Zeng
35cdc81bfa
drm/amdkfd: Fix sdma_bitmap overflow issue
...
In the original formula, when sdma queue number is 64,
the left shift overflows. Use an equivalence that won't
overflow.
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:04 -05:00
Oak Zeng
3a68a638a9
drm/amdkfd: Change arcturus sdma engines number
...
Arcturus has 8 sdma engines
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:04 -05:00
Yong Zhao
a23e72d7e9
drm/amdkfd: Support two MMHUBs when setting up page table base in KFD
...
2 mmhubs on arcturus.
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com >
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:04 -05:00
Yong Zhao
6d5311ab2c
drm/amdkfd: Expose function mmhub_v9_4_setup_vm_pt_regs() for kfd to use
...
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com >
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:04 -05:00
Yong Zhao
49adcf8a6f
amd/amdkfd: Add ASIC ARCTURUS to kfd
...
Add initial support for ARCTURUS to kfd.
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com >
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:03 -05:00
Oak Zeng
2fb1e49fda
drm/amdkfd: Support bigger gds size
...
Extend map_process and set_resources pm4 packet to support
bigger gds size for arcturus.
v2: Only make the change for v9
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:03 -05:00
Oak Zeng
3a65d14d25
drm/amdkfd: Extend PM4 packets to support 8 SDMA
...
Extend map_queue and unmap_queue PM4 packets to support 8
SDMA engines. The new format is backward compatible.
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:03 -05:00
Oak Zeng
7f40581c2e
drm/amdgpu: Initialize asic functions for Arcturus
...
After cherry-picking doorbell rework changes from drm-next
branch, Arcturus asic functions pointer need to be initialized
to init doorbell index for Arcturus.
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:03 -05:00
Le Ma
f864e3e655
drm/amdgpu: add paging queue support for 8 SDMA instances on Arcturus
...
Properly enable all 8 instances for paging queue.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:03 -05:00
Le Ma
f9c84ae582
drm/amdgpu: correct programming of ih_chicken for Arcturus
...
ih_chicken is a register that is not allowed to access by driver
in the L0 security policy.
psp bl need to enable field to allow driver to use physical
bus address for ih ring on secure part.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Snow Zhang <snow.zhang@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:03 -05:00
Le Ma
5ce40fd86c
drm/amdgpu: add Arcturus chip_name for init sdma microcode
...
So we load the proper firmware for arcturus.
Signed-off-by: Le Ma <le.ma@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:03 -05:00
Le Ma
121d859918
drm/amdgpu: enable 8 SDMA instances for Arcturus
...
All the 8 SDMA instances work fine on the latest Gopher build model.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Snow Zhang <Snow.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:03 -05:00
Le Ma
5cd54ab85d
drm/amdgpu: correct Arcturus SDMA address space base index
...
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:03 -05:00
Le Ma
3d81f67a1b
drm/amdgpu: support sdma 2~7 doorbell range register offset
...
Update the doorbell range registers to support additional
SDMA rings.
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:03 -05:00
Le Ma
f5cdc2da46
drm/amdgpu: skip all gfx ring settings for Arcturus
...
Not needed on Arcturus.
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:03 -05:00
Le Ma
f8b733b9d4
drm/amdgpu: skip load cp gfx firmware for Arcturus
...
Arcturus has no CPG component any more.
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:03 -05:00
Le Ma
24c44c8917
drm/amdgpu: optimize gfx9 init_microcode function
...
Split each type of firmware into single function for easy to maintain.
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:03 -05:00
Le Ma
65e60f6e06
drm/amdgpu: add Arcturus gpu info firmware
...
Add GPU info firmware for Arcturus.
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:03 -05:00
Le Ma
f2d6657111
drm/amdgpu: skip pasid mapping for second mmhub on Arcturus
...
There's no LUT register for second mmhub to convert pasid since it has no ATC.
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:03 -05:00
Le Ma
2065aa5494
drm/amdgpu: skip to get 3D engine clockgating state for Arcturus
...
It's because Arcturus has not 3D engine.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:03 -05:00
Le Ma
2564444f8c
drm/amdgpu: add to set rlc funcs for Arcturus
...
Shared with other gfx9 parts so use the same functions.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:03 -05:00
Le Ma
763bee0fb3
drm/amdgpu: add number of mec for Arcturus
...
MEC is the CP compute microcontroller.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:03 -05:00
Le Ma
6155e98ac0
drm/amdgpu: add gfx config for Arcturus
...
Add Arcturus GFX config.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:02 -05:00
Le Ma
84519350a7
drm/amdgpu: add support for Arcturus firmware
...
Add support for Arcturus gfx firmwares.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:02 -05:00
Le Ma
9f6ef81620
drm/amdgpu/dce_virtual: add Arcturus virtual display support
...
Virtual dce is a sw only display driver for emulation and
virtualization and cases where we want to use a virtual
display subsystem.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:02 -05:00
Le Ma
7fafd613c0
drm/amdgpu: set Arcturus fw load type as direct
...
We currently only support direct firmware loading.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:02 -05:00
Le Ma
61cf44c1db
drm/amdgpu: add to set Arcturus ip blocks
...
Add IP blocks for Arcturus.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:02 -05:00
Le Ma
0e54df0572
drm/amdgpu/soc15: add Arcturus common ip blocks
...
Add common IP blocks for Arcturus.
Signed-off-by: Le Ma <le.ma@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:02 -05:00
Le Ma
0fe6a7b49f
drm/amdgpu: support hdp flush for more sdma instances
...
The bit RSVD_ENG0 to RSVD_ENG5 in GPU_HDP_FLUSH_REQ/GPU_HDP_FLUSH_DONE
can be leveraged for sdma instance 2~7 to poll register/memory.
Signed-off-by: Le Ma <le.ma@amd.com >
Acked-by: Snow Zhang < Snow.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:02 -05:00
Le Ma
b482a134ad
drm/amdgpu: specify sdma instance 5~7 with second mmhub type
...
On Arcturus, sdma instance 5~7 is connected to the second mmhub. The vmhub type
in amdgpu_ring_funcs is constant, so we create an individual amdgpu_ring_funcs
with different vmhub type(AMDGPU_MMHUB_1) for these sdma instances.
Signed-off-by: Le Ma <le.ma@amd.com >
Acked-by: Snow Zhang < Snow.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:02 -05:00
Le Ma
667a48226e
drm/amdgpu: reorganize sdma v4 code to support more instances
...
This change is needed for Arcturus which has 8 sdma instances.
The CG/PG part is not covered for now.
Signed-off-by: Le Ma <le.ma@amd.com >
Acked-by: Snow Zhang < Snow.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:02 -05:00
Le Ma
51c608984f
drm/amdgpu: update vmc interrupt routine to support 3 vmhubs
...
There is one more vmc interrupt and mmhub on Arcturus.
Signed-off-by: Le Ma <le.ma@amd.com >
Acked-by: Snow Zhang < Snow.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2019-07-18 14:18:02 -05:00