[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