summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2007-04-12 11:54:49 +1000
committerDave Airlie <airlied@linux.ie>2007-04-12 11:54:49 +1000
commitfb6c5aacb9955248300e0c62f68a5a65b40e15e1 (patch)
tree7c35541825c7b6319a345c881f72181a5dda7f17
parentb49b3ba4c1aad0d3f34f06013f2ffa67fc8d82c9 (diff)
only initialise modes when fbcon or fbset asks for it
-rw-r--r--linux-core/drm_fb.c10
-rw-r--r--shared-core/i915_init.c2
2 files changed, 10 insertions, 2 deletions
diff --git a/linux-core/drm_fb.c b/linux-core/drm_fb.c
index 1a0fb79c..a70e4d52 100644
--- a/linux-core/drm_fb.c
+++ b/linux-core/drm_fb.c
@@ -77,6 +77,15 @@ static int drmfb_setcolreg(unsigned regno, unsigned red, unsigned green,
return 0;
}
+/* this will let fbcon do the mode init */
+static int drmfb_set_par(struct fb_info *info)
+{
+ struct drmfb_par *par = info->par;
+ struct drm_device *dev = par->dev;
+
+ drm_set_desired_modes(dev);
+}
+
static struct fb_ops drmfb_ops = {
.owner = THIS_MODULE,
// .fb_open = drmfb_open,
@@ -84,6 +93,7 @@ static struct fb_ops drmfb_ops = {
// .fb_write = drmfb_write,
// .fb_release = drmfb_release,
// .fb_ioctl = drmfb_ioctl,
+ .fb_set_par = drmfb_set_par,
.fb_setcolreg = drmfb_setcolreg,
.fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea,
diff --git a/shared-core/i915_init.c b/shared-core/i915_init.c
index b942b70f..ebe73815 100644
--- a/shared-core/i915_init.c
+++ b/shared-core/i915_init.c
@@ -213,8 +213,6 @@ int i915_driver_load(drm_device_t *dev, unsigned long flags)
drm_initial_config(dev, fb, false);
drmfb_probe(dev, fb);
- drm_set_desired_modes(dev);
-
#if 0
/* FIXME: command ring needs AGP space, do we own it at this point? */
dev_priv->ring.Start = dev_priv->baseaddr;