diff options
author | Gopikrishnaiah Anandan <agopik@codeaurora.org> | 2015-01-08 12:01:36 -0800 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:37:19 -0700 |
commit | 5a4feccb481a065d8c36924d82e0902f96bb4115 (patch) | |
tree | 5c7315ae59b4a2bea940693f5ff9f0ad66a0f5d2 /include | |
parent | 5431d0c98a4d52f35e43211cbda2a3ba53b693a3 (diff) |
msm: mdss: ioctl to get pp feature version
Some of the PP(post processing) features in MDP might be upgraded when
new revision hardware is released. Clients of driver were relying on
MDP revision to decide which version of the PP feature is supported.
With MDP revision approach the client of driver needs to maintain a
mapping between MDP revision and PP feature version. This change
exposes ioctl to driver clients to query PP driver version of feature
instead of maintaining mapping.
Change-Id: I73f465400112445070c75f65f6ffd87c03eef2fb
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/uapi/linux/msm_mdp.h | 74 |
1 files changed, 40 insertions, 34 deletions
diff --git a/include/uapi/linux/msm_mdp.h b/include/uapi/linux/msm_mdp.h index fd16c53d6b62..f5548a3baf5e 100644 --- a/include/uapi/linux/msm_mdp.h +++ b/include/uapi/linux/msm_mdp.h @@ -72,6 +72,8 @@ #define MSMFB_OVERLAY_PREPARE _IOWR(MSMFB_IOCTL_MAGIC, 169, \ struct mdp_overlay_list) #define MSMFB_LPM_ENABLE _IOWR(MSMFB_IOCTL_MAGIC, 170, unsigned int) +#define MSMFB_MDP_PP_GET_FEATURE_VERSION _IOWR(MSMFB_IOCTL_MAGIC, 171, \ + struct mdp_pp_feature_version) #define FB_TYPE_3D_PANEL 0x10101010 #define MDP_IMGTYPE2_START 0x10000 @@ -539,10 +541,6 @@ struct mdp_pa_data_v1_7 { uint32_t *six_zone_curve_p1; }; -enum { - mdp_pa_v1_7 = 0x1, - mdp_pa_vmax, -}; struct mdp_pa_v2_cfg_data { uint32_t version; @@ -552,10 +550,6 @@ struct mdp_pa_v2_cfg_data { void *cfg_payload; }; -enum { - mdp_igc_v1_7 = 1, - mdp_igc_vmax, -}; enum { mdp_igc_rec601 = 1, @@ -588,11 +582,6 @@ struct mdp_histogram_cfg { uint16_t num_bins; }; -enum { - mdp_hist_lut_v1_7 = 1, - mdp_hist_lut_vmax, -}; - struct mdp_hist_lut_data_v1_7 { uint32_t len; uint32_t *data; @@ -608,11 +597,6 @@ struct mdp_hist_lut_data { void *cfg_payload; }; -enum { - mdp_pcc_v1_7 = 0x1, - mdp_pcc_vmax, -}; - struct mdp_pcc_coeff { uint32_t c, r, g, b, rr, gg, bb, rg, gb, rb, rgb_0, rgb_1; }; @@ -929,11 +913,6 @@ struct mdp_pgc_lut_data { void *cfg_payload; }; -enum { - mdp_pgc_v1_7 = 1, - mdp_pgc_vmax, -}; - #define PGC_LUT_ENTRIES 1024 struct mdp_pgc_lut_data_v1_7 { uint32_t len; @@ -961,11 +940,6 @@ struct mdp_pa_cfg_data { struct mdp_pa_cfg pa_data; }; -enum { - mdp_dither_v1_7 = 1, - mdp_dither_vmax, -}; - struct mdp_dither_data_v1_7 { uint32_t g_y_depth; uint32_t r_cr_depth; @@ -990,12 +964,6 @@ struct mdp_dither_cfg_data { #define MDP_GAMUT_SCALE_OFF_SZ 16 #define MDP_GAMUT_TABLE_V1_7_COARSE_SZ 32 -enum { - mdp_gamut_v1_7 = 1, - mdp_gamut_vmax, -}; - - struct mdp_gamut_cfg_data { uint32_t block; uint32_t flags; @@ -1338,4 +1306,42 @@ enum { MDP_CSC_ITU_R_601_FR, MDP_CSC_ITU_R_709, }; + +enum { + mdp_igc_v1_7 = 1, + mdp_igc_vmax, + mdp_hist_lut_v1_7, + mdp_hist_lut_vmax, + mdp_pgc_v1_7, + mdp_pgc_vmax, + mdp_dither_v1_7, + mdp_dither_vmax, + mdp_gamut_v1_7, + mdp_gamut_vmax, + mdp_pa_v1_7, + mdp_pa_vmax, + mdp_pcc_v1_7, + mdp_pcc_vmax, + mdp_pp_legacy, +}; + +/* PP Features */ +enum { + IGC = 1, + PCC, + GC, + PA, + GAMUT, + CSC, + DITHER, + QSEED, + HIST_LUT, + HIST, + PP_FEATURE_MAX, +}; + +struct mdp_pp_feature_version { + uint32_t pp_feature; + uint32_t version_info; +}; #endif /*_UAPI_MSM_MDP_H_*/ |