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. Alex Deucher (64): 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: drive all navi asics from the IP discovery table drm/amdgpu/nv: convert to IP version checking drm/amdgpu/display/dm: convert to IP version checking drm/amdgpu: add DCI HWIP drm/amdgpu: make soc15_common_ip_funcs static 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: store all instances of IPs in the IP version table 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 | 818 +++++++++++++++++- drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 578 ++++++++++++- 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 | 167 ++-- drivers/gpu/drm/amd/amdgpu/soc15.h | 4 +- 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 | 12 +- drivers/gpu/drm/amd/amdkfd/kfd_device.c | 259 ++++-- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 216 ++--- drivers/gpu/drm/amd/include/soc15_hw_ip.h | 2 + drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 89 +- .../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, 2595 insertions(+), 1131 deletions(-) -- 2.31.1