]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu: Use amdgpu by default for CIK APUs too
authorTimur Kristóf <timur.kristof@gmail.com>
Fri, 3 Apr 2026 02:22:08 +0000 (04:22 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 3 Apr 2026 18:04:57 +0000 (14:04 -0400)
CIK APUs are: Kaveri, Kabini and Mullins from 2013~2015,
which all have a second generation GCN based integrated GPU.

The amdgpu driver has been working well on CIK APUs for years.
Features which were previously missing have been added recently,
specifically DC support for analog connectors and DP bridge
encoders. Now amdgpu is at feature parity with the old radeon
driver on CIK APUs.

Enabling the amdgpu driver by default for CIK APUs has the
following benefits:

- More stable OpenGL support through RadeonSI
- Vulkan support through RADV
- Improved performance
- Better display features through DC

Users who want to keep using the old driver can do so using:
amdgpu.cik_support=0 radeon.cik_support=1

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
drivers/gpu/drm/radeon/radeon_drv.c

index 8ed637f923226e93f6e84e6af29ce7834b6216e5..e47921e2a9af27bd0a037ca8c454d570672a3200 100644 (file)
@@ -641,9 +641,7 @@ module_param_named(si_support, amdgpu_si_support, int, 0444);
  * CIK (Sea Islands) are second generation GCN GPUs, supported by both
  * drivers: radeon (old) and amdgpu (new). This parameter controls whether
  * amdgpu should support CIK.
- * By default:
- * - CIK dedicated GPUs are supported by amdgpu.
- * - CIK APUs are supported by radeon (except when radeon is not built).
+ * By default, CIK dedicated GPUs and APUs are supported by amdgpu.
  * Only relevant when CONFIG_DRM_AMDGPU_CIK is enabled to build CIK support in amdgpu.
  * See also radeon.cik_support which should be disabled when amdgpu.cik_support is
  * enabled, and vice versa.
@@ -2323,8 +2321,6 @@ static bool amdgpu_support_enabled(struct device *dev,
 
        case CHIP_BONAIRE:
        case CHIP_HAWAII:
-               support_by_default = true;
-               fallthrough;
        case CHIP_KAVERI:
        case CHIP_KABINI:
        case CHIP_MULLINS:
@@ -2332,6 +2328,7 @@ static bool amdgpu_support_enabled(struct device *dev,
                param = "cik_support";
                module_param = amdgpu_cik_support;
                amdgpu_support_built = IS_ENABLED(CONFIG_DRM_AMDGPU_CIK);
+               support_by_default = true;
                break;
 
        default:
index 87fd6255c114128aca826eb6f50e2591f15fbcb8..53d06053dec8a6f4852c533cc41a805569788f1f 100644 (file)
@@ -278,14 +278,13 @@ static bool radeon_support_enabled(struct device *dev,
 
        case CHIP_BONAIRE:
        case CHIP_HAWAII:
-               support_by_default = false;
-               fallthrough;
        case CHIP_KAVERI:
        case CHIP_KABINI:
        case CHIP_MULLINS:
                gen = "CIK";
                module_param = radeon_cik_support;
                amdgpu_support_built &= IS_ENABLED(CONFIG_DRM_AMDGPU_CIK);
+               support_by_default = false;
                break;
 
        default: