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 <[email protected]>
---
 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

Reply via email to