I tested this with Hawaii on the KFD branch and
DRM_CIK_BOTH_DEFAULT_AMDGPU. Both modules get loaded, but radeon doesn't
initialize the device. Amdgpu works with kfdtest.

To keep the driver code clean I only use straight-forward per-driver
options in #ifdefs. The CONFIG_DRM_CIK_... options that affect both
drivers select the right set of driver-specific options but aren't
referenced in the code directly.

Sorry about messed up v1. I missed some files when moving from
amd-kfd-staging to amd-staging-4.9.

If you like this approach, I can do the same for SI.

Regards,
  Felix


On 17-04-10 07:21 PM, Felix Kuehling wrote:
> Provide convenient compile time and boot time options for selecting
> CIK ASIC support in either or both drivers.
>
> v2: git add missing files
>
> Signed-off-by: Felix Kuehling <felix.kuehl...@amd.com>
> ---
>  drivers/gpu/drm/Kconfig                 |  51 ++++++++++++++
>  drivers/gpu/drm/amd/amdgpu/Kconfig      |  10 ++-
>  drivers/gpu/drm/amd/amdgpu/amdgpu.h     |   1 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c |   9 +++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c |  26 ++++++++
>  drivers/gpu/drm/radeon/Kconfig          |   8 +++
>  drivers/gpu/drm/radeon/radeon.h         |   1 +
>  drivers/gpu/drm/radeon/radeon_drv.c     |  13 ++++
>  drivers/gpu/drm/radeon/radeon_kms.c     |  13 ++++
>  include/drm/drm_pciids.h                | 114 
> ++++++++++++++++----------------
>  10 files changed, 184 insertions(+), 62 deletions(-)
>
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index 483059a..f85f81c 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -148,6 +148,57 @@ config DRM_AMDGPU
>  
>  source "drivers/gpu/drm/amd/amdgpu/Kconfig"
>  
> +choice DRM_CIK_SUPPORT
> +     prompt "Support for AMD CIK ASICs"
> +     default DRM_CIK_RADEON
> +     depends on DRM_AMDGPU || DRM_RADEON
> +     help
> +       Choose the driver used to support AMD CIK ASICs.
> +
> +config DRM_CIK_RADEON
> +     bool "Radeon"
> +     depends on DRM_RADEON
> +     select DRM_RADEON_CIK
> +     select DRM_RADEON_CIK_ENABLED
> +     help
> +       The Radeon driver was traditionally used to support CIK ASICs.
> +
> +config DRM_CIK_AMDGPU
> +     bool "AMD GPU"
> +     depends on DRM_AMDGPU
> +     select DRM_AMDGPU_CIK
> +     select DRM_AMDGPU_CIK_ENABLED
> +     help
> +       The AMD GPU driver has more active development for features and
> +       performance. If you choose this driver, you also need the amdgpu
> +       DDX driver for X.org.
> +
> +config DRM_CIK_BOTH_DEFAULT_RADEON
> +     bool "Both, use Radeon by default"
> +     depends on DRM_AMDGPU && DRM_RADEON
> +     select DRM_RADEON_CIK
> +     select DRM_RADEON_CIK_ENABLED
> +     select DRM_AMDGPU_CIK
> +     help
> +       This option is useful for driver developers who want to test
> +       both drivers while running the same kernel. The active driver
> +       can be selected using the module parameters radeon.enable_cik
> +       and amdgpu.enable_cik.
> +
> +config DRM_CIK_BOTH_DEFAULT_AMDGPU
> +     bool "Both, use AMD GPU by default"
> +     depends on DRM_AMDGPU && DRM_RADEON
> +     select DRM_RADEON_CIK
> +     select DRM_AMDGPU_CIK
> +     select DRM_AMDGPU_CIK_ENABLED
> +     help
> +       This option is useful for driver developers who want to test
> +       both drivers while running the same kernel. The active driver
> +       can be selected using the module parameters radeon.enable_cik
> +       and amdgpu.enable_cik.
> +
> +endchoice
> +
>  source "drivers/gpu/drm/nouveau/Kconfig"
>  
>  source "drivers/gpu/drm/i915/Kconfig"
> diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig 
> b/drivers/gpu/drm/amd/amdgpu/Kconfig
> index f3b6df8..7bc171d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/Kconfig
> +++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
> @@ -6,14 +6,12 @@ config DRM_AMDGPU_SI
>         for SI asics.
>  
>  config DRM_AMDGPU_CIK
> -     bool "Enable amdgpu support for CIK parts"
> +     bool
>       depends on DRM_AMDGPU
> -     help
> -       Choose this option if you want to enable experimental support
> -       for CIK asics.
>  
> -       CIK is already supported in radeon.  CIK support in amdgpu
> -       is for experimentation and testing.
> +config DRM_AMDGPU_CIK_ENABLED
> +     bool
> +     depends on DRM_AMDGPU
>  
>  config DRM_AMDGPU_USERPTR
>       bool "Always enable userptr write support"
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> index 5487580..e028169 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> @@ -111,6 +111,7 @@
>  extern int amdgpu_pos_buf_per_se;
>  extern int amdgpu_cntl_sb_buf_per_se;
>  extern int amdgpu_param_buf_per_se;
> +extern int amdgpu_enable_cik;
>  
>  #define AMDGPU_WAIT_IDLE_TIMEOUT_IN_MS               3000
>  #define AMDGPU_MAX_USEC_TIMEOUT                      100000  /* 100 ms */
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> index 6238e2e..84d393d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> @@ -109,6 +109,11 @@
>  int amdgpu_pos_buf_per_se = 0;
>  int amdgpu_cntl_sb_buf_per_se = 0;
>  int amdgpu_param_buf_per_se = 0;
> +#ifdef CONFIG_DRM_AMDGPU_CIK_ENABLED
> +int amdgpu_enable_cik = 1;
> +#else
> +int amdgpu_enable_cik = 0;
> +#endif
>  
>  MODULE_PARM_DESC(vramlimit, "Restrict VRAM for testing, in megabytes");
>  module_param_named(vramlimit, amdgpu_vram_limit, int, 0600);
> @@ -234,6 +239,10 @@
>  MODULE_PARM_DESC(param_buf_per_se, "the size of Off-Chip Pramater Cache per 
> Shader Engine (default depending on gfx)");
>  module_param_named(param_buf_per_se, amdgpu_param_buf_per_se, int, 0444);
>  
> +#ifdef DRM_AMDGPU_CIK
> +MODULE_PARAM_DESC(enable_cik, "Enable CIK support");
> +module_param_named(enable_cik, amdgpu_enable_cik, int, 0444);
> +#endif
>  
>  static const struct pci_device_id pciidlist[] = {
>  #ifdef  CONFIG_DRM_AMDGPU_SI
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> index 1006d7c..b30f2b0 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> @@ -88,6 +88,32 @@ int amdgpu_driver_load_kms(struct drm_device *dev, 
> unsigned long flags)
>       struct amdgpu_device *adev;
>       int r, acpi_status;
>  
> +     if (!amdgpu_enable_cik) {
> +             switch (flags & AMD_ASIC_MASK) {
> +             case CHIP_KAVERI:
> +             case CHIP_BONAIRE:
> +             case CHIP_HAWAII:
> +             case CHIP_KABINI:
> +             case CHIP_MULLINS:
> +                     dev_warn(dev->dev,
> +                              "CIK support disabled by module param\n");
> +                     return -ENODEV;
> +             }
> +     }
> +
> +     if (!amdgpu_enable_cik) {
> +             switch (flags & AMD_ASIC_MASK) {
> +             case CHIP_KAVERI:
> +             case CHIP_BONAIRE:
> +             case CHIP_HAWAII:
> +             case CHIP_KABINI:
> +             case CHIP_MULLINS:
> +                     dev_warn(dev->dev,
> +                                 "CIK support disabled by module param\n");
> +                     return -ENODEV;
> +             }
> +     }
> +
>       adev = kzalloc(sizeof(struct amdgpu_device), GFP_KERNEL);
>       if (adev == NULL) {
>               return -ENOMEM;
> diff --git a/drivers/gpu/drm/radeon/Kconfig b/drivers/gpu/drm/radeon/Kconfig
> index 9909f5c..6ef6363 100644
> --- a/drivers/gpu/drm/radeon/Kconfig
> +++ b/drivers/gpu/drm/radeon/Kconfig
> @@ -1,3 +1,11 @@
> +config DRM_RADEON_CIK
> +     bool
> +     depends on DRM_RADEON
> +
> +config DRM_RADEON_CIK_ENABLED
> +     bool
> +     depends on DRM_RADEON
> +
>  config DRM_RADEON_USERPTR
>       bool "Always enable userptr support"
>       depends on DRM_RADEON
> diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
> index 7e9d3b9..47dd0e6 100644
> --- a/drivers/gpu/drm/radeon/radeon.h
> +++ b/drivers/gpu/drm/radeon/radeon.h
> @@ -115,6 +115,7 @@
>  extern int radeon_mst;
>  extern int radeon_uvd;
>  extern int radeon_vce;
> +extern int radeon_enable_cik;
>  
>  /*
>   * Copy from radeon_drv.h so we don't have to include both and have 
> conflicting
> diff --git a/drivers/gpu/drm/radeon/radeon_drv.c 
> b/drivers/gpu/drm/radeon/radeon_drv.c
> index 2e5d680..518a7b2 100644
> --- a/drivers/gpu/drm/radeon/radeon_drv.c
> +++ b/drivers/gpu/drm/radeon/radeon_drv.c
> @@ -204,6 +204,11 @@ static inline void radeon_unregister_atpx_handler(void) 
> {}
>  int radeon_mst = 0;
>  int radeon_uvd = 1;
>  int radeon_vce = 1;
> +#ifdef CONFIG_DRM_RADEON_CIK_ENABLED
> +int radeon_enable_cik = 1;
> +#else
> +int radeon_enable_cik = 0;
> +#endif
>  
>  MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers");
>  module_param_named(no_wb, radeon_no_wb, int, 0444);
> @@ -301,7 +306,15 @@ static inline void radeon_unregister_atpx_handler(void) 
> {}
>  MODULE_PARM_DESC(vce, "vce enable/disable vce support (1 = enable, 0 = 
> disable)");
>  module_param_named(vce, radeon_vce, int, 0444);
>  
> +#ifdef DRM_RADEON_CIK
> +MODULE_PARAM_DESC(enable_cik, "Enable CIK support");
> +module_param_named(enable_cik, radeon_enable_cik, int, 0444);
> +#endif
> +
>  static struct pci_device_id pciidlist[] = {
> +#ifdef CONFIG_DRM_RADEON_CIK
> +     radeon_CIK_PCI_IDS,
> +#endif
>       radeon_PCI_IDS
>  };
>  
> diff --git a/drivers/gpu/drm/radeon/radeon_kms.c 
> b/drivers/gpu/drm/radeon/radeon_kms.c
> index 4388dde..c92e3e5 100644
> --- a/drivers/gpu/drm/radeon/radeon_kms.c
> +++ b/drivers/gpu/drm/radeon/radeon_kms.c
> @@ -99,6 +99,19 @@ int radeon_driver_load_kms(struct drm_device *dev, 
> unsigned long flags)
>       struct radeon_device *rdev;
>       int r, acpi_status;
>  
> +     if (!radeon_enable_cik) {
> +             switch (flags & RADEON_FAMILY_MASK) {
> +             case CHIP_KAVERI:
> +             case CHIP_BONAIRE:
> +             case CHIP_HAWAII:
> +             case CHIP_KABINI:
> +             case CHIP_MULLINS:
> +                     dev_warn(dev->dev,
> +                              "CIK support disabled by module param\n");
> +                     return -ENODEV;
> +             }
> +     }
> +
>       rdev = kzalloc(sizeof(struct radeon_device), GFP_KERNEL);
>       if (rdev == NULL) {
>               return -ENOMEM;
> diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h
> index 8bc073d..cf17901 100644
> --- a/include/drm/drm_pciids.h
> +++ b/include/drm/drm_pciids.h
> @@ -1,4 +1,4 @@
> -#define radeon_PCI_IDS \
> +#define radeon_CIK_PCI_IDS \
>       {0x1002, 0x1304, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
>       {0x1002, 0x1305, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
>       {0x1002, 0x1306, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> @@ -21,6 +21,63 @@
>       {0x1002, 0x131B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
>       {0x1002, 0x131C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
>       {0x1002, 0x131D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x6640, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x6641, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x6646, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x6647, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x6649, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x6650, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x6651, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x6658, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x665c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x665d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x665f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x67A0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x67A1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x67A2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x67A8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x67A9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x67AA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x67B0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x67B1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x67B8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x67B9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x67BA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x67BE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> +     {0x1002, 0x9830, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9831, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9832, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9833, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9834, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9835, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9836, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9837, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9838, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9839, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x983a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x983b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x983c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x983d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x983e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x983f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9851, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9852, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9853, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9854, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9855, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9856, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9857, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9858, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x9859, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x985A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x985B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x985C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x985D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x985E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> +     {0x1002, 0x985F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}
> +
> +#define radeon_PCI_IDS \
>       {0x1002, 0x3150, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_RV380|RADEON_IS_MOBILITY}, \
>       {0x1002, 0x3151, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
>       {0x1002, 0x3152, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
> @@ -177,17 +234,6 @@
>       {0x1002, 0x6621, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
>       {0x1002, 0x6623, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
>       {0x1002, 0x6631, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_OLAND|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x6640, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x6641, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x6646, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x6647, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x6649, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x6650, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x6651, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x6658, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x665c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x665d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x665f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
>       {0x1002, 0x6660, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
>       {0x1002, 0x6663, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
>       {0x1002, 0x6664, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
> @@ -268,18 +314,6 @@
>       {0x1002, 0x679B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
>       {0x1002, 0x679E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
>       {0x1002, 0x679F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x67A0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x67A1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x67A2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x67A8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x67A9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x67AA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x67B0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x67B1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x67B8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x67B9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x67BA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
> -     {0x1002, 0x67BE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
>       {0x1002, 0x6800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_PITCAIRN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
>       {0x1002, 0x6801, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_PITCAIRN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
>       {0x1002, 0x6802, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_PITCAIRN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
> @@ -629,38 +663,6 @@
>       {0x1002, 0x9808, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
>       {0x1002, 0x9809, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
>       {0x1002, 0x980A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9830, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9831, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9832, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9833, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9834, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9835, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9836, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9837, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9838, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9839, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x983a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x983b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x983c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x983d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x983e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x983f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9851, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9852, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9853, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9854, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9855, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9856, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9857, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9858, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x9859, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x985A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x985B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x985C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x985D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x985E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
> -     {0x1002, 0x985F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
>       {0x1002, 0x9900, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
>       {0x1002, 0x9901, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
>       {0x1002, 0x9903, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 
> CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to