[PATCH] drm/radeon: program the MC if loading firmware fails on ARUBA

Mark Kettenis mark.kettenis at xs4all.nl
Sun Aug 4 04:12:20 PDT 2013


Failure to load the firmwares on ARUBA isn't considered fatal.
However modesetting doesn't quite work in that case.  On an HP
Pavillion Sleekbook 15 with A4-4335M APU, I end up with a screen full
of garbage.  Calling evergreen_mc_program() fixes the issue.

Diff below is against the OpenBSD codebase, which corresponds to Linux
3.8.13.

Signed-off-by: Mark Kettenis <kettenis at openbsd.org>


diff --git a/sys/dev/pci/drm/radeon/ni.c b/sys/dev/pci/drm/radeon/ni.c
index cebaf8a..1b29475 100644
--- a/sys/dev/pci/drm/radeon/ni.c
+++ b/sys/dev/pci/drm/radeon/ni.c
@@ -1519,6 +1519,7 @@ static int cayman_startup(struct radeon_device *rdev)
 			r = ni_init_microcode(rdev);
 			if (r) {
 				DRM_ERROR("Failed to load firmware!\n");
+				evergreen_mc_program(rdev);
 				return r;
 			}
 		}


More information about the dri-devel mailing list