* [PATCH 1/4] drm/radeon: Refactor how SI and CIK support is determined
2025-11-14 12:07 [PATCH 0/4] drm/amdgpu: Use amdgpu by default on SI and CIK dedicated GPUs (v2) Timur Kristóf
@ 2025-11-14 12:07 ` Timur Kristóf
2025-11-14 12:07 ` [PATCH 2/4] drm/amdgpu: " Timur Kristóf
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Timur Kristóf @ 2025-11-14 12:07 UTC (permalink / raw)
To: amd-gfx, Alex Deucher, Christian König, Alexandre Demers,
Timur Kristóf, Rodrigo Siqueira
Move the determination into a separate function.
Change radeon.si_support and radeon.cik_support so that their
default value is -1 (default).
This prepares the code for changing the default driver based
on the chip.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
---
drivers/gpu/drm/radeon/radeon_drv.c | 78 ++++++++++++++++++-----------
1 file changed, 50 insertions(+), 28 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
index 350f88af888d..ac175442d806 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
@@ -241,12 +241,12 @@ module_param_named(uvd, radeon_uvd, int, 0444);
MODULE_PARM_DESC(vce, "vce enable/disable vce support (1 = enable, 0 = disable)");
module_param_named(vce, radeon_vce, int, 0444);
-int radeon_si_support = 1;
-MODULE_PARM_DESC(si_support, "SI support (1 = enabled (default), 0 = disabled)");
+int radeon_si_support = -1;
+MODULE_PARM_DESC(si_support, "SI support (1 = enabled, 0 = disabled, -1 = default)");
module_param_named(si_support, radeon_si_support, int, 0444);
-int radeon_cik_support = 1;
-MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled (default), 0 = disabled)");
+int radeon_cik_support = -1;
+MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled, 0 = disabled, -1 = default)");
module_param_named(cik_support, radeon_cik_support, int, 0444);
static const struct pci_device_id pciidlist[] = {
@@ -256,6 +256,50 @@ MODULE_DEVICE_TABLE(pci, pciidlist);
static const struct drm_driver kms_driver;
+static bool radeon_support_enabled(struct device *dev,
+ const enum radeon_family family)
+{
+ const char *gen;
+ int module_param = -1;
+ bool amdgpu_support_built = IS_ENABLED(CONFIG_DRM_AMDGPU);
+ bool support_by_default = true;
+
+ switch (family) {
+ case CHIP_TAHITI:
+ case CHIP_PITCAIRN:
+ case CHIP_VERDE:
+ case CHIP_OLAND:
+ case CHIP_HAINAN:
+ gen = "SI";
+ module_param = radeon_si_support;
+ amdgpu_support_built &= IS_ENABLED(CONFIG_DRM_AMDGPU_SI);
+ break;
+
+ case CHIP_BONAIRE:
+ case CHIP_HAWAII:
+ 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);
+ break;
+
+ default:
+ /* All other chips are supported by radeon only */
+ return true;
+ }
+
+ if ((module_param == -1 && (support_by_default || !amdgpu_support_built)) ||
+ module_param == 1)
+ return true;
+
+ if (!module_param)
+ dev_info(dev, "%s support disabled by module param\n", gen);
+
+ return false;
+}
+
static int radeon_pci_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
@@ -271,30 +315,8 @@ static int radeon_pci_probe(struct pci_dev *pdev,
flags = ent->driver_data;
- if (!radeon_si_support) {
- switch (flags & RADEON_FAMILY_MASK) {
- case CHIP_TAHITI:
- case CHIP_PITCAIRN:
- case CHIP_VERDE:
- case CHIP_OLAND:
- case CHIP_HAINAN:
- dev_info(dev,
- "SI support disabled by module param\n");
- return -ENODEV;
- }
- }
- if (!radeon_cik_support) {
- switch (flags & RADEON_FAMILY_MASK) {
- case CHIP_KAVERI:
- case CHIP_BONAIRE:
- case CHIP_HAWAII:
- case CHIP_KABINI:
- case CHIP_MULLINS:
- dev_info(dev,
- "CIK support disabled by module param\n");
- return -ENODEV;
- }
- }
+ if (!radeon_support_enabled(dev, flags & RADEON_FAMILY_MASK))
+ return -ENODEV;
if (vga_switcheroo_client_probe_defer(pdev))
return -EPROBE_DEFER;
--
2.51.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 2/4] drm/amdgpu: Refactor how SI and CIK support is determined
2025-11-14 12:07 [PATCH 0/4] drm/amdgpu: Use amdgpu by default on SI and CIK dedicated GPUs (v2) Timur Kristóf
2025-11-14 12:07 ` [PATCH 1/4] drm/radeon: Refactor how SI and CIK support is determined Timur Kristóf
@ 2025-11-14 12:07 ` Timur Kristóf
2025-11-14 12:07 ` [PATCH 3/4] drm/amdgpu: Use amdgpu by default on CIK dedicated GPUs (v2) Timur Kristóf
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Timur Kristóf @ 2025-11-14 12:07 UTC (permalink / raw)
To: amd-gfx, Alex Deucher, Christian König, Alexandre Demers,
Timur Kristóf, Rodrigo Siqueira
Move the determination into a separate function.
Change amdgpu.si_support and amdgpu.cik_support so that their
default value is -1 (default).
This prepares the code for changing the default driver based
on the chip.
Also adjust the module param documentation.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 155 ++++++++++++++----------
1 file changed, 88 insertions(+), 67 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index f508c1a9fa2c..95224dffc367 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -618,39 +618,37 @@ module_param_named(timeout_period, amdgpu_watchdog_timer.period, uint, 0644);
/**
* DOC: si_support (int)
- * Set SI support driver. This parameter works after set config CONFIG_DRM_AMDGPU_SI. For SI asic, when radeon driver is enabled,
- * set value 0 to use radeon driver, while set value 1 to use amdgpu driver. The default is using radeon driver when it available,
- * otherwise using amdgpu driver.
- */
+ * 1 = enabled, 0 = disabled, -1 = default
+ *
+ * SI (Southern Islands) are first generation GCN GPUs, supported by both
+ * drivers: radeon (old) and amdgpu (new). This parameter controls whether
+ * amdgpu should support SI.
+ * By default, SI chips are supported by radeon (except when radeon is not built).
+ * Only relevant when CONFIG_DRM_AMDGPU_SI is enabled to build SI support in amdgpu.
+ * See also radeon.si_support which should be disabled when amdgpu.si_support is
+ * enabled, and vice versa.
+ */
+int amdgpu_si_support = -1;
#ifdef CONFIG_DRM_AMDGPU_SI
-
-#if IS_ENABLED(CONFIG_DRM_RADEON) || IS_ENABLED(CONFIG_DRM_RADEON_MODULE)
-int amdgpu_si_support;
-MODULE_PARM_DESC(si_support, "SI support (1 = enabled, 0 = disabled (default))");
-#else
-int amdgpu_si_support = 1;
-MODULE_PARM_DESC(si_support, "SI support (1 = enabled (default), 0 = disabled)");
-#endif
-
+MODULE_PARM_DESC(si_support, "SI support (1 = enabled, 0 = disabled, -1 = default)");
module_param_named(si_support, amdgpu_si_support, int, 0444);
#endif
/**
* DOC: cik_support (int)
- * Set CIK support driver. This parameter works after set config CONFIG_DRM_AMDGPU_CIK. For CIK asic, when radeon driver is enabled,
- * set value 0 to use radeon driver, while set value 1 to use amdgpu driver. The default is using radeon driver when it available,
- * otherwise using amdgpu driver.
- */
+ * 1 = enabled, 0 = disabled, -1 = default
+ *
+ * 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 chips are supported by radeon (except when radeon is not built).
+ * 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.
+ */
+int amdgpu_cik_support = -1;
#ifdef CONFIG_DRM_AMDGPU_CIK
-
-#if IS_ENABLED(CONFIG_DRM_RADEON) || IS_ENABLED(CONFIG_DRM_RADEON_MODULE)
-int amdgpu_cik_support;
-MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled, 0 = disabled (default))");
-#else
-int amdgpu_cik_support = 1;
-MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled (default), 0 = disabled)");
-#endif
-
+MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled, 0 = disabled, -1 = default)");
module_param_named(cik_support, amdgpu_cik_support, int, 0444);
#endif
@@ -2307,6 +2305,69 @@ static unsigned long amdgpu_fix_asic_type(struct pci_dev *pdev, unsigned long fl
return flags;
}
+static bool amdgpu_support_enabled(struct device *dev,
+ const enum amd_asic_type family)
+{
+ const char *gen;
+ const char *param;
+ int module_param = -1;
+ bool radeon_support_built = IS_ENABLED(CONFIG_DRM_RADEON);
+ bool amdgpu_support_built = false;
+ bool support_by_default = false;
+
+ switch (family) {
+ case CHIP_TAHITI:
+ case CHIP_PITCAIRN:
+ case CHIP_VERDE:
+ case CHIP_OLAND:
+ case CHIP_HAINAN:
+ gen = "SI";
+ param = "si_support";
+ module_param = amdgpu_si_support;
+ amdgpu_support_built = IS_ENABLED(CONFIG_DRM_AMDGPU_SI);
+ break;
+
+ case CHIP_BONAIRE:
+ case CHIP_HAWAII:
+ case CHIP_KAVERI:
+ case CHIP_KABINI:
+ case CHIP_MULLINS:
+ gen = "CIK";
+ param = "cik_support";
+ module_param = amdgpu_cik_support;
+ amdgpu_support_built = IS_ENABLED(CONFIG_DRM_AMDGPU_CIK);
+ break;
+
+ default:
+ /* All other chips are supported by amdgpu only */
+ return true;
+ }
+
+ if (!amdgpu_support_built) {
+ dev_info(dev, "amdgpu built without %s support\n", gen);
+ return false;
+ }
+
+ if ((module_param == -1 && (support_by_default || !radeon_support_built)) ||
+ module_param == 1) {
+ if (radeon_support_built)
+ dev_info(dev, "%s support provided by amdgpu.\n"
+ "Use radeon.%s=1 amdgpu.%s=0 to override.\n",
+ gen, param, param);
+
+ return true;
+ }
+
+ if (radeon_support_built)
+ dev_info(dev, "%s support provided by radeon.\n"
+ "Use radeon.%s=0 amdgpu.%s=1 to override.\n",
+ gen, param, param);
+ else if (module_param == 0)
+ dev_info(dev, "%s support disabled by module param\n", gen);
+
+ return false;
+}
+
static int amdgpu_pci_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
@@ -2354,48 +2415,8 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
return -ENOTSUPP;
}
- switch (flags & AMD_ASIC_MASK) {
- case CHIP_TAHITI:
- case CHIP_PITCAIRN:
- case CHIP_VERDE:
- case CHIP_OLAND:
- case CHIP_HAINAN:
-#ifdef CONFIG_DRM_AMDGPU_SI
- if (!amdgpu_si_support) {
- dev_info(&pdev->dev,
- "SI support provided by radeon.\n");
- dev_info(&pdev->dev,
- "Use radeon.si_support=0 amdgpu.si_support=1 to override.\n"
- );
- return -ENODEV;
- }
- break;
-#else
- dev_info(&pdev->dev, "amdgpu is built without SI support.\n");
+ if (!amdgpu_support_enabled(&pdev->dev, flags & AMD_ASIC_MASK))
return -ENODEV;
-#endif
- case CHIP_KAVERI:
- case CHIP_BONAIRE:
- case CHIP_HAWAII:
- case CHIP_KABINI:
- case CHIP_MULLINS:
-#ifdef CONFIG_DRM_AMDGPU_CIK
- if (!amdgpu_cik_support) {
- dev_info(&pdev->dev,
- "CIK support provided by radeon.\n");
- dev_info(&pdev->dev,
- "Use radeon.cik_support=0 amdgpu.cik_support=1 to override.\n"
- );
- return -ENODEV;
- }
- break;
-#else
- dev_info(&pdev->dev, "amdgpu is built without CIK support.\n");
- return -ENODEV;
-#endif
- default:
- break;
- }
adev = devm_drm_dev_alloc(&pdev->dev, &amdgpu_kms_driver, typeof(*adev), ddev);
if (IS_ERR(adev))
--
2.51.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 3/4] drm/amdgpu: Use amdgpu by default on CIK dedicated GPUs (v2)
2025-11-14 12:07 [PATCH 0/4] drm/amdgpu: Use amdgpu by default on SI and CIK dedicated GPUs (v2) Timur Kristóf
2025-11-14 12:07 ` [PATCH 1/4] drm/radeon: Refactor how SI and CIK support is determined Timur Kristóf
2025-11-14 12:07 ` [PATCH 2/4] drm/amdgpu: " Timur Kristóf
@ 2025-11-14 12:07 ` Timur Kristóf
2025-11-14 12:07 ` [PATCH 4/4] drm/amdgpu: Use amdgpu by default on SI " Timur Kristóf
2025-11-14 12:16 ` [PATCH 0/4] drm/amdgpu: Use amdgpu by default on SI and CIK " Christian König
4 siblings, 0 replies; 8+ messages in thread
From: Timur Kristóf @ 2025-11-14 12:07 UTC (permalink / raw)
To: amd-gfx, Alex Deucher, Christian König, Alexandre Demers,
Timur Kristóf, Rodrigo Siqueira
The amdgpu driver has been working well on CIK dGPUs for years.
Now that the DC analog connector support landed,
amdgpu is at feature parity with the old radeon driver
on CIK dGPUs.
Enabling the amdgpu driver by default for CIK dGPUs 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
v2:
- Update documentation in Kconfig file
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
---
drivers/gpu/drm/amd/amdgpu/Kconfig | 12 +++++++++---
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 6 +++++-
drivers/gpu/drm/radeon/radeon_drv.c | 2 ++
3 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig
index 1acfed2f92ef..883f32428871 100644
--- a/drivers/gpu/drm/amd/amdgpu/Kconfig
+++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
@@ -59,11 +59,17 @@ config DRM_AMDGPU_CIK
Choose this option if you want to enable support for CIK (Sea
Islands) asics.
- CIK is already supported in radeon. Support for CIK in amdgpu
- will be disabled by default and is still provided by radeon.
- Use module options to override this:
+ CIK (Sea Islands) are second generation GCN GPUs,
+ supported by both drivers: radeon (old) and amdgpu (new).
+ By default,
+ CIK dedicated GPUs are supported by amdgpu
+ CIK APUs are supported by radeon
+ Use module options to override this:
+ To use amdgpu for CIK,
radeon.cik_support=0 amdgpu.cik_support=1
+ To use radeon for CIK,
+ radeon.cik_support=1 amdgpu.cik_support=0
config DRM_AMDGPU_USERPTR
bool "Always enable userptr write support"
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index 95224dffc367..910269407700 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -641,7 +641,9 @@ 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 chips are supported by radeon (except when radeon is not built).
+ * By default:
+ * - CIK dedicated GPUs are supported by amdgpu.
+ * - CIK APUs are supported by radeon (except when radeon is not built).
* 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.
@@ -2329,6 +2331,8 @@ 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:
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
index ac175442d806..40dff6feac8a 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
@@ -277,6 +277,8 @@ 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:
--
2.51.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 4/4] drm/amdgpu: Use amdgpu by default on SI dedicated GPUs (v2)
2025-11-14 12:07 [PATCH 0/4] drm/amdgpu: Use amdgpu by default on SI and CIK dedicated GPUs (v2) Timur Kristóf
` (2 preceding siblings ...)
2025-11-14 12:07 ` [PATCH 3/4] drm/amdgpu: Use amdgpu by default on CIK dedicated GPUs (v2) Timur Kristóf
@ 2025-11-14 12:07 ` Timur Kristóf
2025-11-14 12:16 ` [PATCH 0/4] drm/amdgpu: Use amdgpu by default on SI and CIK " Christian König
4 siblings, 0 replies; 8+ messages in thread
From: Timur Kristóf @ 2025-11-14 12:07 UTC (permalink / raw)
To: amd-gfx, Alex Deucher, Christian König, Alexandre Demers,
Timur Kristóf, Rodrigo Siqueira
Now that the DC analog connector support and VCE1 support landed,
amdgpu is at feature parity with the old radeon driver
on SI dGPUs.
Enabling the amdgpu driver by default for SI dGPUs 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.si_support=0 radeon.si_support=1
v2:
- Update documentation in Kconfig file
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
---
drivers/gpu/drm/amd/amdgpu/Kconfig | 12 +++++++-----
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 ++-
drivers/gpu/drm/radeon/radeon_drv.c | 1 +
3 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig
index 883f32428871..7f515be5185d 100644
--- a/drivers/gpu/drm/amd/amdgpu/Kconfig
+++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
@@ -43,14 +43,16 @@ config DRM_AMDGPU_SI
bool "Enable amdgpu support for SI parts"
depends on DRM_AMDGPU
help
- Choose this option if you want to enable experimental support
+ Choose this option if you want to enable support
for SI (Southern Islands) asics.
- SI is already supported in radeon. Experimental support for SI
- in amdgpu will be disabled by default and is still provided by
- radeon. Use module options to override this:
+ SI (Southern Islands) are first generation GCN GPUs,
+ supported by both drivers: radeon (old) and amdgpu (new).
+ By default, SI dedicated GPUs are supported by amdgpu.
- radeon.si_support=0 amdgpu.si_support=1
+ Use module options to override this:
+ To use radeon for SI,
+ radeon.si_support=1 amdgpu.si_support=0
config DRM_AMDGPU_CIK
bool "Enable amdgpu support for CIK parts"
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index 910269407700..16adeba4d7e6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -623,7 +623,7 @@ module_param_named(timeout_period, amdgpu_watchdog_timer.period, uint, 0644);
* SI (Southern Islands) are first generation GCN GPUs, supported by both
* drivers: radeon (old) and amdgpu (new). This parameter controls whether
* amdgpu should support SI.
- * By default, SI chips are supported by radeon (except when radeon is not built).
+ * By default, SI dedicated GPUs are supported by amdgpu.
* Only relevant when CONFIG_DRM_AMDGPU_SI is enabled to build SI support in amdgpu.
* See also radeon.si_support which should be disabled when amdgpu.si_support is
* enabled, and vice versa.
@@ -2327,6 +2327,7 @@ static bool amdgpu_support_enabled(struct device *dev,
param = "si_support";
module_param = amdgpu_si_support;
amdgpu_support_built = IS_ENABLED(CONFIG_DRM_AMDGPU_SI);
+ support_by_default = true;
break;
case CHIP_BONAIRE:
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
index 40dff6feac8a..fe7ed70f4703 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
@@ -273,6 +273,7 @@ static bool radeon_support_enabled(struct device *dev,
gen = "SI";
module_param = radeon_si_support;
amdgpu_support_built &= IS_ENABLED(CONFIG_DRM_AMDGPU_SI);
+ support_by_default = false;
break;
case CHIP_BONAIRE:
--
2.51.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH 0/4] drm/amdgpu: Use amdgpu by default on SI and CIK dedicated GPUs (v2)
2025-11-14 12:07 [PATCH 0/4] drm/amdgpu: Use amdgpu by default on SI and CIK dedicated GPUs (v2) Timur Kristóf
` (3 preceding siblings ...)
2025-11-14 12:07 ` [PATCH 4/4] drm/amdgpu: Use amdgpu by default on SI " Timur Kristóf
@ 2025-11-14 12:16 ` Christian König
2025-11-14 14:38 ` Alex Deucher
4 siblings, 1 reply; 8+ messages in thread
From: Christian König @ 2025-11-14 12:16 UTC (permalink / raw)
To: Timur Kristóf, amd-gfx, Alex Deucher, Alexandre Demers,
Rodrigo Siqueira
On 11/14/25 13:07, Timur Kristóf wrote:
> Changed in v2 of the patch series:
> Updated documentation in Kconfig file.
>
> Now that the DC analog connector support and VCE1 support
> landed, amdgpu is at feature parity with the old radeon
> driver on SI and CIK dedicated GPUs.
>
> Let's enable amdgpu by default on SI and CIK dedicated GPUs.
>
> Why?
>
> Compared to the old radeon driver, amdgpu offers better
> performance, more display features through DC,
> as well as support for Vulkan 1.3 through RADV.
> (Note, although the hardware is 10 years old, the R9 290
> still appears in the Steam hardware survey for Linux
> at a modest 0.25%.)
>
> What can these GPUs actually do on amdgpu?
>
> Hawaii (eg. R9 390X) can even play modern games such as
> Baldur's Gate 3 or Cyberpunk 2077 and gives a decent user
> experience considering the age of the hardware.
> Tahiti and Pitcairn can play some modern games, albeit
> at lower resolutions and lower frame rates. They are
> mainly held back by a low amount of VRAM (2~3 GiB).
> The other SI and CIK "gaming" GPUs are mainly useful
> for playing games from their era (the mid-2010s)
> or less demanding games in general.
>
> CIK dedicated GPUs are the following:
>
> Hawaii (2013~2015):
> Radeon R9 290 and 390 series
> Bonaire (2013~2016):
> Radeon HD 7790/8870
> Radeon R7 260/360/450, RX 455
> FirePro W5100
> various mobile GPUs
>
> SI dedicated GPUs are the following:
>
> Tahiti (2012~2014):
> Radeon HD 7870 XT, 7950, 7970, 7990, 8950, 8970, 8990
> Radeon R9 280, 280X
> FirePro W8000, W9000, D500, D700, S9000, S9050, S10000
> Pitcairn (2012~2015):
> Radeon HD 7850, 7870, 7970M, 8870, 8970M
> Radeon R9 265, 270/370 series, M290X, M390
> FirePro W5000, W7000, D300, R5000, S7000
> Cape Verde (2012~2016):
> Radeon HD 7730, 7750, 7770, 8730, 8760
> Radeon R7 250E, 250X, 350, 450
> FirePro W600, W4100, M4000, M6000
> Oland (2013~2019):
> Radeon HD 8570, 8670
> Radeon R5 240, 250, 330, 340, 350, 430, 520, 610
> FirePro W2100
> various mobile GPUs
> Hainan (2013~2016):
> various mobile GPUs
Reviewed-by: Christian König <christian.koenig@amd.com> for the entire series.
I think Alex already merged the CIK switch, but that should be trivial to resolve.
Thanks,
Christian.
>
> Timur Kristóf (4):
> drm/radeon: Refactor how SI and CIK support is determined
> drm/amdgpu: Refactor how SI and CIK support is determined
> drm/amdgpu: Use amdgpu by default on CIK dedicated GPUs (v2)
> drm/amdgpu: Use amdgpu by default on SI dedicated GPUs (v2)
>
> drivers/gpu/drm/amd/amdgpu/Kconfig | 24 ++--
> drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 160 ++++++++++++++----------
> drivers/gpu/drm/radeon/radeon_drv.c | 81 +++++++-----
> 3 files changed, 162 insertions(+), 103 deletions(-)
>
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH 0/4] drm/amdgpu: Use amdgpu by default on SI and CIK dedicated GPUs (v2)
2025-11-14 12:16 ` [PATCH 0/4] drm/amdgpu: Use amdgpu by default on SI and CIK " Christian König
@ 2025-11-14 14:38 ` Alex Deucher
2025-11-14 15:04 ` Timur Kristóf
0 siblings, 1 reply; 8+ messages in thread
From: Alex Deucher @ 2025-11-14 14:38 UTC (permalink / raw)
To: Christian König
Cc: Timur Kristóf, amd-gfx, Alex Deucher, Alexandre Demers,
Rodrigo Siqueira
I had already applied the CIK series, so I rebased this series and
applied the documentation update and the SI patch.
Thanks,
Alex
On Fri, Nov 14, 2025 at 7:16 AM Christian König
<christian.koenig@amd.com> wrote:
>
> On 11/14/25 13:07, Timur Kristóf wrote:
> > Changed in v2 of the patch series:
> > Updated documentation in Kconfig file.
> >
> > Now that the DC analog connector support and VCE1 support
> > landed, amdgpu is at feature parity with the old radeon
> > driver on SI and CIK dedicated GPUs.
> >
> > Let's enable amdgpu by default on SI and CIK dedicated GPUs.
> >
> > Why?
> >
> > Compared to the old radeon driver, amdgpu offers better
> > performance, more display features through DC,
> > as well as support for Vulkan 1.3 through RADV.
> > (Note, although the hardware is 10 years old, the R9 290
> > still appears in the Steam hardware survey for Linux
> > at a modest 0.25%.)
> >
> > What can these GPUs actually do on amdgpu?
> >
> > Hawaii (eg. R9 390X) can even play modern games such as
> > Baldur's Gate 3 or Cyberpunk 2077 and gives a decent user
> > experience considering the age of the hardware.
> > Tahiti and Pitcairn can play some modern games, albeit
> > at lower resolutions and lower frame rates. They are
> > mainly held back by a low amount of VRAM (2~3 GiB).
> > The other SI and CIK "gaming" GPUs are mainly useful
> > for playing games from their era (the mid-2010s)
> > or less demanding games in general.
> >
> > CIK dedicated GPUs are the following:
> >
> > Hawaii (2013~2015):
> > Radeon R9 290 and 390 series
> > Bonaire (2013~2016):
> > Radeon HD 7790/8870
> > Radeon R7 260/360/450, RX 455
> > FirePro W5100
> > various mobile GPUs
> >
> > SI dedicated GPUs are the following:
> >
> > Tahiti (2012~2014):
> > Radeon HD 7870 XT, 7950, 7970, 7990, 8950, 8970, 8990
> > Radeon R9 280, 280X
> > FirePro W8000, W9000, D500, D700, S9000, S9050, S10000
> > Pitcairn (2012~2015):
> > Radeon HD 7850, 7870, 7970M, 8870, 8970M
> > Radeon R9 265, 270/370 series, M290X, M390
> > FirePro W5000, W7000, D300, R5000, S7000
> > Cape Verde (2012~2016):
> > Radeon HD 7730, 7750, 7770, 8730, 8760
> > Radeon R7 250E, 250X, 350, 450
> > FirePro W600, W4100, M4000, M6000
> > Oland (2013~2019):
> > Radeon HD 8570, 8670
> > Radeon R5 240, 250, 330, 340, 350, 430, 520, 610
> > FirePro W2100
> > various mobile GPUs
> > Hainan (2013~2016):
> > various mobile GPUs
>
> Reviewed-by: Christian König <christian.koenig@amd.com> for the entire series.
>
> I think Alex already merged the CIK switch, but that should be trivial to resolve.
>
> Thanks,
> Christian.
>
> >
> > Timur Kristóf (4):
> > drm/radeon: Refactor how SI and CIK support is determined
> > drm/amdgpu: Refactor how SI and CIK support is determined
> > drm/amdgpu: Use amdgpu by default on CIK dedicated GPUs (v2)
> > drm/amdgpu: Use amdgpu by default on SI dedicated GPUs (v2)
> >
> > drivers/gpu/drm/amd/amdgpu/Kconfig | 24 ++--
> > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 160 ++++++++++++++----------
> > drivers/gpu/drm/radeon/radeon_drv.c | 81 +++++++-----
> > 3 files changed, 162 insertions(+), 103 deletions(-)
> >
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 0/4] drm/amdgpu: Use amdgpu by default on SI and CIK dedicated GPUs (v2)
2025-11-14 14:38 ` Alex Deucher
@ 2025-11-14 15:04 ` Timur Kristóf
0 siblings, 0 replies; 8+ messages in thread
From: Timur Kristóf @ 2025-11-14 15:04 UTC (permalink / raw)
To: Alex Deucher, Christian König
Cc: amd-gfx, Alex Deucher, Alexandre Demers, Rodrigo Siqueira
On Fri, 2025-11-14 at 09:38 -0500, Alex Deucher wrote:
> I had already applied the CIK series, so I rebased this series and
> applied the documentation update and the SI patch.
>
> Thanks,
>
> Alex
Perfect, thank you!
>
> On Fri, Nov 14, 2025 at 7:16 AM Christian König
> <christian.koenig@amd.com> wrote:
> >
> > On 11/14/25 13:07, Timur Kristóf wrote:
> > > Changed in v2 of the patch series:
> > > Updated documentation in Kconfig file.
> > >
> > > Now that the DC analog connector support and VCE1 support
> > > landed, amdgpu is at feature parity with the old radeon
> > > driver on SI and CIK dedicated GPUs.
> > >
> > > Let's enable amdgpu by default on SI and CIK dedicated GPUs.
> > >
> > > Why?
> > >
> > > Compared to the old radeon driver, amdgpu offers better
> > > performance, more display features through DC,
> > > as well as support for Vulkan 1.3 through RADV.
> > > (Note, although the hardware is 10 years old, the R9 290
> > > still appears in the Steam hardware survey for Linux
> > > at a modest 0.25%.)
> > >
> > > What can these GPUs actually do on amdgpu?
> > >
> > > Hawaii (eg. R9 390X) can even play modern games such as
> > > Baldur's Gate 3 or Cyberpunk 2077 and gives a decent user
> > > experience considering the age of the hardware.
> > > Tahiti and Pitcairn can play some modern games, albeit
> > > at lower resolutions and lower frame rates. They are
> > > mainly held back by a low amount of VRAM (2~3 GiB).
> > > The other SI and CIK "gaming" GPUs are mainly useful
> > > for playing games from their era (the mid-2010s)
> > > or less demanding games in general.
> > >
> > > CIK dedicated GPUs are the following:
> > >
> > > Hawaii (2013~2015):
> > > Radeon R9 290 and 390 series
> > > Bonaire (2013~2016):
> > > Radeon HD 7790/8870
> > > Radeon R7 260/360/450, RX 455
> > > FirePro W5100
> > > various mobile GPUs
> > >
> > > SI dedicated GPUs are the following:
> > >
> > > Tahiti (2012~2014):
> > > Radeon HD 7870 XT, 7950, 7970, 7990, 8950, 8970, 8990
> > > Radeon R9 280, 280X
> > > FirePro W8000, W9000, D500, D700, S9000, S9050, S10000
> > > Pitcairn (2012~2015):
> > > Radeon HD 7850, 7870, 7970M, 8870, 8970M
> > > Radeon R9 265, 270/370 series, M290X, M390
> > > FirePro W5000, W7000, D300, R5000, S7000
> > > Cape Verde (2012~2016):
> > > Radeon HD 7730, 7750, 7770, 8730, 8760
> > > Radeon R7 250E, 250X, 350, 450
> > > FirePro W600, W4100, M4000, M6000
> > > Oland (2013~2019):
> > > Radeon HD 8570, 8670
> > > Radeon R5 240, 250, 330, 340, 350, 430, 520, 610
> > > FirePro W2100
> > > various mobile GPUs
> > > Hainan (2013~2016):
> > > various mobile GPUs
> >
> > Reviewed-by: Christian König <christian.koenig@amd.com> for the
> > entire series.
> >
> > I think Alex already merged the CIK switch, but that should be
> > trivial to resolve.
> >
> > Thanks,
> > Christian.
> >
> > >
> > > Timur Kristóf (4):
> > > drm/radeon: Refactor how SI and CIK support is determined
> > > drm/amdgpu: Refactor how SI and CIK support is determined
> > > drm/amdgpu: Use amdgpu by default on CIK dedicated GPUs (v2)
> > > drm/amdgpu: Use amdgpu by default on SI dedicated GPUs (v2)
> > >
> > > drivers/gpu/drm/amd/amdgpu/Kconfig | 24 ++--
> > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 160 ++++++++++++++----
> > > ------
> > > drivers/gpu/drm/radeon/radeon_drv.c | 81 +++++++-----
> > > 3 files changed, 162 insertions(+), 103 deletions(-)
> > >
> >
^ permalink raw reply [flat|nested] 8+ messages in thread