linux/drivers/staging/omapdrm
Rob Clark f7eff60ea0 drm: refcnt drm_framebuffer (v4.1)
This simplifies drm fb lifetime, and if the crtc/plane needs to hold
a ref to the fb when disabling a pipe until the next vblank, this
avoids the need to make disabling an overlay synchronous.  This is a
problem that shows up when userspace is using a drm plane to
implement a hw cursor.. making overlay disable synchronous causes
a performance problem when x11 is rapidly enabling/disabling the
hw cursor.  But not making it synchronous opens up a race condition
for crashing if userspace turns around and immediately deletes the
fb.  Refcnt'ing the fb makes it possible to solve this problem.

v1: original
v2: add drm_framebuffer_remove() which is called in all paths where
    fb->funcs->destroy() was directly called before.  This cleans
    up the CRTCs/planes that the fb was attached to.  You should
    only directly use drm_framebuffer_unreference() if you are also
    using drm_framebuffer_reference() to keep a ref to the fb.
v3: add comment explaining the fb refcount
v4: remove duplicate 'list_del(&fb->filp_head)'

[airlied: v4.1: fix local rejection]

Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-10-02 22:15:39 +10:00
..
Kconfig
Makefile staging: drm/omap: dmabuf/prime support 2012-04-10 11:25:59 -07:00
omap_connector.c Linux 3.6-rc7 2012-09-24 18:17:12 +02:00
omap_crtc.c drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
omap_debugfs.c staging: drm/omap: Disable DMM debugfs for OMAP3 2012-03-07 13:38:07 -08:00
omap_dmm_priv.h staging: omapdrm: Fix error paths during dmm init 2012-06-11 08:43:19 -07:00
omap_dmm_tiler.c staging: omapdrm: Fix error paths during dmm init 2012-06-11 08:43:19 -07:00
omap_dmm_tiler.h staging: drm/omap: Get DMM resources from hwmod 2012-03-07 13:38:08 -08:00
omap_drm.h
omap_drv.c Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux 2012-05-24 12:42:54 -07:00
omap_drv.h omap2+: add drm device 2012-07-02 04:05:57 -07:00
omap_encoder.c drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
omap_fb.c staging: drm/omap: dmabuf/prime mmap support 2012-05-17 08:54:08 -07:00
omap_fbdev.c drm: refcnt drm_framebuffer (v4.1) 2012-10-02 22:15:39 +10:00
omap_gem_dmabuf.c staging: drm/omap: initial dmabuf/prime import support 2012-05-17 08:54:09 -07:00
omap_gem_helpers.c staging: drm/omap: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(.. 2012-02-09 09:41:34 -08:00
omap_gem.c staging: drm/omap: dmabuf/prime mmap support 2012-05-17 08:54:08 -07:00
omap_plane.c staging: drm/omap: send page-flip event after endwin 2012-03-13 15:44:44 -07:00
tcm-sita.c staging:omapdrm Fix typos in drivers:omapdrm 2012-04-10 10:31:01 -07:00
tcm-sita.h
tcm.h
TODO staging: drm/omap: update TODO 2012-07-06 16:11:44 -07:00