summaryrefslogtreecommitdiff
path: root/hwc3/impl/HalImpl.cpp
diff options
context:
space:
mode:
authorMidas Chien <midaschieh@google.com>2022-01-27 14:31:14 +0800
committerMidas Chien <midaschieh@google.com>2022-02-15 18:49:31 +0800
commit91700d7c6e6cea728e3d8525745ddbf8a0517c98 (patch)
treeab49b4ec7ddbdb96e703e7e6cbdd791ed20cc6d4 /hwc3/impl/HalImpl.cpp
parent5e1092a20e899b269fb62bcd3f5d001ddbb37d37 (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.cpp12
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