diff options
author | Dave Airlie <airlied@linux.ie> | 2007-04-12 11:54:49 +1000 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2007-04-12 11:54:49 +1000 |
commit | fb6c5aacb9955248300e0c62f68a5a65b40e15e1 (patch) | |
tree | 7c35541825c7b6319a345c881f72181a5dda7f17 | |
parent | b49b3ba4c1aad0d3f34f06013f2ffa67fc8d82c9 (diff) |
only initialise modes when fbcon or fbset asks for it
-rw-r--r-- | linux-core/drm_fb.c | 10 | ||||
-rw-r--r-- | shared-core/i915_init.c | 2 |
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; |