drm/radeon: Add module param to control SI support

If AMDGPU supports SI, add a module parameter to control SI
support in radeon. It's on by default in radeon, while it will be
off by default in AMDGPU as long as SI support is experimental.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Acked-by: Michel Dänzer <michel.daenzer@amd.com>
This commit is contained in:
Felix Kuehling 2017-06-05 18:52:51 +09:00 committed by Alex Deucher
parent 7df289865c
commit 36ffce0ac0
3 changed files with 23 additions and 0 deletions

View File

@ -116,6 +116,9 @@ extern int radeon_mst;
extern int radeon_uvd; extern int radeon_uvd;
extern int radeon_vce; extern int radeon_vce;
#ifdef CONFIG_DRM_AMDGPU_SI
extern int radeon_si_support;
#endif
#ifdef CONFIG_DRM_AMDGPU_CIK #ifdef CONFIG_DRM_AMDGPU_CIK
extern int radeon_cik_support; extern int radeon_cik_support;
#endif #endif

View File

@ -295,6 +295,12 @@ module_param_named(uvd, radeon_uvd, int, 0444);
MODULE_PARM_DESC(vce, "vce enable/disable vce support (1 = enable, 0 = disable)"); MODULE_PARM_DESC(vce, "vce enable/disable vce support (1 = enable, 0 = disable)");
module_param_named(vce, radeon_vce, int, 0444); module_param_named(vce, radeon_vce, int, 0444);
#ifdef CONFIG_DRM_AMDGPU_SI
int radeon_si_support = 1;
MODULE_PARM_DESC(si_support, "SI support (1 = enabled (default), 0 = disabled)");
module_param_named(si_support, radeon_si_support, int, 0444);
#endif
#ifdef CONFIG_DRM_AMDGPU_CIK #ifdef CONFIG_DRM_AMDGPU_CIK
int radeon_cik_support = 0; int radeon_cik_support = 0;
MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled, 0 = disabled (default))"); MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled, 0 = disabled (default))");

View File

@ -98,6 +98,20 @@ int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags)
struct radeon_device *rdev; struct radeon_device *rdev;
int r, acpi_status; int r, acpi_status;
#ifdef CONFIG_DRM_AMDGPU_SI
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->dev,
"SI support disabled by module param\n");
return -ENODEV;
}
}
#endif
#ifdef CONFIG_DRM_AMDGPU_CIK #ifdef CONFIG_DRM_AMDGPU_CIK
if (!radeon_cik_support) { if (!radeon_cik_support) {
switch (flags & RADEON_FAMILY_MASK) { switch (flags & RADEON_FAMILY_MASK) {