diff options
author | Erik Gilling <konkers@android.com> | 2011-12-08 14:36:31 -0800 |
---|---|---|
committer | Erik Gilling <konkers@android.com> | 2011-12-08 14:36:31 -0800 |
commit | 5e7f036af04fea08068bf9ed8045aa1c82153bd7 (patch) | |
tree | fc297750d768e4fa6d76163375fe452292d7a834 /include | |
parent | 7f41f99f9848161de17747a413e00e25a7bae549 (diff) | |
parent | 6163711bce716fc63dcda986bdf57c3e2dc2d1a3 (diff) | |
download | kernel_samsung_tuna-5e7f036af04fea08068bf9ed8045aa1c82153bd7.zip kernel_samsung_tuna-5e7f036af04fea08068bf9ed8045aa1c82153bd7.tar.gz kernel_samsung_tuna-5e7f036af04fea08068bf9ed8045aa1c82153bd7.tar.bz2 |
Merge branch 'linux-omap-3.0' into android-omap-3.0
Diffstat (limited to 'include')
-rw-r--r-- | include/video/dsscomp.h | 79 |
1 files changed, 45 insertions, 34 deletions
diff --git a/include/video/dsscomp.h b/include/video/dsscomp.h index 4daf3ea..d857961 100644 --- a/include/video/dsscomp.h +++ b/include/video/dsscomp.h @@ -233,7 +233,7 @@ struct dss2_decim { * * Userspace operations are as follows: * - * 1) check if DSS supports an overlay configuration, use DSSCOMP_CHECK_OVL + * 1) check if DSS supports an overlay configuration, use DSSCIOC_CHECK_OVL * ioctl with the manager, overlay, and setup-mode information filled out. * All fields should be filled out as it may influence whether DSS can * display/render the overlay. @@ -253,11 +253,11 @@ struct dss2_decim { * dss2_overlay_setup() before this. * * 3) On OMAP4/5 you can use the DSS WB pipeline to copy (and convert) a buffer - * using DSS. Use the DSSCOMP_WB_COPY ioctl for this. This is a blocking + * using DSS. Use the DSSCIOC_WB_COPY ioctl for this. This is a blocking * call, and it may possibly fail if an ongoing WB capture mode has been * scheduled (which is outside of the current scope of the DSS2 interface.) * - * There is also a one-shot configuration API (DSSCOMP_SETUP_DISPC). This + * There is also a one-shot configuration API (DSSCIOC_SETUP_DISPC). This * allows you to set-up all overlays on all managers in one call. This call * performs additional functionality: * @@ -334,7 +334,7 @@ struct dss2_ovl_cfg { struct omap_dss_cconv_coefs cconv; struct dss2_vc1_range_map_info vc1; - __u8 ix; /* ovl index same as sysfs/overlay# */ + __u8 ix; /* ovl index same as sysfs/overlay# */ __u8 zorder; /* 0..3 */ __u8 enabled; /* bool */ __u8 zonly; /* only set zorder and enabled bit */ @@ -349,25 +349,36 @@ enum omapdss_buffer_type { OMAP_DSS_BUFTYPE_TILER_PAGE, }; +enum omapdss_buffer_addressing_type { + OMAP_DSS_BUFADDR_DIRECT, /* using direct addresses */ + OMAP_DSS_BUFADDR_BYTYPE, /* using buffer types */ + OMAP_DSS_BUFADDR_ION, /* using ion handle(s) */ + OMAP_DSS_BUFADDR_GRALLOC, /* using gralloc handle */ +}; + struct dss2_ovl_info { struct dss2_ovl_cfg cfg; + enum omapdss_buffer_addressing_type addressing; + union { /* user-space interfaces */ struct { - void *address; /* main buffer address */ - - /* - * For DSSCOMP_CHECK_OVL we allow specifying just the - * type of each buffer. This is used if we need to - * check whether DSS will be able to display a buffer - * if using a particular memory type before spending - * time to map/copy the buffer into that type of - * memory. Default value of 0 uses the address to - * determine the type. - */ - __u16 ba_type; - __u16 uv_type; + void *address; /* main buffer address */ + void *uv_address; /* uv buffer */ + }; + + /* + * For DSSCIOC_CHECK_OVL we allow specifying just the + * type of each buffer. This is used if we need to + * check whether DSS will be able to display a buffer + * if using a particular memory type before spending + * time to map/copy the buffer into that type of + * memory. + */ + struct { + enum omapdss_buffer_type ba_type; + enum omapdss_buffer_type uv_type; }; /* kernel-space interfaces */ @@ -411,7 +422,7 @@ struct dss2_mgr_info { } __attribute__ ((aligned(4))); /* - * ioctl: DSSCOMP_SETUP_MGR, struct dsscomp_setup_mgr_data + * ioctl: DSSCIOC_SETUP_MGR, struct dsscomp_setup_mgr_data * * 1. sets manager of each ovl in composition to the display * 2. calls set_dss_ovl_info() for each ovl to set up the @@ -435,7 +446,7 @@ struct dss2_mgr_info { * on failure. * * If get_sync_obj is true, it returns fd on success, or a negative value - * on failure. You can use the fd to wait on (using DSSCOMP_WAIT ioctl()). + * on failure. You can use the fd to wait on (using DSSCIOC_WAIT ioctl()). * * Note: frames do not get eclipsed when the display turns off. Queue a * blank frame to eclipse old frames. Blank frames get eclipsed when @@ -478,7 +489,7 @@ struct dsscomp_setup_mgr_data { }; /* - * ioctl: DSSCOMP_CHECK_OVL, struct dsscomp_check_ovl_data + * ioctl: DSSCIOC_CHECK_OVL, struct dsscomp_check_ovl_data * * DISPLAY and/or CAPTURE bits must be filled for the mode field * correctly to be able to decide correctly if DSS can properly @@ -532,8 +543,8 @@ struct dsscomp_setup_dispc_data { }; /* - * ioctl: DSSCOMP_WB_COPY, struct dsscomp_wb_copy_data - * + * ioctl: DSSCIOC_WB_COPY, struct dsscomp_wb_copy_data + *, * Requirements: * wb.ix must be OMAP_DSS_WB. * @@ -544,7 +555,7 @@ struct dsscomp_wb_copy_data { }; /* - * ioctl: DSSCOMP_QUERY_DISPLAY, struct dsscomp_display_info + * ioctl: DSSCIOC_QUERY_DISPLAY, struct dsscomp_display_info * * Gets informations about the display. Fill in ix and modedb_len before * calling ioctl, and rest of the fields are filled in by ioctl. Up to @@ -570,7 +581,7 @@ struct dsscomp_display_info { }; /* - * ioctl: DSSCOMP_SETUP_DISPLAY, struct dsscomp_setup_display_data + * ioctl: DSSCIOC_SETUP_DISPLAY, struct dsscomp_setup_display_data * * Gets informations about the display. Fill in ix before calling * ioctl, and rest of the fields are filled in by ioctl. @@ -583,7 +594,7 @@ struct dsscomp_setup_display_data { }; /* - * ioctl: DSSCOMP_WAIT, struct dsscomp_wait_data + * ioctl: DSSCIOC_WAIT, struct dsscomp_wait_data * * Use this ioctl to wait for one of the following events: * @@ -598,7 +609,7 @@ struct dsscomp_setup_display_data { * Set timeout to desired timeout value in microseconds. * * This ioctl must be used on the sync object returned by the - * DSSCOMP_SETUP_MGR or DSSCOMP_SETUP_DISPC ioctls. + * DSSCIOC_SETUP_MGR or DSSCIOC_SETUP_DISPC ioctls. * * Returns: >=0 on success, <0 error value on failure (e.g. -ETIME). */ @@ -614,12 +625,12 @@ struct dsscomp_wait_data { }; /* IOCTLS */ -#define DSSCOMP_SETUP_MGR _IOW('O', 128, struct dsscomp_setup_mgr_data) -#define DSSCOMP_CHECK_OVL _IOWR('O', 129, struct dsscomp_check_ovl_data) -#define DSSCOMP_WB_COPY _IOW('O', 130, struct dsscomp_wb_copy_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_DISPC _IOW('O', 133, struct dsscomp_setup_dispc_data) -#define DSSCOMP_SETUP_DISPLAY _IOW('O', 134, struct dsscomp_setup_display_data) +#define DSSCIOC_SETUP_MGR _IOW('O', 128, struct dsscomp_setup_mgr_data) +#define DSSCIOC_CHECK_OVL _IOWR('O', 129, struct dsscomp_check_ovl_data) +#define DSSCIOC_WB_COPY _IOW('O', 130, struct dsscomp_wb_copy_data) +#define DSSCIOC_QUERY_DISPLAY _IOWR('O', 131, struct dsscomp_display_info) +#define DSSCIOC_WAIT _IOW('O', 132, struct dsscomp_wait_data) + +#define DSSCIOC_SETUP_DISPC _IOW('O', 133, struct dsscomp_setup_dispc_data) +#define DSSCIOC_SETUP_DISPLAY _IOW('O', 134, struct dsscomp_setup_display_data) #endif |