summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp')
-rw-r--r--libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp29
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 "";