summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaseer Ahmed <naseer@codeaurora.org>2013-04-05 16:25:58 -0400
committerIliyan Malchev <malchev@google.com>2013-04-12 13:25:10 -0700
commit76de202d7eae6422d5bcba124734a96b8b6b1b01 (patch)
treeab19fba5e4dbda142dcbde20326ef2c6328b6d06
parente6dc3c38ec8c4f7f59a73c1f7e35318ff1a8115a (diff)
downloadmsm8960-76de202d7eae6422d5bcba124734a96b8b6b1b01.tar.gz
msm: Update MDP and rotator headers
Support for rotator sync, borderfill bugfix and plane alpha b/8437437 (framework reboot failure on suspend due to not freeing up framebuffer reference) b/8142467 (rotator sync pt. support) b/8569996 (device reboot when playing DRM) (potential fix) b/8485194 (logspam) b/8316155 (partial fix) Change-Id: I0a0bc841a64db13eb24e7c199a8bb9d2db77542a Signed-off-by: Iliyan Malchev <malchev@google.com>
-rw-r--r--kernel-headers/linux/msm_mdp.h16
-rw-r--r--kernel-headers/linux/msm_rotator.h22
-rwxr-xr-xoriginal-kernel-headers/linux/msm_mdp.h11
-rw-r--r--original-kernel-headers/linux/msm_rotator.h10
4 files changed, 49 insertions, 10 deletions
diff --git a/kernel-headers/linux/msm_mdp.h b/kernel-headers/linux/msm_mdp.h
index 1ec4553..310414d 100644
--- a/kernel-headers/linux/msm_mdp.h
+++ b/kernel-headers/linux/msm_mdp.h
@@ -349,16 +349,26 @@ struct mdp_overlay_pp_params {
struct mdp_igc_lut_data igc_cfg;
struct mdp_sharp_cfg sharp_cfg;
};
-struct mdp_overlay {
+enum {
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ BLEND_OP_NOT_DEFINED = 0,
+ BLEND_OP_OPAQUE,
+ BLEND_OP_PREMULTIPLIED,
+ BLEND_OP_COVERAGE,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ BLEND_OP_MAX,
+};
+struct mdp_overlay {
struct msmfb_img src;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct mdp_rect src_rect;
struct mdp_rect dst_rect;
uint32_t z_order;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
uint32_t is_fg;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
uint32_t alpha;
uint32_t transp_mask;
+ uint32_t blend_op;
uint32_t flags;
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
uint32_t id;
@@ -584,7 +594,7 @@ struct mdp_mixer_info {
int mixer_num;
int z_order;
};
-#define MAX_PIPE_PER_MIXER 4
+#define MAX_PIPE_PER_MIXER 5
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct msmfb_mixer_info_req {
int mixer_num;
diff --git a/kernel-headers/linux/msm_rotator.h b/kernel-headers/linux/msm_rotator.h
index 2e57191..809f021 100644
--- a/kernel-headers/linux/msm_rotator.h
+++ b/kernel-headers/linux/msm_rotator.h
@@ -26,37 +26,47 @@
#define MSM_ROTATOR_IOCTL_ROTATE _IOW(MSM_ROTATOR_IOCTL_MAGIC, 2, struct msm_rotator_data_info)
#define MSM_ROTATOR_IOCTL_FINISH _IOW(MSM_ROTATOR_IOCTL_MAGIC, 3, int)
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define MSM_ROTATOR_IOCTL_BUFFER_SYNC _IOW(MSM_ROTATOR_IOCTL_MAGIC, 4, struct msm_rotator_buf_sync)
#define ROTATOR_VERSION_01 0xA5B4C301
enum rotator_clk_type {
ROTATOR_CORE_CLK,
- ROTATOR_PCLK,
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ ROTATOR_PCLK,
ROTATOR_IMEM_CLK
};
+struct msm_rotator_buf_sync {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ uint32_t session_id;
+ uint32_t flags;
+ int acq_fen_fd;
+ int rel_fen_fd;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
struct msm_rotator_img_info {
unsigned int session_id;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct msmfb_img src;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct msmfb_img dst;
struct mdp_rect src_rect;
unsigned int dst_x;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
unsigned int dst_y;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
unsigned char rotations;
int enable;
unsigned int downscale_ratio;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
unsigned int secure;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
};
struct msm_rotator_data_info {
int session_id;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct msmfb_data src;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct msmfb_data dst;
unsigned int version_key;
struct msmfb_data src_chroma;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
struct msmfb_data dst_chroma;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ uint32_t wait_for_finish;
};
struct msm_rot_clocks {
const char *clk_name;
diff --git a/original-kernel-headers/linux/msm_mdp.h b/original-kernel-headers/linux/msm_mdp.h
index d3bfdc2..394394b 100755
--- a/original-kernel-headers/linux/msm_mdp.h
+++ b/original-kernel-headers/linux/msm_mdp.h
@@ -350,6 +350,14 @@ struct mdp_overlay_pp_params {
struct mdp_sharp_cfg sharp_cfg;
};
+enum {
+ BLEND_OP_NOT_DEFINED = 0,
+ BLEND_OP_OPAQUE,
+ BLEND_OP_PREMULTIPLIED,
+ BLEND_OP_COVERAGE,
+ BLEND_OP_MAX,
+};
+
struct mdp_overlay {
struct msmfb_img src;
struct mdp_rect src_rect;
@@ -358,6 +366,7 @@ struct mdp_overlay {
uint32_t is_fg; /* control alpha & transp */
uint32_t alpha;
uint32_t transp_mask;
+ uint32_t blend_op;
uint32_t flags;
uint32_t id;
uint32_t user_data[8];
@@ -594,7 +603,7 @@ struct mdp_mixer_info {
int z_order;
};
-#define MAX_PIPE_PER_MIXER 4
+#define MAX_PIPE_PER_MIXER 5
struct msmfb_mixer_info_req {
int mixer_num;
diff --git a/original-kernel-headers/linux/msm_rotator.h b/original-kernel-headers/linux/msm_rotator.h
index 17ae867..6a8d286 100644
--- a/original-kernel-headers/linux/msm_rotator.h
+++ b/original-kernel-headers/linux/msm_rotator.h
@@ -12,6 +12,8 @@
_IOW(MSM_ROTATOR_IOCTL_MAGIC, 2, struct msm_rotator_data_info)
#define MSM_ROTATOR_IOCTL_FINISH \
_IOW(MSM_ROTATOR_IOCTL_MAGIC, 3, int)
+#define MSM_ROTATOR_IOCTL_BUFFER_SYNC \
+ _IOW(MSM_ROTATOR_IOCTL_MAGIC, 4, struct msm_rotator_buf_sync)
#define ROTATOR_VERSION_01 0xA5B4C301
@@ -21,6 +23,13 @@ enum rotator_clk_type {
ROTATOR_IMEM_CLK
};
+struct msm_rotator_buf_sync {
+ uint32_t session_id;
+ uint32_t flags;
+ int acq_fen_fd;
+ int rel_fen_fd;
+};
+
struct msm_rotator_img_info {
unsigned int session_id;
struct msmfb_img src;
@@ -41,6 +50,7 @@ struct msm_rotator_data_info {
unsigned int version_key;
struct msmfb_data src_chroma;
struct msmfb_data dst_chroma;
+ uint32_t wait_for_finish;
};
struct msm_rot_clocks {