summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGopikrishnaiah Anandan <agopik@codeaurora.org>2015-01-08 12:01:36 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:37:19 -0700
commit5a4feccb481a065d8c36924d82e0902f96bb4115 (patch)
tree5c7315ae59b4a2bea940693f5ff9f0ad66a0f5d2 /include
parent5431d0c98a4d52f35e43211cbda2a3ba53b693a3 (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.h74
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_*/