summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2018-11-14 06:37:37 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2018-11-14 06:37:37 +0000
commit8e027e23243c42cceff9b7863b86cd4edc57cdae (patch)
tree4114cf9a82befb1aa95d80c6e4a2a0616592e820 /sys
parent115cd9cbb986ac9af69052b196a4dd1f09624503 (diff)
Add back part of the changes to takeover the firmware framebuffer on
sparc64 lost in the update to linux 4.4. Compile tested only.
Diffstat (limited to 'sys')
-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);