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 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx