summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2009-12-17 18:57:14 +0800
committerJustin Waters <justin.waters@timesys.com>2010-12-17 12:09:18 -0500
commit9ab5c190c1490d51c14a7783ffef5c7071da3213 (patch)
tree79b4b2d97473e4d09c8cfa67993afcd87d1ba6d0 /include
parent88649da9171d6ebc0c85844daac01c827e5168f5 (diff)
ENGR00119136 ipuv3: support 720p for ipu lib
To support 720p output for ipu lib. Signed-off-by: Jason Chen <b02280@freescale.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/ipu.h60
1 files changed, 42 insertions, 18 deletions
diff --git a/include/linux/ipu.h b/include/linux/ipu.h
index af2bb266244d..c9403280e11c 100644
--- a/include/linux/ipu.h
+++ b/include/linux/ipu.h
@@ -321,6 +321,7 @@ typedef union {
uint32_t out_width;
uint32_t out_height;
uint32_t out_pixel_fmt;
+ uint32_t out_resize_ratio;
} mem_prp_enc_mem;
struct {
uint32_t in_width;
@@ -363,6 +364,7 @@ typedef union {
uint32_t out_width;
uint32_t out_height;
uint32_t out_pixel_fmt;
+ uint32_t out_resize_ratio;
bool graphics_combine_en;
bool global_alpha_en;
bool key_color_en;
@@ -386,6 +388,7 @@ typedef union {
uint32_t out_width;
uint32_t out_height;
uint32_t out_pixel_fmt;
+ uint32_t out_resize_ratio;
bool graphics_combine_en;
bool global_alpha_en;
bool key_color_en;
@@ -393,7 +396,6 @@ typedef union {
uint8_t alpha;
uint32_t key_color;
bool alpha_chan_en;
- uint32_t out_resize_ratio;
} mem_pp_mem;
struct {
uint32_t temp;
@@ -1013,6 +1015,30 @@ int ipu_open(void);
int ipu_register_generic_isr(int irq, void *dev);
void ipu_close(void);
+/* two stripe calculations */
+struct stripe_param{
+ unsigned int input_width; /* width of the input stripe */
+ unsigned int output_width; /* width of the output stripe */
+ unsigned int input_column; /* the first column on the input stripe */
+ unsigned int output_column; /* the first column on the output stripe */
+ unsigned int idr;
+ /* inverse downisizing ratio parameter; expressed as a power of 2 */
+ unsigned int irr;
+ /* inverse resizing ratio parameter; expressed as a multiple of 2^-13 */
+};
+
+typedef struct _ipu_stripe_parm {
+ unsigned int input_width;
+ unsigned int output_width;
+ unsigned int maximal_stripe_width;
+ unsigned long long cirr;
+ unsigned int equal_stripes;
+ u32 input_pixelformat;
+ u32 output_pixelformat;
+ struct stripe_param left;
+ struct stripe_param right;
+} ipu_stripe_parm;
+
typedef struct _ipu_channel_parm {
ipu_channel_t channel;
ipu_channel_params_t params;
@@ -1034,6 +1060,19 @@ typedef struct _ipu_channel_buf_parm {
uint32_t bufNum;
} ipu_channel_buf_parm;
+typedef struct _ipu_buf_offset_parm {
+ ipu_channel_t channel;
+ ipu_buffer_t type;
+ uint32_t pixel_fmt;
+ uint16_t width;
+ uint16_t height;
+ uint16_t stride;
+ uint32_t u_offset;
+ uint32_t v_offset;
+ uint32_t vertical_offset;
+ uint32_t horizontal_offset;
+} ipu_buf_offset_parm;
+
typedef struct _ipu_channel_link {
ipu_channel_t src_ch;
ipu_channel_t dest_ch;
@@ -1207,22 +1246,8 @@ typedef struct _ipu_mem_info {
#define IPU_ALOC_MEM _IOWR('I', 0x24, ipu_mem_info)
#define IPU_FREE_MEM _IOW('I', 0x25, ipu_mem_info)
#define IPU_IS_CHAN_BUSY _IOW('I', 0x26, ipu_channel_t)
-
-
-/* two stripe calculations */
-struct stripe_param{
- unsigned int input_width; /* width of the input stripe */
- unsigned int output_width; /* width of the output stripe */
- unsigned int input_column; /* the first column on the input stripe */
- unsigned int output_column; /* the first column on the output stripe */
- unsigned int idr;
- /* inverse downisizing ratio parameter; expressed as a power of 2 */
- unsigned int irr;
- /* inverse resizing ratio parameter; expressed as a multiple of 2^-13 */
-};
-
-
-
+#define IPU_CALC_STRIPES_SIZE _IOWR('I', 0x27, ipu_stripe_parm)
+#define IPU_UPDATE_BUF_OFFSET _IOW('I', 0x28, ipu_buf_offset_parm)
int ipu_calc_stripes_sizes(const unsigned int input_frame_width,
unsigned int output_frame_width,
@@ -1233,5 +1258,4 @@ int ipu_calc_stripes_sizes(const unsigned int input_frame_width,
u32 output_pixelformat,
struct stripe_param *left,
struct stripe_param *right);
-
#endif