diff options
Diffstat (limited to 'drivers/video/omap2/omapfb')
| -rw-r--r-- | drivers/video/omap2/omapfb/omapfb-ioctl.c | 16 | ||||
| -rw-r--r-- | drivers/video/omap2/omapfb/omapfb-main.c | 10 |
2 files changed, 16 insertions, 10 deletions
diff --git a/drivers/video/omap2/omapfb/omapfb-ioctl.c b/drivers/video/omap2/omapfb/omapfb-ioctl.c index d30b45d7264..c9879f3a204 100644 --- a/drivers/video/omap2/omapfb/omapfb-ioctl.c +++ b/drivers/video/omap2/omapfb/omapfb-ioctl.c @@ -303,6 +303,18 @@ static int omapfb_update_window(struct fb_info *fbi, return display->driver->update(display, x, y, w, h); } +static int omapfb_update_display(struct fb_info *fbi) +{ + struct omap_dss_device *display = fb2display(fbi); + u16 dw, dh; + + if (!display) + return 0; + + display->driver->get_resolution(display, &dw, &dh); + return display->driver->update(display, 0, 0, dw, dh); +} + int omapfb_set_update_mode(struct fb_info *fbi, enum omapfb_update_mode mode) { @@ -604,6 +616,10 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg) int r = 0; switch (cmd) { + case FBIO_UPDATE_DISPLAY: + DBG("ioctl FBIO_UPDATE_DISPLAY\n"); + r = omapfb_update_display(fbi); + break; case OMAPFB_SYNC_GFX: DBG("ioctl SYNC_GFX\n"); if (!display || !display->driver->sync) { diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c index 856917b3361..f5f57a4e9a2 100644 --- a/drivers/video/omap2/omapfb/omapfb-main.c +++ b/drivers/video/omap2/omapfb/omapfb-main.c @@ -2326,8 +2326,6 @@ static int omapfb_init_display(struct omapfb2_device *fbdev, d->fbdev = fbdev; if (dssdev->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) { - u16 w, h; - if (auto_update) { omapfb_start_auto_update(fbdev, dssdev); d->update_mode = OMAPFB_AUTO_UPDATE; @@ -2342,14 +2340,6 @@ static int omapfb_init_display(struct omapfb2_device *fbdev, return r; } } - - dssdrv->get_resolution(dssdev, &w, &h); - r = dssdrv->update(dssdev, 0, 0, w, h); - if (r) { - dev_err(fbdev->dev, - "Failed to update display\n"); - return r; - } } else { d->update_mode = OMAPFB_AUTO_UPDATE; } |