aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLajos Molnar <molnar@ti.com>2011-06-22 19:28:24 -0500
committerRebecca Schultz Zavin <rebecca@android.com>2011-07-11 17:00:32 -0700
commitb77e0f19fe564ec32287a6a3a1183fe6713d0f91 (patch)
tree78b0377575edd429e909c0d38c9c80a584a29c1d /include
parentd0cf5c4d69561db81fd2ddcdd12f8c65169c0ce8 (diff)
downloadkernel_samsung_tuna-b77e0f19fe564ec32287a6a3a1183fe6713d0f91.zip
kernel_samsung_tuna-b77e0f19fe564ec32287a6a3a1183fe6713d0f91.tar.gz
kernel_samsung_tuna-b77e0f19fe564ec32287a6a3a1183fe6713d0f91.tar.bz2
OMAP: DSSCOMP: Added gralloc adaptation layer
Added dsscomp_gralloc_queue() to queue a DSS composition from gralloc. This allows passing page list information for non-contiguous buffers, and a callback funtion. This gralloc layer automatically uses TILER1D areas to pin non-contiguous buffers, so that they become contiguous and can can be displayed by DSS. We only use dsscomp_gralloc_queue() for displaying a composition, so set the mode for DISPLAY. Also added new ioctl to test gralloc adaptaion layer. dsscomp_gralloc_init() does two things: it receives pointer to the device, and allocates TILER container areas. DSSCOMP is initialized before TILER, which causes problems. Thus, dsscomp_gralloc_init() stores the device pointer separately from allocating the memory. This way each part can fail independently. Added dsscomp_gralloc_init() within dsscomp_gralloc_queue() as it may be called before using the dsscomp device vs the file pointer. Using semaphore to keep track of available tiler slots. This is needed because we are releasing tiler slots in a work queue, that may get scheduled too late: - we release tiler slots when a composition is eclipsed in a work queue, as tiler_unpin_memory may be blocking. - we also release tiler slots if a composition has failed to be set. PVRSVC's callback is called when the composition is first displayed or eclipsed. It also gets called if a composition fails to queue to avoid a similar check and call from the called of queue(). Change-Id: I69d0a0c9fe452f05d846c6a38e314c5ac52d70e6 Signed-off-by: Lajos Molnar <molnar@ti.com>
Diffstat (limited to 'include')
-rw-r--r--include/video/dsscomp.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/video/dsscomp.h b/include/video/dsscomp.h
index 0900f7a..6248493 100644
--- a/include/video/dsscomp.h
+++ b/include/video/dsscomp.h
@@ -554,4 +554,6 @@ struct dsscomp_wait_data {
#define DSSCOMP_QUERY_DISPLAY _IOWR('O', 131, struct dsscomp_display_info)
#define DSSCOMP_WAIT _IOW('O', 132, struct dsscomp_wait_data)
+#define DSSCOMP_SETUP_MGR_G _IOW('O', 127, struct dsscomp_setup_mgr_data)
+
#endif