summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2018-11-14 06:37:36 +0000
committerjsg <jsg@openbsd.org>2018-11-14 06:37:36 +0000
commitd1729d2b3de196b7dfd0cd0a006a9adea9eb4cf1 (patch)
tree9fa9c7c06eb3b2ba43ede952997bc322073806d9
parentdidn't found -> didn't find. (diff)
downloadwireguard-openbsd-d1729d2b3de196b7dfd0cd0a006a9adea9eb4cf1.tar.xz
wireguard-openbsd-d1729d2b3de196b7dfd0cd0a006a9adea9eb4cf1.zip
Add back part of the changes to takeover the firmware framebuffer on
sparc64 lost in the update to linux 4.4. Compile tested only.
-rw-r--r--sys/dev/pci/drm/radeon/radeon_fb.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/sys/dev/pci/drm/radeon/radeon_fb.c b/sys/dev/pci/drm/radeon/radeon_fb.c
index 80d91f7e0a9..d6ee3157a3f 100644
--- a/sys/dev/pci/drm/radeon/radeon_fb.c
+++ b/sys/dev/pci/drm/radeon/radeon_fb.c
@@ -388,6 +388,29 @@ int radeon_fbdev_init(struct radeon_device *rdev)
if (ret)
goto fini;
+#ifdef __sparc64__
+{
+ struct drm_fb_helper *fb_helper = &rfbdev->helper;
+ struct drm_fb_helper_connector *fb_helper_conn;
+ int i;
+
+ for (i = 0; i < fb_helper->connector_count; i++) {
+ struct drm_cmdline_mode *mode;
+ struct drm_connector *connector;
+
+ fb_helper_conn = fb_helper->connector_info[i];
+ connector = fb_helper_conn->connector;
+ mode = &connector->cmdline_mode;
+
+ mode->specified = true;
+ mode->xres = rdev->sf.sf_width;
+ mode->yres = rdev->sf.sf_height;
+ mode->bpp_specified = true;
+ mode->bpp = rdev->sf.sf_depth;
+ }
+}
+#endif
+
/* disable all the possible outputs/crtcs before entering KMS mode */
drm_helper_disable_unused_functions(rdev->ddev);