[PATCH V2 00/64] Move to IP driven device enumeration
Alex Deucher
alexander.deucher at amd.com
Tue Sep 28 16:41:33 UTC 2021
This patch set moves the driver to an IP driven discovery model
rather than one tied to PCI device ids. This allows the
GPU driver to claim all ATI PCI display class devices. The
driver will then either load or not based on the IPs (GC, SDMA,
DCN, VCN, etc.) that are enumerated on the device. All recent
asics contain an IP discovery table which enumerates the
number and version of all IPs on the board. This avoids the need
to add new DIDs for new parts even if the driver would already
otherwise support the new chip (i.e., support for all of the IPs
are in place). It also better handles asics which have different
numbers of instances of IPs. We can just use the IP discovery
table rather than maintaining hardcoded information in the
driver. Finally, we can avoid adding lots of asic type checks
all over the driver to add a new asic if the IP version is
already supported.
V2: integrate cleanups and reworks from initial review
Alex Deucher (62):
drm/amdgpu: move headless sku check into harvest function
drm/amdgpu: add debugfs access to the IP discovery table
drm/amdgpu: store HW IP versions in the driver structure
drm/amdgpu: fill in IP versions from IP discovery table
drm/amdgpu: add XGMI HWIP
drm/amdgpu/nv: export common IP functions
drm/amdgpu: add initial IP enumeration via IP discovery table
drm/amdgpu/sdma5.0: convert to IP version checking
drm/amdgpu/sdma5.2: convert to IP version checking
drm/amdgpu/gfx10: convert to IP version checking
drm/amdgpu: filter out radeon PCI device IDs
drm/amdgpu: bind to any 0x1002 PCI diplay class device
drm/amdgpu/gmc10.0: convert to IP version checking
drm/amdgpu: Use IP discovery to drive setting IP blocks by default
drm/amdgpu: drive nav10 from the IP discovery table
drm/amdgpu/gfxhub2.1: convert to IP version checking
drm/amdgpu/mmhub2.0: convert to IP version checking
drm/amdgpu/mmhub2.1: convert to IP version checking
drm/amdgpu/vcn3.0: convert to IP version checking
drm/amdgpu/athub2.0: convert to IP version checking
drm/amdgpu/athub2.1: convert to IP version checking
drm/amdgpu/navi10_ih: convert to IP version checking
drm/amdgpu/amdgpu_smu: convert to IP version checking
drm/amdgpu/smu11.0: convert to IP version checking
drm/amdgpu/navi10_ppt: convert to IP version checking
drm/amdgpu/sienna_cichlid_ppt: convert to IP version checking
drm/amdgpu/nv: convert to IP version checking
drm/amdgpu: drive all navi asics from the IP discovery table
drm/amdgpu/display/dm: convert to IP version checking
drm/amdgpu: add DCI HWIP
drm/amdgpu/soc15: export common IP functions
drm/amdgpu: add initial IP discovery support for vega based parts
drm/amdgpu/soc15: get rev_id in soc15_common_early_init
drm/amdgpu: drive all vega asics from the IP discovery table
drm/amdgpu: default to true in amdgpu_device_asic_has_dc_support
drm/amdgpu/display/dm: convert RAVEN to IP version checking
drm/amdgpu/sdma4.0: convert to IP version checking
drm/amdgpu/hdp4.0: convert to IP version checking
drm/amdgpu/gfx9.0: convert to IP version checking
drm/amdgpu/amdgpu_psp: convert to IP version checking
drm/amdgpu/psp_v11.0: convert to IP version checking
drm/amdgpu/psp_v13.0: convert to IP version checking
drm/amdgpu/pm/smu_v11.0: update IP version checking
drm/amdgpu/pm/smu_v13.0: convert IP version checking
drm/amdgpu/pm/amdgpu_smu: convert more IP version checking
drm/amdgpu/amdgpu_vcn: convert to IP version checking
drm/amdgpu/vcn2.5: convert to IP version checking
drm/amdgpu/soc15: convert to IP version checking
drm/amdgpu: add VCN1 hardware IP
drm/amdgpu: get VCN and SDMA instances from IP discovery table
drm/amdgpu/sdma: remove manual instance setting
drm/amdgpu/vcn: remove manual instance setting
drm/amdgpu: get VCN harvest information from IP discovery table
drm/amdgpu/ucode: add default behavior
drm/amdgpu: add new asic_type for IP discovery
drm/amdgpu: set CHIP_IP_DISCOVERY as the asic type by default
drm/amdgpu: convert IP version array to include instances
drm/amdgpu: clean up set IP function
drm/amdgpu: add support for SRIOV in IP discovery path
drm/amdkfd: clean up parameters in kgd2kfd_probe
drm/amdkfd: convert kfd_device.c to use GC IP version
drm/amdgpu: add an option to override IP discovery table from a file
Guchun Chen (2):
drm/amd/display: fix error case handling
drm/amdgpu: add HWID of SDMA instance 2 and 3
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 8 +
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 5 +
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 44 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 822 +++++++++++++++++-
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.h | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 655 +++++++++++++-
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 101 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 7 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 47 +-
drivers/gpu/drm/amd/amdgpu/athub_v2_0.c | 7 +-
drivers/gpu/drm/amd/amdgpu/athub_v2_1.c | 9 +-
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 380 ++++----
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 227 ++---
drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.c | 6 +-
drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 91 +-
drivers/gpu/drm/amd/amdgpu/hdp_v4_0.c | 15 +-
drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.c | 73 +-
drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.c | 6 +-
drivers/gpu/drm/amd/amdgpu/navi10_ih.c | 13 +-
drivers/gpu/drm/amd/amdgpu/nv.c | 91 +-
drivers/gpu/drm/amd/amdgpu/nv.h | 2 +
drivers/gpu/drm/amd/amdgpu/psp_v11_0.c | 44 +-
drivers/gpu/drm/amd/amdgpu/psp_v13_0.c | 14 +-
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 100 +--
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 32 +-
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 51 +-
drivers/gpu/drm/amd/amdgpu/soc15.c | 163 ++--
drivers/gpu/drm/amd/amdgpu/soc15.h | 2 +
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 1 -
drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c | 1 -
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c | 6 +-
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c | 27 +-
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 259 ++++--
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 214 ++---
drivers/gpu/drm/amd/include/soc15_hw_ip.h | 2 +
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 124 ++-
.../gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c | 50 +-
.../amd/pm/swsmu/smu11/sienna_cichlid_ppt.c | 24 +-
.../gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c | 96 +-
.../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c | 22 +-
include/drm/amd_asic_type.h | 1 +
43 files changed, 2702 insertions(+), 1147 deletions(-)
--
2.31.1
More information about the amd-gfx
mailing list