diff options
author | Naseer Ahmed <naseer@codeaurora.org> | 2013-04-05 16:25:58 -0400 |
---|---|---|
committer | Iliyan Malchev <malchev@google.com> | 2013-04-12 13:25:10 -0700 |
commit | 76de202d7eae6422d5bcba124734a96b8b6b1b01 (patch) | |
tree | ab19fba5e4dbda142dcbde20326ef2c6328b6d06 | |
parent | e6dc3c38ec8c4f7f59a73c1f7e35318ff1a8115a (diff) | |
download | msm8960-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.h | 16 | ||||
-rw-r--r-- | kernel-headers/linux/msm_rotator.h | 22 | ||||
-rwxr-xr-x | original-kernel-headers/linux/msm_mdp.h | 11 | ||||
-rw-r--r-- | original-kernel-headers/linux/msm_rotator.h | 10 |
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 { |