msm: mdss: export mdp capabilities to user space

There are many variants of MDP with different capabilities, in order to
get the most out of the hardware userspace should be aware of the use
cases that can be supported.

Change-Id: I7a4146d38af7e81f586f3e2818320fb7264d303e
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
diff --git a/include/linux/msm_mdp.h b/include/linux/msm_mdp.h
index 45bc0ea..7e347ee 100644
--- a/include/linux/msm_mdp.h
+++ b/include/linux/msm_mdp.h
@@ -595,6 +595,7 @@
 	metadata_op_frame_rate,
 	metadata_op_vic,
 	metadata_op_wb_format,
+	metadata_op_get_caps,
 	metadata_op_max
 };
 
@@ -607,6 +608,13 @@
 	uint32_t alpha;
 };
 
+struct mdss_hw_caps {
+	uint32_t mdp_rev;
+	uint8_t rgb_pipes;
+	uint8_t vig_pipes;
+	uint8_t dma_pipes;
+};
+
 struct msmfb_metadata {
 	uint32_t op;
 	uint32_t flags;
@@ -615,6 +623,7 @@
 		struct mdp_mixer_cfg mixer_cfg;
 		uint32_t panel_frame_rate;
 		uint32_t video_info_code;
+		struct mdss_hw_caps caps;
 	} data;
 };