From 887a8ba17f8855e4f0b50c468fe51ef41583f790 Mon Sep 17 00:00:00 2001 From: rmh Date: Wed, 12 Feb 2014 13:55:30 +0000 Subject: [PATCH] MFC r261497: Abort when firmware isn't present in R600+ models. More details at: http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux/debian/patches/bugfix/all/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch?revision=20909&view=co git-svn-id: svn://svn.freebsd.org/base/stable/10@261798 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/dev/drm2/radeon/r600.c | 6 ++++++ sys/dev/drm2/radeon/rv770.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/sys/dev/drm2/radeon/r600.c b/sys/dev/drm2/radeon/r600.c index b9d41bcae..586427d9c 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 cb875bd9d..549ed90af 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; } -- 2.45.0