diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/evergreen.c')
| -rw-r--r-- | drivers/gpu/drm/radeon/evergreen.c | 12 | 
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c index 5e00d1670aa..92c9628c572 100644 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c @@ -3276,6 +3276,18 @@ int evergreen_init(struct radeon_device *rdev)  			rdev->accel_working = false;  		}  	} + +	/* Don't start up if the MC ucode is missing on BTC parts. +	 * The default clocks and voltages before the MC ucode +	 * is loaded are not suffient for advanced operations. +	 */ +	if (ASIC_IS_DCE5(rdev)) { +		if (!rdev->mc_fw && !(rdev->flags & RADEON_IS_IGP)) { +			DRM_ERROR("radeon: MC ucode required for NI+.\n"); +			return -EINVAL; +		} +	} +  	return 0;  }  |