From: Alex Deucher <alexander.deucher@amd.com>
To: <amd-gfx@lists.freedesktop.org>
Cc: Alex Deucher <alexander.deucher@amd.com>
Subject: [PATCH 00/66] Move to IP driven device enumeration
Date: Tue, 21 Sep 2021 14:06:19 -0400 [thread overview]
Message-ID: <20210921180725.1985552-1-alexander.deucher@amd.com> (raw)
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
next reply other threads:[~2021-09-21 18:07 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-21 18:06 Alex Deucher [this message]
2021-09-21 18:06 ` [PATCH 01/66] drm/amdgpu: move headless sku check into harvest function Alex Deucher
2021-09-21 18:06 ` [PATCH 02/66] drm/amdgpu: add debugfs access to the IP discovery table Alex Deucher
2021-09-21 18:06 ` [PATCH 03/66] drm/amdgpu: store HW IP versions in the driver structure Alex Deucher
2021-09-21 18:06 ` [PATCH 04/66] drm/amdgpu: fill in IP versions from IP discovery table Alex Deucher
2021-09-22 16:58 ` Felix Kuehling
2021-09-22 20:43 ` Deucher, Alexander
2021-09-21 18:06 ` [PATCH 05/66] drm/amdgpu: add XGMI HWIP Alex Deucher
2021-09-21 18:06 ` [PATCH 06/66] drm/amdgpu/nv: export common IP functions Alex Deucher
2021-09-21 18:06 ` [PATCH 07/66] drm/amdgpu: add initial IP enumeration via IP discovery table Alex Deucher
2021-09-21 18:06 ` [PATCH 08/66] drm/amdgpu/sdma5.0: convert to IP version checking Alex Deucher
2021-09-21 18:06 ` [PATCH 09/66] drm/amdgpu/sdma5.2: " Alex Deucher
2021-09-22 5:55 ` Lazar, Lijo
2021-09-22 6:08 ` Chen, Guchun
2021-09-22 9:18 ` Lazar, Lijo
2021-09-21 18:06 ` [PATCH 10/66] drm/amdgpu/gfx10: " Alex Deucher
2021-09-21 18:06 ` [PATCH 11/66] drm/amdgpu: filter out radeon PCI device IDs Alex Deucher
2021-09-22 4:41 ` Lazar, Lijo
2021-09-22 15:19 ` Deucher, Alexander
2021-09-22 16:16 ` Felix Kuehling
2021-09-22 17:07 ` Alex Deucher
2021-09-21 18:06 ` [PATCH 12/66] drm/amdgpu: bind to any 0x1002 PCI diplay class device Alex Deucher
2021-09-21 18:06 ` [PATCH 13/66] drm/amdgpu/gmc10.0: convert to IP version checking Alex Deucher
2021-09-21 18:06 ` [PATCH 14/66] drm/amdgpu: Use IP discovery to drive setting IP blocks by default Alex Deucher
2021-09-21 18:06 ` [PATCH 15/66] drm/amdgpu: drive nav10 from the IP discovery table Alex Deucher
2021-09-21 18:06 ` [PATCH 16/66] drm/amdgpu/gfxhub2.1: convert to IP version checking Alex Deucher
2021-09-21 18:06 ` [PATCH 17/66] drm/amdgpu/mmhub2.0: " Alex Deucher
2021-09-21 18:06 ` [PATCH 18/66] drm/amdgpu/mmhub2.1: " Alex Deucher
2021-09-21 18:06 ` [PATCH 19/66] drm/amdgpu/vcn3.0: " Alex Deucher
2021-09-21 18:06 ` [PATCH 20/66] drm/amdgpu/athub2.0: " Alex Deucher
2021-09-21 18:06 ` [PATCH 21/66] drm/amdgpu/athub2.1: " Alex Deucher
2021-09-21 18:06 ` [PATCH 22/66] drm/amdgpu/navi10_ih: " Alex Deucher
2021-09-21 18:06 ` [PATCH 23/66] drm/amdgpu/amdgpu_smu: " Alex Deucher
2021-09-22 7:32 ` Lazar, Lijo
2021-09-22 15:40 ` Deucher, Alexander
2021-09-21 18:06 ` [PATCH 24/66] drm/amdgpu/smu11.0: " Alex Deucher
2021-09-21 18:06 ` [PATCH 25/66] drm/amdgpu/navi10_ppt: " Alex Deucher
2021-09-21 18:06 ` [PATCH 26/66] drm/amdgpu/sienna_cichlid_ppt: " Alex Deucher
2021-09-21 18:06 ` [PATCH 27/66] drm/amdgpu: drive all navi asics from the IP discovery table Alex Deucher
2021-09-21 18:06 ` [PATCH 28/66] drm/amdgpu/nv: convert to IP version checking Alex Deucher
2021-09-22 7:31 ` Lazar, Lijo
2021-09-22 15:21 ` Alex Deucher
2021-09-21 18:06 ` [PATCH 29/66] drm/amdgpu/display/dm: " Alex Deucher
2021-09-22 7:37 ` Lazar, Lijo
2021-09-22 15:53 ` Deucher, Alexander
2021-09-21 18:06 ` [PATCH 30/66] drm/amdgpu: add DCI HWIP Alex Deucher
2021-09-23 15:43 ` Harry Wentland
2021-09-24 19:58 ` Alex Deucher
2021-09-24 20:40 ` Harry Wentland
2021-09-21 18:06 ` [PATCH 31/66] drm/amdgpu: make soc15_common_ip_funcs static Alex Deucher
2021-09-21 18:06 ` [PATCH 32/66] drm/amdgpu/soc15: export common IP functions Alex Deucher
2021-09-21 18:06 ` [PATCH 33/66] drm/amdgpu: add initial IP discovery support for vega based parts Alex Deucher
2021-09-22 7:48 ` Lazar, Lijo
2021-09-22 7:54 ` Lazar, Lijo
2021-09-22 15:58 ` Alex Deucher
2021-09-21 18:06 ` [PATCH 34/66] drm/amdgpu/soc15: get rev_id in soc15_common_early_init Alex Deucher
2021-09-21 18:06 ` [PATCH 35/66] drm/amdgpu: drive all vega asics from the IP discovery table Alex Deucher
2021-09-21 18:06 ` [PATCH 36/66] drm/amdgpu: default to true in amdgpu_device_asic_has_dc_support Alex Deucher
2021-09-23 15:58 ` Harry Wentland
2021-09-21 18:06 ` [PATCH 37/66] drm/amdgpu/display/dm: convert RAVEN to IP version checking Alex Deucher
2021-09-21 18:06 ` [PATCH 38/66] drm/amdgpu/sdma4.0: convert " Alex Deucher
2021-09-21 18:06 ` [PATCH 39/66] drm/amdgpu/hdp4.0: " Alex Deucher
2021-09-21 18:06 ` [PATCH 40/66] drm/amdgpu/gfx9.0: " Alex Deucher
2021-09-21 18:07 ` [PATCH 41/66] drm/amdgpu/amdgpu_psp: " Alex Deucher
2021-09-21 18:07 ` [PATCH 42/66] drm/amdgpu/psp_v11.0: " Alex Deucher
2021-09-21 18:07 ` [PATCH 43/66] drm/amdgpu/psp_v13.0: " Alex Deucher
2021-09-21 18:07 ` [PATCH 44/66] drm/amdgpu/pm/smu_v11.0: update " Alex Deucher
2021-09-21 18:07 ` [PATCH 45/66] drm/amdgpu/pm/smu_v13.0: convert " Alex Deucher
2021-09-22 8:18 ` Lazar, Lijo
2021-09-21 18:07 ` [PATCH 46/66] drm/amdgpu/pm/amdgpu_smu: convert more " Alex Deucher
2021-09-22 8:16 ` Lazar, Lijo
2021-09-22 16:06 ` Deucher, Alexander
2021-09-21 18:07 ` [PATCH 47/66] drm/amdgpu/amdgpu_vcn: convert to " Alex Deucher
2021-09-21 18:07 ` [PATCH 48/66] drm/amdgpu/vcn2.5: " Alex Deucher
2021-09-21 18:07 ` [PATCH 49/66] drm/amdgpu/soc15: " Alex Deucher
2021-09-21 18:07 ` [PATCH 50/66] drm/amd/display: fix error case handling Alex Deucher
2021-09-21 18:07 ` [PATCH 51/66] drm/amdgpu: add VCN1 hardware IP Alex Deucher
2021-09-21 18:07 ` [PATCH 52/66] drm/amdgpu: store all instances of IPs in the IP version table Alex Deucher
2021-09-22 8:36 ` Lazar, Lijo
2021-09-22 8:45 ` Lazar, Lijo
2021-09-21 18:07 ` [PATCH 53/66] drm/amdgpu: add HWID of SDMA instance 2 and 3 Alex Deucher
2021-09-21 18:07 ` [PATCH 54/66] drm/amdgpu: get VCN and SDMA instances from IP discovery table Alex Deucher
2021-09-21 18:07 ` [PATCH 55/66] drm/amdgpu/sdma: remove manual instance setting Alex Deucher
2021-09-21 18:07 ` [PATCH 56/66] drm/amdgpu/vcn: " Alex Deucher
2021-09-21 18:07 ` [PATCH 57/66] drm/amdgpu: get VCN harvest information from IP discovery table Alex Deucher
2021-09-21 18:07 ` [PATCH 58/66] drm/amdgpu/ucode: add default behavior Alex Deucher
2021-09-21 18:07 ` [PATCH 59/66] drm/amdgpu: add new asic_type for IP discovery Alex Deucher
2021-09-21 18:07 ` [PATCH 60/66] drm/amdgpu: set CHIP_IP_DISCOVERY as the asic type by default Alex Deucher
2021-09-23 6:47 ` Lazar, Lijo
2021-09-23 21:46 ` Alex Deucher
2021-09-21 18:07 ` [PATCH 61/66] drm/amdgpu: convert IP version array to include instances Alex Deucher
2021-09-22 9:08 ` Lazar, Lijo
2021-09-22 16:17 ` Alex Deucher
2021-09-23 4:58 ` Lazar, Lijo
2021-09-23 21:42 ` Alex Deucher
2021-09-21 18:07 ` [PATCH 62/66] drm/amdgpu: clean up set IP function Alex Deucher
2021-09-21 18:07 ` [PATCH 63/66] drm/amdgpu: add support for SRIOV in IP discovery path Alex Deucher
2021-09-21 18:07 ` [PATCH 64/66] drm/amdkfd: clean up parameters in kgd2kfd_probe Alex Deucher
2021-09-21 18:07 ` [PATCH 65/66] drm/amdkfd: convert kfd_device.c to use GC IP version Alex Deucher
2021-09-21 21:00 ` ernstp
2021-09-22 1:44 ` Alex Deucher
2021-09-22 16:55 ` Felix Kuehling
2021-09-21 18:07 ` [PATCH 66/66] drm/amdgpu: add an option to override IP discovery table from a file Alex Deucher
2021-09-22 7:54 ` [PATCH 00/66] Move to IP driven device enumeration Christian König
2021-09-22 20:25 ` Alex Deucher
2021-09-23 6:43 ` Christian König
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210921180725.1985552-1-alexander.deucher@amd.com \
--to=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox