diff options
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp')
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp index 7ebd1a0..15a0287 100644 --- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp +++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp @@ -630,6 +630,7 @@ int32_t ExynosDisplayDrmInterface::setPowerMode(int32_t mode) mBrightnessState.reset(); mBrightnessCtrl.reset(); mExynosDisplay->requestLhbm(false); + mExynosDisplay->notifyLhbmState(mBrightnessCtrl.LhbmOn.get()); } return ret; } @@ -1424,7 +1425,6 @@ int32_t ExynosDisplayDrmInterface::deliverWinConfigData() mBrightnessCtrl.LhbmOn.get())) < 0) { HWC_LOGE(mExynosDisplay, "%s: Fail to set lhbm_on property", __func__); } - mBrightnessCtrl.LhbmOn.clear_dirty(); // sync mipi command and frame when lhbm on/off mipi_sync = true; @@ -1519,6 +1519,10 @@ int32_t ExynosDisplayDrmInterface::deliverWinConfigData() " in deliverWinConfigData()\n", __func__, ret); return ret; } + if (mipi_sync_action == brightnessState_t::MIPI_SYNC_LHBM_ON || + mipi_sync_action == brightnessState_t::MIPI_SYNC_LHBM_OFF) { + mExynosDisplay->notifyLhbmState(mBrightnessCtrl.LhbmOn.get()); + } } mExynosDisplay->mDpuData.retire_fence = (int)out_fences[mDrmCrtc->pipe()]; |