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;
                        }
                }

Reply via email to