summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/drm2/radeon/r600.c6
-rw-r--r--sys/dev/drm2/radeon/rv770.c6
2 files changed, 12 insertions, 0 deletions
diff --git a/sys/dev/drm2/radeon/r600.c b/sys/dev/drm2/radeon/r600.c
index b9d41bc..586427d 100644
--- a/sys/dev/drm2/radeon/r600.c
+++ b/sys/dev/drm2/radeon/r600.c
@@ -3012,6 +3012,12 @@ int r600_init(struct radeon_device *rdev)
rdev->accel_working = false;
}
+ /* Don't start up if the ucode is missing. */
+ if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) {
+ DRM_ERROR("radeon: ucode required for R600+.\n");
+ return -EINVAL;
+ }
+
return 0;
}
diff --git a/sys/dev/drm2/radeon/rv770.c b/sys/dev/drm2/radeon/rv770.c
index cb875bd..549ed90 100644
--- a/sys/dev/drm2/radeon/rv770.c
+++ b/sys/dev/drm2/radeon/rv770.c
@@ -1186,6 +1186,12 @@ int rv770_init(struct radeon_device *rdev)
rdev->accel_working = false;
}
+ /* Don't start up if the ucode is missing. */
+ if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) {
+ DRM_ERROR("radeon: ucode required for R600+.\n");
+ return -EINVAL;
+ }
+
return 0;
}
OpenPOWER on IntegriCloud