diff options
author | joenchen <joenchen@google.com> | 2021-11-17 07:57:25 +0000 |
---|---|---|
committer | joenchen <joenchen@google.com> | 2021-12-06 02:44:19 +0000 |
commit | e9fd9d77739aedee4e967d446828e30a65d59163 (patch) | |
tree | ba4728f2da895edec01466b8ab9a0c1c6f61d2d2 | |
parent | e856d28eed1f92dbeed3029137523d9108ab5101 (diff) | |
download | interfaces-android12-qpr3-s7-release.tar.gz |
Update pixel-display V4 interfaceandroid-12.1.0_r9android-12.1.0_r8android-12.1.0_r7android-12.1.0_r22android-12.1.0_r21android-12.1.0_r20android-12.1.0_r19android-12.1.0_r11android-12.1.0_r10android12L-devandroid12-qpr3-s7-releaseandroid12-qpr3-s6-releaseandroid12-qpr3-s5-releaseandroid12-qpr3-s4-releaseandroid12-qpr3-s3-releaseandroid12-qpr3-s2-releaseandroid12-qpr3-s1-releaseandroid12-qpr3-release
Added the interface for refresh rate change
Bug: 202567084
Test: build pass
Change-Id: I5d6fc80b5a829233f10430933a7f00ec4057a8a4
Merged-In: I5d6fc80b5a829233f10430933a7f00ec4057a8a4
7 files changed, 157 insertions, 0 deletions
diff --git a/display/Android.bp b/display/Android.bp index 5b63f65..f17d78e 100644 --- a/display/Android.bp +++ b/display/Android.bp @@ -32,5 +32,6 @@ aidl_interface { "1", "2", "3", + "4", ], } diff --git a/display/aidl_api/com.google.hardware.pixel.display/4/.hash b/display/aidl_api/com.google.hardware.pixel.display/4/.hash new file mode 100644 index 0000000..040c45e --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/4/.hash @@ -0,0 +1 @@ +83dc0187b6f66edcb32fc4f31a13b01baadee097 diff --git a/display/aidl_api/com.google.hardware.pixel.display/4/com/google/hardware/pixel/display/HbmState.aidl b/display/aidl_api/com.google.hardware.pixel.display/4/com/google/hardware/pixel/display/HbmState.aidl new file mode 100644 index 0000000..76af8b3 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/4/com/google/hardware/pixel/display/HbmState.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum HbmState { + OFF = 0, + HDR = 1, + SUNLIGHT = 2, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/4/com/google/hardware/pixel/display/IDisplay.aidl b/display/aidl_api/com.google.hardware.pixel.display/4/com/google/hardware/pixel/display/IDisplay.aidl new file mode 100644 index 0000000..6192e85 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/4/com/google/hardware/pixel/display/IDisplay.aidl @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@VintfStability +interface IDisplay { + boolean isHbmSupported(); + void setHbmState(in com.google.hardware.pixel.display.HbmState state); + com.google.hardware.pixel.display.HbmState getHbmState(); + boolean isLbeSupported(); + void setLbeState(in com.google.hardware.pixel.display.LbeState state); + void setLbeAmbientLight(in int ambientLux); + com.google.hardware.pixel.display.LbeState getLbeState(); + boolean isLhbmSupported(); + void setLhbmState(in boolean enabled); + boolean getLhbmState(); + int setCompensationImageHandle(in android.hardware.common.NativeHandle native_handle, in String imageName); + int setMinIdleRefreshRate(in int fps); + int setRefreshRateThrottle(in int delayMs); +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/4/com/google/hardware/pixel/display/LbeState.aidl b/display/aidl_api/com.google.hardware.pixel.display/4/com/google/hardware/pixel/display/LbeState.aidl new file mode 100644 index 0000000..6ad7fb7 --- /dev/null +++ b/display/aidl_api/com.google.hardware.pixel.display/4/com/google/hardware/pixel/display/LbeState.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m <name>-update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package com.google.hardware.pixel.display; +@Backing(type="byte") @VintfStability +enum LbeState { + OFF = 0, + NORMAL = 1, + HIGH_BRIGHTNESS = 2, + POWER_SAVE = 3, +} diff --git a/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/IDisplay.aidl b/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/IDisplay.aidl index a4e0b06..6192e85 100644 --- a/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/IDisplay.aidl +++ b/display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/IDisplay.aidl @@ -45,4 +45,6 @@ interface IDisplay { void setLhbmState(in boolean enabled); boolean getLhbmState(); int setCompensationImageHandle(in android.hardware.common.NativeHandle native_handle, in String imageName); + int setMinIdleRefreshRate(in int fps); + int setRefreshRateThrottle(in int delayMs); } diff --git a/display/com/google/hardware/pixel/display/IDisplay.aidl b/display/com/google/hardware/pixel/display/IDisplay.aidl index bb7ca4b..e06db5c 100644 --- a/display/com/google/hardware/pixel/display/IDisplay.aidl +++ b/display/com/google/hardware/pixel/display/IDisplay.aidl @@ -105,4 +105,26 @@ interface IDisplay { * @return errno of setCompensationImageHandle */ int setCompensationImageHandle(in NativeHandle native_handle, in String imageName); + + /** + * Limit minimum idle display refresh rate. This is only relevant for displays + * that can idle to a lower refresh rate than what is set by the platform. That is, + * this API only controls kernel driver or panel self-driven refresh rate updates + * it does not enforce the platform selected refresh rate (via setActiveConfig). + * + * @param fps The lowest refresh rate allowed. Setting to -1 means display + * should not switch to lower refresh rate while idle. + * @return errno if there was a problem with the request, zero if successful + */ + int setMinIdleRefreshRate(in int fps); + + /** + * Throttle refresh rate switching such that switches don't happen earlier + * than the provided delay in milliseconds + * + * @param delayMs Amount of time in milliseconds to wait before switching to + * a new refresh rate + * @return errno if there was a problem with the request, zero if successful + */ + int setRefreshRateThrottle(in int delayMs); } |