platform: msm_shared: config QOS remapper based on MDP revision

Configure QOS remapper register based on MDP revision like
it is present in display driver in kernel.

Change-Id: I7b984795919ccea1de82987933c2263f8e2be6c5
diff --git a/platform/msm_shared/mdp5.c b/platform/msm_shared/mdp5.c
index 283eee7..255f254 100644
--- a/platform/msm_shared/mdp5.c
+++ b/platform/msm_shared/mdp5.c
@@ -343,6 +343,27 @@
 	}
 }
 
+void mdss_qos_remapper_setup(void)
+{
+	uint32_t mdp_hw_rev = readl(MDP_HW_REV);
+	uint32_t map;
+
+	if (MDSS_IS_MAJOR_MINOR_MATCHING(mdp_hw_rev, MDSS_MDP_HW_REV_100) ||
+		MDSS_IS_MAJOR_MINOR_MATCHING(mdp_hw_rev,
+						MDSS_MDP_HW_REV_102))
+		map = 0xE9;
+	else if (MDSS_IS_MAJOR_MINOR_MATCHING(mdp_hw_rev,
+						MDSS_MDP_HW_REV_101))
+		map = 0xA5;
+	else if (MDSS_IS_MAJOR_MINOR_MATCHING(mdp_hw_rev,
+						MDSS_MDP_HW_REV_103))
+		map = 0xFA;
+	else
+		return;
+
+	writel(map, MDP_QOS_REMAPPER_CLASS_0);
+}
+
 int mdp_dsi_video_config(struct msm_panel_info *pinfo,
 		struct fbcon_config *fb)
 {
@@ -360,7 +381,7 @@
 	mdss_vbif_setup();
 	mdss_smp_setup(pinfo);
 
-	writel(0x0E9, MDP_QOS_REMAPPER_CLASS_0);
+	mdss_qos_remapper_setup();
 
 	mdss_rgb_pipe_config(fb, pinfo, MDP_VP_0_RGB_0_BASE);
 	if (pinfo->lcdc.dual_pipe)
@@ -396,7 +417,7 @@
 	mdss_vbif_setup();
 	mdss_smp_setup(pinfo);
 
-	writel(0x0E9, MDP_QOS_REMAPPER_CLASS_0);
+	mdss_qos_remapper_setup();
 
 	mdss_rgb_pipe_config(fb, pinfo, MDP_VP_0_RGB_0_BASE);
 	if (pinfo->lcdc.dual_pipe)
@@ -442,6 +463,8 @@
 
 	mdss_vbif_setup();
 	mdss_smp_setup(pinfo);
+	mdss_qos_remapper_setup();
+
 	mdss_rgb_pipe_config(fb, pinfo, MDP_VP_0_RGB_0_BASE);
 
 	mdss_layer_mixer_setup(fb, pinfo);