From 62223703e17b36ecaf07523459b90eb1d1800df5 Mon Sep 17 00:00:00 2001 From: Amara Venkata Mastan Manoj Kumar Date: Mon, 13 Aug 2012 17:46:08 -0700 Subject: [PATCH] hwcomposer: Handle MPQ WFD support 1. Code clean up to handle WFD feature Change-Id: I36170c3424f9250dc39c2c249a757d508b2abdfa --- libhwcomposer/hwc_external.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/libhwcomposer/hwc_external.cpp b/libhwcomposer/hwc_external.cpp index 54eb083..6676c99 100644 --- a/libhwcomposer/hwc_external.cpp +++ b/libhwcomposer/hwc_external.cpp @@ -415,7 +415,6 @@ bool ExternalDisplay::isHDMIConfigured() { bool configured = false; FILE *displayDeviceFP = NULL; char fbType[MAX_FRAME_BUFFER_NAME_SIZE]; - displayDeviceFP = fopen("/sys/class/graphics/fb1/msm_fb_type", "r"); if(displayDeviceFP) { @@ -433,15 +432,18 @@ void ExternalDisplay::processUEventOffline(const char *str) { const char *s1 = str + (strlen(str)-strlen(DEVICE_NODE_FB1)); // check if it is for FB1 if(strncmp(s1,DEVICE_NODE_FB1, strlen(DEVICE_NODE_FB1))== 0) { - enableHDMIVsync(EXTERN_DISPLAY_NONE); - closeFrameBuffer(); - resetInfo(); - setExternalDisplay(EXTERN_DISPLAY_NONE); + if(isHDMIConfigured()) { + enableHDMIVsync(EXTERN_DISPLAY_NONE); + closeFrameBuffer(); + resetInfo(); + } else { + closeFrameBuffer(); + } } else if(strncmp(s1, DEVICE_NODE_FB2, strlen(DEVICE_NODE_FB2)) == 0) { closeFrameBuffer(); - setExternalDisplay(EXTERN_DISPLAY_NONE); } + setExternalDisplay(EXTERN_DISPLAY_NONE); } @@ -456,11 +458,13 @@ void ExternalDisplay::processUEventOnline(const char *str) { closeFrameBuffer(); setExternalDisplay(EXTERN_DISPLAY_NONE); } + readResolution(); + //Get the best mode and set + setResolution(getBestMode()); + enableHDMIVsync(EXTERN_DISPLAY_FB1); + } else { + openFrameBuffer(EXTERN_DISPLAY_FB1); } - readResolution(); - //Get the best mode and set - setResolution(getBestMode()); - enableHDMIVsync(EXTERN_DISPLAY_FB1); setExternalDisplay(EXTERN_DISPLAY_FB1); } else if(strncmp(s1, DEVICE_NODE_FB2, strlen(DEVICE_NODE_FB2)) == 0) {