display: Get panel type from framebuffer
Change-Id: I3b7cb78d7c6019482ae698b30d553ca782f5022b
diff --git a/libqdutils/mdp_version.cpp b/libqdutils/mdp_version.cpp
index 25f1142..78ca52f 100644
--- a/libqdutils/mdp_version.cpp
+++ b/libqdutils/mdp_version.cpp
@@ -34,10 +34,11 @@
ANDROID_SINGLETON_STATIC_INSTANCE(qdutils::MDPVersion);
namespace qdutils {
-static int getMDPVersionFromFB()
+MDPVersion::MDPVersion()
{
int fb_fd = open("/dev/graphics/fb0", O_RDWR);
int mdp_version = MDP_V_UNKNOWN;
+ char panel_type = 0;
struct fb_fix_screeninfo fb_finfo;
if (ioctl(fb_fd, FBIOGET_FSCREENINFO, &fb_finfo) < 0) {
ALOGE("FBIOGET_FSCREENINFO failed");
@@ -61,18 +62,18 @@
} else {
mdp_version = MDP_V_UNKNOWN;
}
+ int len = strlen("msmfbXX_");
+ if (mdp_version == MDP_V3_0_3)
+ len++;
+ panel_type = fb_finfo.id[len];
+
}
close(fb_fd);
- return mdp_version;
-}
-
-MDPVersion::MDPVersion()
-{
- mMDPVersion = getMDPVersionFromFB();
+ mMDPVersion = mdp_version;
+ mHasOverlay = false;
if((mMDPVersion >= MDP_V4_0) || (mMDPVersion == MDP_V_UNKNOWN))
mHasOverlay = true;
- else
- mHasOverlay = false;
+ mPanelType = panel_type;
}
}; //namespace qdutils