qdutils: Use HW revision from linux header if available
Currently HW revisions are maintained separately between kernel and
user-space. To optimize this there will be single place, exported
msm_mdp.h, where HW revisions will be maintained.
Change-Id: I815eb9bd32f17928356e58a38260cee69b019a8b
diff --git a/libqdutils/mdp_version.cpp b/libqdutils/mdp_version.cpp
index 525010d..d372785 100644
--- a/libqdutils/mdp_version.cpp
+++ b/libqdutils/mdp_version.cpp
@@ -37,6 +37,25 @@
#define TOKEN_PARAMS_DELIM "="
+#ifndef MDSS_MDP_REV
+enum mdp_rev {
+ MDSS_MDP_HW_REV_100 = 0x10000000, //8974 v1
+ MDSS_MDP_HW_REV_101 = 0x10010000, //8x26
+ MDSS_MDP_HW_REV_102 = 0x10020000, //8974 v2
+ MDSS_MDP_HW_REV_103 = 0x10030000, //8084
+ MDSS_MDP_HW_REV_104 = 0x10040000, //Next version
+ MDSS_MDP_HW_REV_105 = 0x10050000, //Next version
+ MDSS_MDP_HW_REV_107 = 0x10070000, //Next version
+ MDSS_MDP_HW_REV_200 = 0x20000000, //8092
+ MDSS_MDP_HW_REV_206 = 0x20060000, //Future
+};
+#else
+enum mdp_rev {
+ MDSS_MDP_HW_REV_104 = 0x10040000, //Next version
+ MDSS_MDP_HW_REV_206 = 0x20060000, //Future
+};
+#endif
+
MDPVersion::MDPVersion()
{
mMDPVersion = MDSS_V5;
@@ -263,5 +282,25 @@
return mMacroTileEnabled;
}
+bool MDPVersion::is8x26() {
+ return (mMdpRev >= MDSS_MDP_HW_REV_101 and
+ mMdpRev < MDSS_MDP_HW_REV_102);
+}
+
+bool MDPVersion::is8x74v2() {
+ return (mMdpRev >= MDSS_MDP_HW_REV_102 and
+ mMdpRev < MDSS_MDP_HW_REV_103);
+}
+
+bool MDPVersion::is8084() {
+ return (mMdpRev >= MDSS_MDP_HW_REV_103 and
+ mMdpRev < MDSS_MDP_HW_REV_104);
+}
+
+bool MDPVersion::is8092() {
+ return (mMdpRev >= MDSS_MDP_HW_REV_200 and
+ mMdpRev < MDSS_MDP_HW_REV_206);
+}
+
}; //namespace qdutils