On openSuSE, Xorg start fails, if modeset is enabled 
(https://bugzilla.novell.com/show_bug.cgi?id=856760).

This is caused by the fact, that the fbhwdev part in Xorg uses smem_start/len 
of the "fix" part, which is
not initialized by the the cirrus drm driver.

The attached patch fixes this problem. I can't spot such a initialisation in 
HEAD,
so I forward this patch.

Regards,
Martin
>From 15952972eff90b19c4063b54d5f1e820987b4605 Mon Sep 17 00:00:00 2001
From: Martin Koegler <[email protected]>
Date: Sun, 22 Dec 2013 16:00:52 +0100
Subject: [PATCH] Fix cirrus drm driver for fbdev + qemu

---
 drivers/gpu/drm/cirrus/cirrus_fbdev.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
index b27e956..e63a753 100644
--- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c
+++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
@@ -233,6 +233,9 @@ static int cirrusfb_create(struct drm_fb_helper *helper,
 	info->apertures->ranges[0].base = cdev->dev->mode_config.fb_base;
 	info->apertures->ranges[0].size = cdev->mc.vram_size;
 
+	info->fix.smem_start = cdev->dev->mode_config.fb_base;
+	info->fix.smem_len = cdev->mc.vram_size;
+
 	info->screen_base = sysram;
 	info->screen_size = size;
 
-- 
1.7.10.4

Reply via email to