diff options
author | Midas Chien <midaschieh@google.com> | 2022-01-27 14:31:14 +0800 |
---|---|---|
committer | Midas Chien <midaschieh@google.com> | 2022-02-15 18:49:31 +0800 |
commit | 91700d7c6e6cea728e3d8525745ddbf8a0517c98 (patch) | |
tree | ab49b4ec7ddbdb96e703e7e6cbdd791ed20cc6d4 /hwc3/impl/HalImpl.cpp | |
parent | 5e1092a20e899b269fb62bcd3f5d001ddbb37d37 (diff) |
libhwc2.1: support setIdleTimerEnabled
Implement setIdleTimerEnabled to control kernel idle timer via HWC API.
Bug: 198808492
Test: VTS (--gtest_filter=*SetIdleTimerEnabled_*)
Test: check idle_delay_ms from sysnode match what HWC set
Change-Id: Ia222101a4f0e440db3daf03cd798bf2e748259a5
Diffstat (limited to 'hwc3/impl/HalImpl.cpp')
-rw-r--r-- | hwc3/impl/HalImpl.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/hwc3/impl/HalImpl.cpp b/hwc3/impl/HalImpl.cpp index c999d50..e16aff9 100644 --- a/hwc3/impl/HalImpl.cpp +++ b/hwc3/impl/HalImpl.cpp @@ -939,12 +939,11 @@ int32_t HalImpl::setVsyncEnabled(int64_t display, bool enabled) { return halDisplay->setVsyncEnabled(hwcEnable); } -int32_t HalImpl::setIdleTimerEnabled(int64_t display, int32_t __unused timeout) { +int32_t HalImpl::setIdleTimerEnabled(int64_t display, int32_t timeout) { ExynosDisplay* halDisplay; RET_IF_ERR(getHalDisplay(display, halDisplay)); - // TODO(b/198808492): implement setIdleTimerEnabled - return HWC2_ERROR_UNSUPPORTED; + return halDisplay->setDisplayIdleTimer(timeout); } int32_t HalImpl::validateDisplay(int64_t display, std::vector<int64_t>* outChangedLayers, @@ -1014,4 +1013,11 @@ int32_t HalImpl::getRCDLayerSupport(int64_t display, bool& outSupport) { return halDisplay->getRCDLayerSupport(outSupport); } +int32_t HalImpl::getDisplayIdleTimerSupport(int64_t display, bool& outSupport) { + ExynosDisplay* halDisplay; + RET_IF_ERR(getHalDisplay(display, halDisplay)); + + return halDisplay->getDisplayIdleTimerSupport(outSupport); +} + } // namespace aidl::android::hardware::graphics::composer3::impl |