[PATCH 11/66] drm/amdgpu: filter out radeon PCI device IDs
Alex Deucher
alexdeucher at gmail.com
Wed Sep 22 17:07:15 UTC 2021
On Wed, Sep 22, 2021 at 12:16 PM Felix Kuehling <felix.kuehling at amd.com> wrote:
>
>
> Am 2021-09-21 um 2:06 p.m. schrieb Alex Deucher:
> > Once we claim all 0x1002 PCI display class devices, we will
> > need to filter out devices owned by radeon.
> Could this list be built from radeon_PCI_IDS and r128_PCI_IDs in
> drm/drm_pciids.h to avoid duplication? It also looks like your list is
> missing the r128 IDs at the moment.
I added the r128 and mach64 ids locally as well. I took a look at
using radeon_PCI_IDS and r128_PCI_IDs, but it made the array much
bigger because of all of the additional information in them and it
complicated the handling of SI/CIK support between radeon and amdgpu.
Alex
>
> Regards,
> Felix
>
>
> >
> > Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> > ---
> > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 561 +++++++++++++++++++++++-
> > 1 file changed, 560 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> > index b6ce53fa9b03..3ab7099a1b16 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> > @@ -891,6 +891,559 @@ MODULE_PARM_DESC(smu_pptable_id,
> > "specify pptable id to be used (-1 = auto(default) value, 0 = use pptable from vbios, > 0 = soft pptable id)");
> > module_param_named(smu_pptable_id, amdgpu_smu_pptable_id, int, 0444);
> >
> > +static const u16 radeon_pciidlist[] = {
> > + 0x3150,
> > + 0x3151,
> > + 0x3152,
> > + 0x3154,
> > + 0x3155,
> > + 0x3E50,
> > + 0x3E54,
> > + 0x4136,
> > + 0x4137,
> > + 0x4144,
> > + 0x4145,
> > + 0x4146,
> > + 0x4147,
> > + 0x4148,
> > + 0x4149,
> > + 0x414A,
> > + 0x414B,
> > + 0x4150,
> > + 0x4151,
> > + 0x4152,
> > + 0x4153,
> > + 0x4154,
> > + 0x4155,
> > + 0x4156,
> > + 0x4237,
> > + 0x4242,
> > + 0x4336,
> > + 0x4337,
> > + 0x4437,
> > + 0x4966,
> > + 0x4967,
> > + 0x4A48,
> > + 0x4A49,
> > + 0x4A4A,
> > + 0x4A4B,
> > + 0x4A4C,
> > + 0x4A4D,
> > + 0x4A4E,
> > + 0x4A4F,
> > + 0x4A50,
> > + 0x4A54,
> > + 0x4B48,
> > + 0x4B49,
> > + 0x4B4A,
> > + 0x4B4B,
> > + 0x4B4C,
> > + 0x4C57,
> > + 0x4C58,
> > + 0x4C59,
> > + 0x4C5A,
> > + 0x4C64,
> > + 0x4C66,
> > + 0x4C67,
> > + 0x4E44,
> > + 0x4E45,
> > + 0x4E46,
> > + 0x4E47,
> > + 0x4E48,
> > + 0x4E49,
> > + 0x4E4A,
> > + 0x4E4B,
> > + 0x4E50,
> > + 0x4E51,
> > + 0x4E52,
> > + 0x4E53,
> > + 0x4E54,
> > + 0x4E56,
> > + 0x5144,
> > + 0x5145,
> > + 0x5146,
> > + 0x5147,
> > + 0x5148,
> > + 0x514C,
> > + 0x514D,
> > + 0x5157,
> > + 0x5158,
> > + 0x5159,
> > + 0x515A,
> > + 0x515E,
> > + 0x5460,
> > + 0x5462,
> > + 0x5464,
> > + 0x5548,
> > + 0x5549,
> > + 0x554A,
> > + 0x554B,
> > + 0x554C,
> > + 0x554D,
> > + 0x554E,
> > + 0x554F,
> > + 0x5550,
> > + 0x5551,
> > + 0x5552,
> > + 0x5554,
> > + 0x564A,
> > + 0x564B,
> > + 0x564F,
> > + 0x5652,
> > + 0x5653,
> > + 0x5657,
> > + 0x5834,
> > + 0x5835,
> > + 0x5954,
> > + 0x5955,
> > + 0x5974,
> > + 0x5975,
> > + 0x5960,
> > + 0x5961,
> > + 0x5962,
> > + 0x5964,
> > + 0x5965,
> > + 0x5969,
> > + 0x5a41,
> > + 0x5a42,
> > + 0x5a61,
> > + 0x5a62,
> > + 0x5b60,
> > + 0x5b62,
> > + 0x5b63,
> > + 0x5b64,
> > + 0x5b65,
> > + 0x5c61,
> > + 0x5c63,
> > + 0x5d48,
> > + 0x5d49,
> > + 0x5d4a,
> > + 0x5d4c,
> > + 0x5d4d,
> > + 0x5d4e,
> > + 0x5d4f,
> > + 0x5d50,
> > + 0x5d52,
> > + 0x5d57,
> > + 0x5e48,
> > + 0x5e4a,
> > + 0x5e4b,
> > + 0x5e4c,
> > + 0x5e4d,
> > + 0x5e4f,
> > + 0x6700,
> > + 0x6701,
> > + 0x6702,
> > + 0x6703,
> > + 0x6704,
> > + 0x6705,
> > + 0x6706,
> > + 0x6707,
> > + 0x6708,
> > + 0x6709,
> > + 0x6718,
> > + 0x6719,
> > + 0x671c,
> > + 0x671d,
> > + 0x671f,
> > + 0x6720,
> > + 0x6721,
> > + 0x6722,
> > + 0x6723,
> > + 0x6724,
> > + 0x6725,
> > + 0x6726,
> > + 0x6727,
> > + 0x6728,
> > + 0x6729,
> > + 0x6738,
> > + 0x6739,
> > + 0x673e,
> > + 0x6740,
> > + 0x6741,
> > + 0x6742,
> > + 0x6743,
> > + 0x6744,
> > + 0x6745,
> > + 0x6746,
> > + 0x6747,
> > + 0x6748,
> > + 0x6749,
> > + 0x674A,
> > + 0x6750,
> > + 0x6751,
> > + 0x6758,
> > + 0x6759,
> > + 0x675B,
> > + 0x675D,
> > + 0x675F,
> > + 0x6760,
> > + 0x6761,
> > + 0x6762,
> > + 0x6763,
> > + 0x6764,
> > + 0x6765,
> > + 0x6766,
> > + 0x6767,
> > + 0x6768,
> > + 0x6770,
> > + 0x6771,
> > + 0x6772,
> > + 0x6778,
> > + 0x6779,
> > + 0x677B,
> > + 0x6840,
> > + 0x6841,
> > + 0x6842,
> > + 0x6843,
> > + 0x6849,
> > + 0x684C,
> > + 0x6850,
> > + 0x6858,
> > + 0x6859,
> > + 0x6880,
> > + 0x6888,
> > + 0x6889,
> > + 0x688A,
> > + 0x688C,
> > + 0x688D,
> > + 0x6898,
> > + 0x6899,
> > + 0x689b,
> > + 0x689c,
> > + 0x689d,
> > + 0x689e,
> > + 0x68a0,
> > + 0x68a1,
> > + 0x68a8,
> > + 0x68a9,
> > + 0x68b0,
> > + 0x68b8,
> > + 0x68b9,
> > + 0x68ba,
> > + 0x68be,
> > + 0x68bf,
> > + 0x68c0,
> > + 0x68c1,
> > + 0x68c7,
> > + 0x68c8,
> > + 0x68c9,
> > + 0x68d8,
> > + 0x68d9,
> > + 0x68da,
> > + 0x68de,
> > + 0x68e0,
> > + 0x68e1,
> > + 0x68e4,
> > + 0x68e5,
> > + 0x68e8,
> > + 0x68e9,
> > + 0x68f1,
> > + 0x68f2,
> > + 0x68f8,
> > + 0x68f9,
> > + 0x68fa,
> > + 0x68fe,
> > + 0x7100,
> > + 0x7101,
> > + 0x7102,
> > + 0x7103,
> > + 0x7104,
> > + 0x7105,
> > + 0x7106,
> > + 0x7108,
> > + 0x7109,
> > + 0x710A,
> > + 0x710B,
> > + 0x710C,
> > + 0x710E,
> > + 0x710F,
> > + 0x7140,
> > + 0x7141,
> > + 0x7142,
> > + 0x7143,
> > + 0x7144,
> > + 0x7145,
> > + 0x7146,
> > + 0x7147,
> > + 0x7149,
> > + 0x714A,
> > + 0x714B,
> > + 0x714C,
> > + 0x714D,
> > + 0x714E,
> > + 0x714F,
> > + 0x7151,
> > + 0x7152,
> > + 0x7153,
> > + 0x715E,
> > + 0x715F,
> > + 0x7180,
> > + 0x7181,
> > + 0x7183,
> > + 0x7186,
> > + 0x7187,
> > + 0x7188,
> > + 0x718A,
> > + 0x718B,
> > + 0x718C,
> > + 0x718D,
> > + 0x718F,
> > + 0x7193,
> > + 0x7196,
> > + 0x719B,
> > + 0x719F,
> > + 0x71C0,
> > + 0x71C1,
> > + 0x71C2,
> > + 0x71C3,
> > + 0x71C4,
> > + 0x71C5,
> > + 0x71C6,
> > + 0x71C7,
> > + 0x71CD,
> > + 0x71CE,
> > + 0x71D2,
> > + 0x71D4,
> > + 0x71D5,
> > + 0x71D6,
> > + 0x71DA,
> > + 0x71DE,
> > + 0x7200,
> > + 0x7210,
> > + 0x7211,
> > + 0x7240,
> > + 0x7243,
> > + 0x7244,
> > + 0x7245,
> > + 0x7246,
> > + 0x7247,
> > + 0x7248,
> > + 0x7249,
> > + 0x724A,
> > + 0x724B,
> > + 0x724C,
> > + 0x724D,
> > + 0x724E,
> > + 0x724F,
> > + 0x7280,
> > + 0x7281,
> > + 0x7283,
> > + 0x7284,
> > + 0x7287,
> > + 0x7288,
> > + 0x7289,
> > + 0x728B,
> > + 0x728C,
> > + 0x7290,
> > + 0x7291,
> > + 0x7293,
> > + 0x7297,
> > + 0x7834,
> > + 0x7835,
> > + 0x791e,
> > + 0x791f,
> > + 0x793f,
> > + 0x7941,
> > + 0x7942,
> > + 0x796c,
> > + 0x796d,
> > + 0x796e,
> > + 0x796f,
> > + 0x9400,
> > + 0x9401,
> > + 0x9402,
> > + 0x9403,
> > + 0x9405,
> > + 0x940A,
> > + 0x940B,
> > + 0x940F,
> > + 0x94A0,
> > + 0x94A1,
> > + 0x94A3,
> > + 0x94B1,
> > + 0x94B3,
> > + 0x94B4,
> > + 0x94B5,
> > + 0x94B9,
> > + 0x9440,
> > + 0x9441,
> > + 0x9442,
> > + 0x9443,
> > + 0x9444,
> > + 0x9446,
> > + 0x944A,
> > + 0x944B,
> > + 0x944C,
> > + 0x944E,
> > + 0x9450,
> > + 0x9452,
> > + 0x9456,
> > + 0x945A,
> > + 0x945B,
> > + 0x945E,
> > + 0x9460,
> > + 0x9462,
> > + 0x946A,
> > + 0x946B,
> > + 0x947A,
> > + 0x947B,
> > + 0x9480,
> > + 0x9487,
> > + 0x9488,
> > + 0x9489,
> > + 0x948A,
> > + 0x948F,
> > + 0x9490,
> > + 0x9491,
> > + 0x9495,
> > + 0x9498,
> > + 0x949C,
> > + 0x949E,
> > + 0x949F,
> > + 0x94C0,
> > + 0x94C1,
> > + 0x94C3,
> > + 0x94C4,
> > + 0x94C5,
> > + 0x94C6,
> > + 0x94C7,
> > + 0x94C8,
> > + 0x94C9,
> > + 0x94CB,
> > + 0x94CC,
> > + 0x94CD,
> > + 0x9500,
> > + 0x9501,
> > + 0x9504,
> > + 0x9505,
> > + 0x9506,
> > + 0x9507,
> > + 0x9508,
> > + 0x9509,
> > + 0x950F,
> > + 0x9511,
> > + 0x9515,
> > + 0x9517,
> > + 0x9519,
> > + 0x9540,
> > + 0x9541,
> > + 0x9542,
> > + 0x954E,
> > + 0x954F,
> > + 0x9552,
> > + 0x9553,
> > + 0x9555,
> > + 0x9557,
> > + 0x955f,
> > + 0x9580,
> > + 0x9581,
> > + 0x9583,
> > + 0x9586,
> > + 0x9587,
> > + 0x9588,
> > + 0x9589,
> > + 0x958A,
> > + 0x958B,
> > + 0x958C,
> > + 0x958D,
> > + 0x958E,
> > + 0x958F,
> > + 0x9590,
> > + 0x9591,
> > + 0x9593,
> > + 0x9595,
> > + 0x9596,
> > + 0x9597,
> > + 0x9598,
> > + 0x9599,
> > + 0x959B,
> > + 0x95C0,
> > + 0x95C2,
> > + 0x95C4,
> > + 0x95C5,
> > + 0x95C6,
> > + 0x95C7,
> > + 0x95C9,
> > + 0x95CC,
> > + 0x95CD,
> > + 0x95CE,
> > + 0x95CF,
> > + 0x9610,
> > + 0x9611,
> > + 0x9612,
> > + 0x9613,
> > + 0x9614,
> > + 0x9615,
> > + 0x9616,
> > + 0x9640,
> > + 0x9641,
> > + 0x9642,
> > + 0x9643,
> > + 0x9644,
> > + 0x9645,
> > + 0x9647,
> > + 0x9648,
> > + 0x9649,
> > + 0x964a,
> > + 0x964b,
> > + 0x964c,
> > + 0x964e,
> > + 0x964f,
> > + 0x9710,
> > + 0x9711,
> > + 0x9712,
> > + 0x9713,
> > + 0x9714,
> > + 0x9715,
> > + 0x9802,
> > + 0x9803,
> > + 0x9804,
> > + 0x9805,
> > + 0x9806,
> > + 0x9807,
> > + 0x9808,
> > + 0x9809,
> > + 0x980A,
> > + 0x9900,
> > + 0x9901,
> > + 0x9903,
> > + 0x9904,
> > + 0x9905,
> > + 0x9906,
> > + 0x9907,
> > + 0x9908,
> > + 0x9909,
> > + 0x990A,
> > + 0x990B,
> > + 0x990C,
> > + 0x990D,
> > + 0x990E,
> > + 0x990F,
> > + 0x9910,
> > + 0x9913,
> > + 0x9917,
> > + 0x9918,
> > + 0x9919,
> > + 0x9990,
> > + 0x9991,
> > + 0x9992,
> > + 0x9993,
> > + 0x9994,
> > + 0x9995,
> > + 0x9996,
> > + 0x9997,
> > + 0x9998,
> > + 0x9999,
> > + 0x999A,
> > + 0x999B,
> > + 0x999C,
> > + 0x999D,
> > + 0x99A0,
> > + 0x99A2,
> > + 0x99A4,
> > +};
> > +
> > static const struct pci_device_id pciidlist[] = {
> > #ifdef CONFIG_DRM_AMDGPU_SI
> > {0x1002, 0x6780, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI},
> > @@ -1253,9 +1806,15 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
> > struct drm_device *ddev;
> > struct amdgpu_device *adev;
> > unsigned long flags = ent->driver_data;
> > - int ret, retry = 0;
> > + int ret, retry = 0, i;
> > bool supports_atomic = false;
> >
> > + /* skip devices which are owned by radeon */
> > + for (i = 0; i < ARRAY_SIZE(radeon_pciidlist); i++) {
> > + if (radeon_pciidlist[i] == pdev->device)
> > + return -ENODEV;
> > + }
> > +
> > if (amdgpu_virtual_display ||
> > amdgpu_device_asic_has_dc_support(flags & AMD_ASIC_MASK))
> > supports_atomic = true;
More information about the amd-gfx
mailing list