diff options
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp')
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp index 9d5f1c1..8190e3c 100644 --- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp +++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp @@ -440,21 +440,32 @@ uint32_t ExynosDisplayDrmInterfaceModule::SaveBlob::getBlob(uint32_t type) void ExynosDisplayDrmInterfaceModule::getDisplayInfo( std::vector<displaycolor::DisplayInfo> &display_info) { - displaycolor::DisplayInfo primary_display; - - primary_display.brightness_ranges = - mExynosDisplay->mBrightnessController->getBrightnessRanges(); - primary_display.panel_name = GetPanelName(); - primary_display.panel_serial = GetPanelSerial(); + displaycolor::DisplayInfo disp_info; + + if (mExynosDisplay->mType == HWC_DISPLAY_PRIMARY) { + disp_info.brightness_ranges = mExynosDisplay->mBrightnessController->getBrightnessRanges(); + disp_info.panel_name = GetPanelName(); + disp_info.panel_serial = GetPanelSerial(); + if (mExynosDisplay->mIndex == 0) + disp_info.display_type = DisplayType::DISPLAY_PRIMARY; + else + disp_info.display_type = DisplayType::DISPLAY_SECONDARY; + } else if (mExynosDisplay->mType == HWC_DISPLAY_EXTERNAL) { + disp_info.display_type = DisplayType::DISPLAY_EXTERNAL; + disp_info.panel_name = "external_display"; + disp_info.panel_serial = "0001"; + } else { + ALOGE("Unsupported display type (%d) in getDisplayInfo!", mExynosDisplay->mType); + return; + } - display_info.push_back(primary_display); + display_info.push_back(disp_info); } const std::string ExynosDisplayDrmInterfaceModule::GetPanelInfo(const std::string &sysfs_rel, char delim) { ExynosPrimaryDisplayModule* display = (ExynosPrimaryDisplayModule*)mExynosDisplay; - const DisplayType type = display->getBuiltInDisplayType(); - const std::string &sysfs = display->getPanelSysfsPath(type); + const std::string& sysfs = display->getPanelSysfsPath(); if (sysfs.empty()) { return ""; |