[PATCH] drm/radeon/kms: bail on BTC parts if MC ucode is missing

alexdeucher at gmail.com alexdeucher at gmail.com
Wed Dec 21 08:58:17 PST 2011


From: Alex Deucher <alexander.deucher at amd.com>

We already do this for cayman, need to also do it for
BTC parts.  The default memory and voltage setup is not
adequate for advanced operation.  Continuing will
result in an unusable display.

Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Cc: stable at kernel.org
Cc: Jean Delvare <khali at linux-fr.org>
---
 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 1934728..c2e493d 100644
--- a/drivers/gpu/drm/radeon/evergreen.c
+++ b/drivers/gpu/drm/radeon/evergreen.c
@@ -3337,6 +3337,18 @@ int evergreen_init(struct radeon_device *rdev)
 		evergreen_pcie_gart_fini(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;
 }
 
-- 
1.7.3.4



More information about the dri-devel mailing list