summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy DeHaan <jdehaan@google.com>2022-06-01 21:52:23 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-06-01 21:52:23 +0000
commit2d39c5e97b9505e26aa08da4e9d668614784aa94 (patch)
tree711448551749970b13ba03d070888be943bc66ae
parent91581ae03f912ee2f0b3d3960538df9da8750b70 (diff)
parented218303e50b40610cfcf8af21cd83cfec117269 (diff)
downloadgs101-2d39c5e97b9505e26aa08da4e9d668614784aa94.tar.gz
libhwc2.1: determine panel calibration status am: e8ad90586d am: ed218303e5
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/google/graphics/gs101/+/18606872 Change-Id: I1ebdd6eb1866616c3d6ad74e2673a82b3a9a3d77 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp18
-rw-r--r--libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.h2
2 files changed, 20 insertions, 0 deletions
diff --git a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp
index 03b4fe7..a7ae2c3 100644
--- a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp
+++ b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.cpp
@@ -1066,6 +1066,24 @@ LbeState ExynosPrimaryDisplayModule::getLbeState() {
return mCurrentLbeState;
}
+PanelCalibrationStatus ExynosPrimaryDisplayModule::getPanelCalibrationStatus() {
+ auto displayColorInterface = getDisplayColorInterface();
+ if (displayColorInterface == nullptr) {
+ return PanelCalibrationStatus::UNCALIBRATED;
+ }
+
+ auto displayType = getBuiltInDisplayType();
+ auto calibrationInfo = displayColorInterface->GetCalibrationInfo(displayType);
+
+ if (calibrationInfo.factory_cal_loaded) {
+ return PanelCalibrationStatus::ORIGINAL;
+ } else if (calibrationInfo.golden_cal_loaded) {
+ return PanelCalibrationStatus::GOLDEN;
+ } else {
+ return PanelCalibrationStatus::UNCALIBRATED;
+ }
+}
+
int32_t ExynosPrimaryDisplayModule::setAtcStDimming(uint32_t value) {
Mutex::Autolock lock(mAtcStMutex);
int32_t strength = mAtcStrength.value.get();
diff --git a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.h b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.h
index 8489f28..ada69f6 100644
--- a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.h
+++ b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplayModule.h
@@ -134,6 +134,8 @@ class ExynosPrimaryDisplayModule : public ExynosPrimaryDisplay {
virtual void setLbeAmbientLight(int value);
virtual LbeState getLbeState();
+ virtual PanelCalibrationStatus getPanelCalibrationStatus();
+
class DisplaySceneInfo {
public:
struct LayerMappingInfo {