[PATCH 000/102] Add Arcturus support
Alex Deucher
alexdeucher at gmail.com
Mon Jul 15 21:22:58 UTC 2019
Arcturus is a new GPU from AMD. This patch set contains support for
the base functionality on most IPs: GC, SDMA, VCN, IH, etc.
I'm not sending out the new register headers due to size, but
you can view the entire commit history in git:
https://cgit.freedesktop.org/~agd5f/linux/log/?h=amd-staging-drm-next-arcturus
Alex Deucher (2):
drm/amdgpu: drop unused function definitions
drm/amdgpu: flag arcturus as experimental for now
Chengming Gui (3):
drm/amdgpu/powerplay: add arcturus ppt functions
drm/amdgpu/powerplay: add smu11 driver interface for arcturus. (v2)
drm/amd/powerplay: get smc firmware and pptable
Feifei Xu (1):
drm/amdgpu: add pci DID for Arcturus GL-XL.
Hawking Zhang (6):
drm/amdgpu: add arct sdma golden settings
drm/amdgpu: add arct gc golden settings
drm/amdgpu: init arct external rev id
drm/amdgpu: keep stolen memory for arct
drm/amdgpu: init gds config for arct
drm/amdgpu: skip gfx 9 common golden settings for arct
James Zhu (10):
drm/amdgpu: Clear build undefined warning
drm/amdgpu/: add clientID for 2nd vcn instance
drm/amdgpu/: add ucodeID for 2nd vcn instance
drm/amdgpu/: add doorbell assignment for 2nd vcn instance
drm/amdgpu/: increase AMDGPU_MAX_RINGS to add 2nd vcn instance
drm/amdgpu: add vcn nbio doorbell range setting for 2nd vcn instance
drm/amdgpu: modify amdgpu_vcn to support multiple instances
drm/amdgpu: add multiple instances support for Arcturus
drm/amdgpu: add harvest support for Arcturus
drm/amdgpu:add all VCN rings into schedule request queue
Jay Cornwall (1):
drm/amdkfd: Merge gfx9/arcturus trap handlers, add ACC VGPR save
Le Ma (47):
drm/amdgpu: add mmhub 9.4.1 header files for Acrturus
drm/amdgpu: add sdma 4.2.2 header files for Arcturus
drm/amdgpu: add Arcturus ip_offset header (v3)
drm/amdgpu: add Arcturus asic type
drm/amdgpu: add gmc basic support for Arcturus
drm/amdgpu: rename AMDGPU_GFXHUB/MMHUB macro with hub number
drm/amdgpu: add new member in amdgpu_device for vmhub counts per asic
chip
drm/amdgpu: add one more mmhub instance for Arcturus (v2)
drm/amdgpu: add mmhub v9.4.1 block for Arcturus (v2)
drm/amdgpu: use new mmhub interfaces for Arcturus
drm/amdgpu: add SDMA 2~7 interrupt client id for Arcturus
drm/amdgpu: add SDMA 2~7 ip block type
drm/amdgpu: increase max number of ip base instances to 8
drm/amdgpu: dynamically initialize IP offset for Arcturus
drm/amdgpu: add VMC1 interrupt client id for Arcturus
drm/amdgpu: update vmc interrupt routine to support 3 vmhubs
drm/amdgpu: reorganize sdma v4 code to support more instances
drm/amdgpu: specify sdma instance 5~7 with second mmhub type
drm/amdgpu: support hdp flush for more sdma instances
drm/amdgpu/soc15: add Arcturus common ip blocks
drm/amdgpu: add to set Arcturus ip blocks
drm/amdgpu: set Arcturus fw load type as direct
drm/amdgpu/dce_virtual: add Arcturus virtual display support
drm/amdgpu: add support for Arcturus firmware
drm/amdgpu: add gfx config for Arcturus
drm/amdgpu: add number of mec for Arcturus
drm/amdgpu: add to set rlc funcs for Arcturus
drm/amdgpu: skip to get 3D engine clockgating state for Arcturus
drm/amdgpu: skip pasid mapping for second mmhub on Arcturus
drm/amdgpu: add Arcturus gpu info firmware
drm/amdgpu: optimize gfx9 init_microcode function
drm/amdgpu: skip load cp gfx firmware for Arcturus
drm/amdgpu: skip all gfx ring settings for Arcturus
drm/amdgpu: support sdma 2~7 doorbell range register offset
drm/amdgpu: correct Arcturus SDMA address space base index
drm/amdgpu: enable 8 SDMA instances for Arcturus
drm/amdgpu: add Arcturus chip_name for init sdma microcode
drm/amdgpu: correct programming of ih_chicken for Arcturus
drm/amdgpu: add paging queue support for 8 SDMA instances on Arcturus
drm/amdgpu: declare sdma firmware binary files for Arcturus
drm/amdgpu: skip get/update xgmi topology info when no psp exists
drm/amdgpu: set system aperture to cover whole FB region in mmhub v9.4
drm/amdgpu: correct ip for mmHDP_READ_CACHE_INVALIDATE register access
drm/amdgpu: assign fb_start/end in mmhub v9.4 interface
drm/amdgpu: clean up nonexistent firmware declaration for Arcturus
drm/amdgpu: limit sdma instances to 2 for Arcturus in BU phase
drm/amdgpu: enable all 8 sdma instances for Arcturus silicon
Leo Liu (13):
drm/amdgpu: add VCN2.5 headers
drm/amdgpu/VCN2: put IB internal registers offset to structure
drm/amdgpu/VCN2: expose rings functions
drm/amdgpu: add VCN2.5 basic supports
drm/amdgpu: add VCN2.5 VCPU start and stop
drm/amdgpu: add Arcturus to the VCN family
drm/amdgpu/VCN2.5: set decode ring functions
drm/amdgpu/VCN2.5: set encode ring functions
drm/amdgpu: add JPEG2.5 HW start and stop
drm/amdgpu/VCN2.5: set JPEG decode ring functions
drm/amdgpu: enable VCN2.5 on Arcturus
drm/amdgpu: add vcn doorbell range function to nbio7.4 (v2)
drm/amdgpu: enable the Doorbell support for VCN2.5
Oak Zeng (12):
drm/amdgpu: Initialize asic functions for Arcturus
drm/amdkfd: Extend PM4 packets to support 8 SDMA
drm/amdkfd: Support bigger gds size
drm/amdkfd: Change arcturus sdma engines number
drm/amdkfd: Fix sdma_bitmap overflow issue
drm/amdkfd: Implement kfd2kgd_calls for Arcturus
drm/amdgpu: Hack xgmi topology info when there is no psp fw
drm/amdgpu: Enable xgmi support for Arcturus
drm/amdkfd: Set number of xgmi optimized SDMA engines for arcturus
drm/amdkfd: Add arcturus CWSR trap handler
drm/amdkfd: Add device id for real asics
drm/amdkfd: Increase vcrat size for GPU
Yong Zhao (7):
amd/amdkfd: Add ASIC ARCTURUS to kfd
drm/amdkfd: Expose function mmhub_v9_4_setup_vm_pt_regs() for kfd to
use
drm/amdkfd: Support two MMHUBs when setting up page table base in KFD
drm/amdgpu: Set VM_L2_CNTL.PDE_FAULT_CLASSIFICATION to 0 for MMHUB 9.4
drm/amdkfd: Support MMHUB1 in kfd interrupt path
amd/powerplay: No SW XGMI dpm for Arcturus rev 2
drm/amdgpu: Add more detail to the VM fault printing
drivers/gpu/drm/amd/amdgpu/Makefile | 9 +-
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 17 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 8 +
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 1 +
.../drm/amd/amdgpu/amdgpu_amdkfd_arcturus.c | 324 +
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 169 +-
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.h | 69 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 26 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +
drivers/gpu/drm/amd/amdgpu/amdgpu_doorbell.h | 9 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 +
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 29 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h | 8 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 2 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 182 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h | 34 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 7 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 76 +-
drivers/gpu/drm/amd/amdgpu/arct_reg_init.c | 57 +
drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 1 +
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 8 +-
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 375 +-
drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 31 +-
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 112 +-
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.h | 7 +
drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/mmhub_v9_4.c | 517 +
drivers/gpu/drm/amd/amdgpu/mmhub_v9_4.h | 33 +
drivers/gpu/drm/amd/amdgpu/nbio_v2_3.c | 2 +-
drivers/gpu/drm/amd/amdgpu/nbio_v7_4.c | 72 +-
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 314 +-
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/soc15.c | 29 +-
drivers/gpu/drm/amd/amdgpu/soc15.h | 1 +
drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 4 +-
drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 116 +-
drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c | 265 +-
drivers/gpu/drm/amd/amdgpu/vcn_v2_0.h | 38 +
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c | 1417 +
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.h | 29 +
drivers/gpu/drm/amd/amdgpu/vega10_ih.c | 11 +-
drivers/gpu/drm/amd/amdgpu/vega20_reg_init.c | 4 +
.../gpu/drm/amd/amdkfd/cwsr_trap_handler.h | 485 +
.../drm/amd/amdkfd/cwsr_trap_handler_gfx9.asm | 83 +-
drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 3 +-
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 25 +-
.../drm/amd/amdkfd/kfd_device_queue_manager.c | 9 +-
drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c | 1 +
.../gpu/drm/amd/amdkfd/kfd_int_process_v9.c | 2 +
drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 1 +
.../gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c | 59 +-
.../gpu/drm/amd/amdkfd/kfd_packet_manager.c | 1 +
.../gpu/drm/amd/amdkfd/kfd_pm4_headers_ai.h | 24 +-
drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 1 +
drivers/gpu/drm/amd/include/arct_ip_offset.h | 1654 +
.../asic_reg/mmhub/mmhub_9_4_1_default.h | 3933 ++
.../asic_reg/mmhub/mmhub_9_4_1_offset.h | 7753 +++
.../asic_reg/mmhub/mmhub_9_4_1_sh_mask.h | 44884 ++++++++++++++++
.../asic_reg/sdma0/sdma0_4_2_2_offset.h | 1051 +
.../asic_reg/sdma0/sdma0_4_2_2_sh_mask.h | 3002 ++
.../asic_reg/sdma1/sdma1_4_2_2_offset.h | 1043 +
.../asic_reg/sdma1/sdma1_4_2_2_sh_mask.h | 2956 +
.../asic_reg/sdma2/sdma2_4_2_2_offset.h | 1043 +
.../asic_reg/sdma2/sdma2_4_2_2_sh_mask.h | 2956 +
.../asic_reg/sdma3/sdma3_4_2_2_offset.h | 1043 +
.../asic_reg/sdma3/sdma3_4_2_2_sh_mask.h | 2956 +
.../asic_reg/sdma4/sdma4_4_2_2_offset.h | 1043 +
.../asic_reg/sdma4/sdma4_4_2_2_sh_mask.h | 2956 +
.../asic_reg/sdma5/sdma5_4_2_2_offset.h | 1043 +
.../asic_reg/sdma5/sdma5_4_2_2_sh_mask.h | 2956 +
.../asic_reg/sdma6/sdma6_4_2_2_offset.h | 1043 +
.../asic_reg/sdma6/sdma6_4_2_2_sh_mask.h | 2956 +
.../asic_reg/sdma7/sdma7_4_2_2_offset.h | 1043 +
.../asic_reg/sdma7/sdma7_4_2_2_sh_mask.h | 2956 +
.../amd/include/asic_reg/vcn/vcn_2_5_offset.h | 979 +
.../include/asic_reg/vcn/vcn_2_5_sh_mask.h | 3609 ++
.../gpu/drm/amd/include/soc15_ih_clientid.h | 11 +-
drivers/gpu/drm/amd/powerplay/Makefile | 2 +-
drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 11 +
drivers/gpu/drm/amd/powerplay/arcturus_ppt.c | 124 +
drivers/gpu/drm/amd/powerplay/arcturus_ppt.h | 28 +
.../gpu/drm/amd/powerplay/inc/amdgpu_smu.h | 11 +
.../drm/amd/powerplay/inc/arcturus_ppsmc.h | 120 +
.../powerplay/inc/smu11_driver_if_arcturus.h | 878 +
drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 15 +-
include/drm/amd_asic_type.h | 1 +
93 files changed, 100491 insertions(+), 704 deletions(-)
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_arcturus.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/arct_reg_init.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/mmhub_v9_4.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/mmhub_v9_4.h
create mode 100644 drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c
create mode 100644 drivers/gpu/drm/amd/amdgpu/vcn_v2_5.h
create mode 100644 drivers/gpu/drm/amd/include/arct_ip_offset.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/mmhub/mmhub_9_4_1_default.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/mmhub/mmhub_9_4_1_offset.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/mmhub/mmhub_9_4_1_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma0/sdma0_4_2_2_offset.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma0/sdma0_4_2_2_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma1/sdma1_4_2_2_offset.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma1/sdma1_4_2_2_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma2/sdma2_4_2_2_offset.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma2/sdma2_4_2_2_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma3/sdma3_4_2_2_offset.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma3/sdma3_4_2_2_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma4/sdma4_4_2_2_offset.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma4/sdma4_4_2_2_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma5/sdma5_4_2_2_offset.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma5/sdma5_4_2_2_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma6/sdma6_4_2_2_offset.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma6/sdma6_4_2_2_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma7/sdma7_4_2_2_offset.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/sdma7/sdma7_4_2_2_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vcn/vcn_2_5_offset.h
create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vcn/vcn_2_5_sh_mask.h
create mode 100644 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c
create mode 100644 drivers/gpu/drm/amd/powerplay/arcturus_ppt.h
create mode 100644 drivers/gpu/drm/amd/powerplay/inc/arcturus_ppsmc.h
create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu11_driver_if_arcturus.h
--
2.20.1
More information about the amd-gfx
mailing list