Revert "libhwc2.1: LHBM On Constraint"

This reverts commit 46ed0bcd8cdc7f31b1016ccc8f5861d0f660e07e.

Bug: 191426007
Reason for revert: regression issue LHBM not work

Change-Id: I5225b3db371fb551ad060b1a4dde30af429925bc
(cherry picked from commit 3cda218437a9f84017686078fb4327b3665e3914)
diff --git a/libhwc2.1/libdevice/ExynosDisplay.h b/libhwc2.1/libdevice/ExynosDisplay.h
index ae5fd30..98532ab 100644
--- a/libhwc2.1/libdevice/ExynosDisplay.h
+++ b/libhwc2.1/libdevice/ExynosDisplay.h
@@ -1163,9 +1163,6 @@
             mReqLhbm = on;
             mDevice->invalidate();
         }
-        void clearReqLhbm() { mReqLhbm = false; }
-        void setMinDisplayVsyncPeriod(uint32_t period) { mMinDisplayVsyncPeriod = period; }
-        uint32_t getMinDisplayVsyncPeriod(void) const { return mMinDisplayVsyncPeriod; }
 
     private:
         bool skipStaticLayerChanged(ExynosCompositionInfo& compositionInfo);
@@ -1192,9 +1189,6 @@
         // request lhbm state
         bool mReqLhbm = false;
 
-        // vsync period of max refresh rate
-        uint32_t mMinDisplayVsyncPeriod;
-
         /* Display hint to notify power hal */
         class PowerHalHintWorker : public Worker {
         public:
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
index b11f4f8..01b77af 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
+++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp
@@ -702,13 +702,6 @@
     // Dots per 1000 inches
     mExynosDisplay->mYdpi = mm_height ? (mDozeDrmMode.v_display() * kUmPerInch) / mm_height : -1;
 
-    // force to turn off lhbm
-    if (mBrightnessCtrl.LhbmOn.get() == true) {
-        mExynosDisplay->clearReqLhbm();
-        mExynosDisplay->updateBrightnessState();
-        mLhbmForceUpdated = true;
-    }
-
     return setActiveDrmMode(mDozeDrmMode);
 }
 
@@ -801,7 +794,6 @@
         /* key: (width<<32 | height) */
         std::map<uint64_t, uint32_t> groupIds;
         uint32_t groupId = 0;
-        uint32_t min_vsync_period = UINT_MAX;
 
         for (const DrmMode &mode : mDrmConnector->modes()) {
             displayConfigs_t configs;
@@ -821,14 +813,11 @@
             configs.Xdpi = mm_width ? (mode.h_display() * kUmPerInch) / mm_width : -1;
             // Dots per 1000 inches
             configs.Ydpi = mm_height ? (mode.v_display() * kUmPerInch) / mm_height : -1;
-            // find min vsync period
-            if (configs.vsyncPeriod <= min_vsync_period) min_vsync_period = configs.vsyncPeriod;
             mExynosDisplay->mDisplayConfigs.insert(std::make_pair(mode.id(), configs));
             ALOGD("config group(%d), w(%d), h(%d), vsync(%d), xdpi(%d), ydpi(%d)",
                     configs.groupId, configs.width, configs.height,
                     configs.vsyncPeriod, configs.Xdpi, configs.Ydpi);
         }
-        mExynosDisplay->setMinDisplayVsyncPeriod(min_vsync_period);
     }
 
     uint32_t num_modes = static_cast<uint32_t>(mDrmConnector->modes().size());
@@ -1047,18 +1036,6 @@
 
     DrmModeAtomicReq drmReq(this);
 
-    if (mLhbmForceUpdated) {
-        if (mBrightnessCtrl.LhbmOn.is_dirty()) {
-            if ((ret = drmReq.atomicAddProperty(mDrmConnector->id(), mDrmConnector->lhbm_on(),
-                                                mBrightnessCtrl.LhbmOn.get())) < 0) {
-                HWC_LOGE(mExynosDisplay, "%s: Fail to set lhbm_on property", __func__);
-            }
-            mBrightnessCtrl.LhbmOn.clear_dirty();
-            mExynosDisplay->notifyLhbmState(mBrightnessCtrl.LhbmOn.get());
-        }
-        mLhbmForceUpdated = false;
-    }
-
     if ((ret = setDisplayMode(drmReq, modeBlob)) != NO_ERROR) {
         drmReq.addOldBlob(modeBlob);
         HWC_LOGE(mExynosDisplay, "%s: Fail to apply display mode",
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.h b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.h
index 8356238..f1f85ea 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.h
+++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.h
@@ -483,7 +483,6 @@
         static constexpr int32_t kHbmDimmingTimeUs = 5000000;
 
         FramebufferManager mFBManager;
-        bool mLhbmForceUpdated = false;
 
         /*
          * BrightnessDimmingUsage:
diff --git a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp
index f911206..c69388c 100644
--- a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp
+++ b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.cpp
@@ -441,28 +441,7 @@
     return HWC2_ERROR_NONE;
 }
 
-bool ExynosPrimaryDisplay::isLhbmSwitchAvailable(bool enabled) {
-    Mutex::Autolock lock(mDisplayMutex);
-    if ((mPowerModeState != HWC2_POWER_MODE_ON) && enabled) {
-        ALOGW("skip LHBM, not ON state ");
-        return false;
-    }
-
-    if (mVsyncPeriod != getMinDisplayVsyncPeriod()) {
-        if (enabled) {
-            ALOGW("skip LHBM on, not max refresh rate");
-            return false;
-        }
-        ALOGW("calling setLhbmState in refresh rate=%d", mVsyncPeriod);
-    }
-    return true;
-}
-
 int32_t ExynosPrimaryDisplay::setLhbmState(bool enabled) {
-    if (mLhbmOn == enabled) return NO_ERROR;
-
-    if (!isLhbmSwitchAvailable(enabled)) return INVALID_OPERATION;
-
     requestLhbm(enabled);
     ALOGI("setLhbmState =%d", enabled);
 
diff --git a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.h b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.h
index f61b492..c49ae5e 100644
--- a/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.h
+++ b/libhwc2.1/libmaindisplay/ExynosPrimaryDisplay.h
@@ -85,7 +85,6 @@
                 "/sys/class/backlight/panel0-backlight/local_hbm_mode";
         std::mutex lhbm_mutex_;
         std::condition_variable lhbm_cond_;
-        bool isLhbmSwitchAvailable(bool enabled);
 
         FILE* mWakeupDispFd;
         static constexpr const char* kWakeupDispFilePath =
diff --git a/libhwc2.1/pixel-display.cpp b/libhwc2.1/pixel-display.cpp
index 617718d..b6d0eb3 100644
--- a/libhwc2.1/pixel-display.cpp
+++ b/libhwc2.1/pixel-display.cpp
@@ -122,8 +122,6 @@
             return ndk::ScopedAStatus::ok();
         else if (ret == TIMED_OUT)
             return ndk::ScopedAStatus::fromExceptionCode(STATUS_TIMED_OUT);
-        else if (ret == INVALID_OPERATION)
-            return ndk::ScopedAStatus::fromExceptionCode(STATUS_INVALID_OPERATION);
     }
     return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
 }