diff options
author | Rob Clark <rob@ti.com> | 2012-03-05 10:48:35 -0600 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-03-07 13:38:07 -0800 |
commit | b33f34d3d10b9b00ca568740e7099da107d525b9 (patch) | |
tree | f63a9d59ae626af10018a38eb63b7f318c4a4800 /drivers/staging/omapdrm/omap_drv.h | |
parent | 9f18c95abba6dbfd13c86e0b8f3e7219df753f7e (diff) | |
download | op-kernel-dev-b33f34d3d10b9b00ca568740e7099da107d525b9.zip op-kernel-dev-b33f34d3d10b9b00ca568740e7099da107d525b9.tar.gz |
staging: drm/omap: defer unpin until scanout completes
When flipping, defer unpinning until scanout completes, as indicated
by the appropriate END_WIN irq.
This also re-organizes things a bit, in replacing omap_fb_{pin,unpin}
with omap_fb_replace(), to make it easier to add support for scanout
synchronized DMM refill mode (flipping by just reprogramming DMM
synchronized with DSS scanout).
Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/omapdrm/omap_drv.h')
-rw-r--r-- | drivers/staging/omapdrm/omap_drv.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/staging/omapdrm/omap_drv.h b/drivers/staging/omapdrm/omap_drv.h index a84547c..fe4766e 100644 --- a/drivers/staging/omapdrm/omap_drv.h +++ b/drivers/staging/omapdrm/omap_drv.h @@ -101,8 +101,9 @@ struct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev, struct drm_framebuffer *omap_framebuffer_init(struct drm_device *dev, struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos); struct drm_gem_object *omap_framebuffer_bo(struct drm_framebuffer *fb, int p); -int omap_framebuffer_pin(struct drm_framebuffer *fb); -void omap_framebuffer_unpin(struct drm_framebuffer *fb); +int omap_framebuffer_replace(struct drm_framebuffer *a, + struct drm_framebuffer *b, void *arg, + void (*unpin)(void *arg, struct drm_gem_object *bo)); void omap_framebuffer_update_scanout(struct drm_framebuffer *fb, int x, int y, struct omap_overlay_info *info); struct drm_connector *omap_framebuffer_get_next_connector( |