diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-12-28 00:07:24 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-12-28 00:07:24 +0000 |
commit | 4b436ee00d71dcdd8ddeb1ad20161d0759ab8c1a (patch) | |
tree | 37abf45d4a91937053929df5b1198b31b06817a0 | |
parent | 049ecca90d598e5913a50363f830e1802752ca5a (diff) | |
parent | b1aae324ee115b741d53807ae9df8a4b224f4370 (diff) | |
download | common-android12L-d2-s2-release.tar.gz |
Snap for 8031678 from b1aae324ee115b741d53807ae9df8a4b224f4370 to sc-d2-releaseandroid-12.1.0_r26android-12.1.0_r25android-12.1.0_r24android-12.1.0_r23android-12.1.0_r18android-12.1.0_r17android-12.1.0_r16android-12.1.0_r15android-12.1.0_r14android-12.1.0_r13android-12.1.0_r12android12L-d2-s8-releaseandroid12L-d2-s7-releaseandroid12L-d2-s6-releaseandroid12L-d2-s5-releaseandroid12L-d2-s4-releaseandroid12L-d2-s3-releaseandroid12L-d2-s2-releaseandroid12L-d2-s1-releaseandroid12L-d2-release
Change-Id: I5bf2c053a785c676ba574b6db0218e2f58581221
-rw-r--r-- | libhwc2.1/libdevice/ExynosDisplay.cpp | 15 | ||||
-rw-r--r-- | libhwc2.1/libdevice/ExynosDisplay.h | 2 | ||||
-rw-r--r-- | libhwc2.1/libdrmresource/drm/drmeventlistener.cpp | 4 | ||||
-rw-r--r-- | libhwc2.1/libdrmresource/drm/vsyncworker.cpp | 1 | ||||
-rw-r--r-- | libhwc2.1/libdrmresource/include/drmeventlistener.h | 3 | ||||
-rw-r--r-- | libhwc2.1/libdrmresource/utils/worker.cpp | 1 |
6 files changed, 20 insertions, 6 deletions
diff --git a/libhwc2.1/libdevice/ExynosDisplay.cpp b/libhwc2.1/libdevice/ExynosDisplay.cpp index 0144137..7aa6a47 100644 --- a/libhwc2.1/libdevice/ExynosDisplay.cpp +++ b/libhwc2.1/libdevice/ExynosDisplay.cpp @@ -68,8 +68,14 @@ ExynosDisplay::PowerHalHintWorker::PowerHalHintWorker() mPowerModeState(HWC2_POWER_MODE_OFF), mVsyncPeriod(16666666), mPowerHalExtAidl(nullptr), - mDeathRecipient(AIBinder_DeathRecipient_new(BinderDiedCallback)) { - InitWorker(); + mDeathRecipient(AIBinder_DeathRecipient_new(BinderDiedCallback)) {} + +ExynosDisplay::PowerHalHintWorker::~PowerHalHintWorker() { + Exit(); +} + +int ExynosDisplay::PowerHalHintWorker::Init() { + return InitWorker(); } void ExynosDisplay::PowerHalHintWorker::BinderDiedCallback(void *cookie) { @@ -343,7 +349,8 @@ bool ExynosDisplay::PowerHalHintWorker::needUpdateIdleHintLocked(int64_t &timeou } int64_t currentTime = systemTime(SYSTEM_TIME_MONOTONIC); - bool shouldEnableIdleHint = (mIdleHintDeadlineTime < currentTime); + bool shouldEnableIdleHint = + (mIdleHintDeadlineTime < currentTime) && CC_LIKELY(mIdleHintDeadlineTime > 0); if (mIdleHintIsEnabled != shouldEnableIdleHint || mForceUpdateIdleHint) { return true; } @@ -693,6 +700,8 @@ ExynosDisplay::ExynosDisplay(uint32_t index, ExynosDevice *device) mLowFpsLayerInfo.initializeInfos(); + mPowerHalHint.Init(); + mUseDpu = true; mBrightnessState.reset(); diff --git a/libhwc2.1/libdevice/ExynosDisplay.h b/libhwc2.1/libdevice/ExynosDisplay.h index 129802b..90bbb76 100644 --- a/libhwc2.1/libdevice/ExynosDisplay.h +++ b/libhwc2.1/libdevice/ExynosDisplay.h @@ -1205,6 +1205,8 @@ class ExynosDisplay { class PowerHalHintWorker : public Worker { public: PowerHalHintWorker(); + virtual ~PowerHalHintWorker(); + int Init(); void signalRefreshRate(hwc2_power_mode_t powerMode, uint32_t vsyncPeriod); void signalIdle(); diff --git a/libhwc2.1/libdrmresource/drm/drmeventlistener.cpp b/libhwc2.1/libdrmresource/drm/drmeventlistener.cpp index 20193ab..d847c2b 100644 --- a/libhwc2.1/libdrmresource/drm/drmeventlistener.cpp +++ b/libhwc2.1/libdrmresource/drm/drmeventlistener.cpp @@ -36,6 +36,10 @@ DrmEventListener::DrmEventListener(DrmDevice *drm) : Worker("drm-event-listener", HAL_PRIORITY_URGENT_DISPLAY), drm_(drm) { } +DrmEventListener::~DrmEventListener() { + Exit(); +} + int DrmEventListener::Init() { struct epoll_event ev; char buffer[1024]; diff --git a/libhwc2.1/libdrmresource/drm/vsyncworker.cpp b/libhwc2.1/libdrmresource/drm/vsyncworker.cpp index 97dc0dd..d2b4a02 100644 --- a/libhwc2.1/libdrmresource/drm/vsyncworker.cpp +++ b/libhwc2.1/libdrmresource/drm/vsyncworker.cpp @@ -49,6 +49,7 @@ VSyncWorker::VSyncWorker() } VSyncWorker::~VSyncWorker() { + Exit(); } int VSyncWorker::Init(DrmDevice *drm, int display) { diff --git a/libhwc2.1/libdrmresource/include/drmeventlistener.h b/libhwc2.1/libdrmresource/include/drmeventlistener.h index 541d074..dbecadb 100644 --- a/libhwc2.1/libdrmresource/include/drmeventlistener.h +++ b/libhwc2.1/libdrmresource/include/drmeventlistener.h @@ -51,8 +51,7 @@ class DrmEventListener : public Worker { static const uint32_t maxFds = 3; public: DrmEventListener(DrmDevice *drm); - virtual ~DrmEventListener() { - } + virtual ~DrmEventListener(); int Init(); diff --git a/libhwc2.1/libdrmresource/utils/worker.cpp b/libhwc2.1/libdrmresource/utils/worker.cpp index 3b24312..4dbd0d9 100644 --- a/libhwc2.1/libdrmresource/utils/worker.cpp +++ b/libhwc2.1/libdrmresource/utils/worker.cpp @@ -26,7 +26,6 @@ Worker::Worker(const char *name, int priority, bool is_rt) } Worker::~Worker() { - Exit(); } int Worker::InitWorker() { |