summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoenchen <joenchen@google.com>2021-11-17 07:57:25 +0000
committerJoen Chen <joenchen@google.com>2021-12-04 16:05:45 +0000
commit88f9ab216c3858cf39ebd62f0a7d4acb18b01494 (patch)
tree7c0786b0d606f4b655f1464e277ffee7a91275ef
parentaee45f7ee16293dc28d0d094a6ef249c8d97eb5b (diff)
downloadinterfaces-88f9ab216c3858cf39ebd62f0a7d4acb18b01494.tar.gz
Update pixel-display V4 interface
Added the interface for refresh rate change Bug: 202567084 Test: build pass Change-Id: I5d6fc80b5a829233f10430933a7f00ec4057a8a4
-rw-r--r--display/Android.bp1
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/4/.hash1
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/4/com/google/hardware/pixel/display/HbmState.aidl40
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/4/com/google/hardware/pixel/display/IDisplay.aidl50
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/4/com/google/hardware/pixel/display/LbeState.aidl41
-rw-r--r--display/aidl_api/com.google.hardware.pixel.display/current/com/google/hardware/pixel/display/IDisplay.aidl2
-rw-r--r--display/com/google/hardware/pixel/display/IDisplay.aidl22
7 files changed, 157 insertions, 0 deletions
diff --git a/display/Android.bp b/display/Android.bp
index 0b8c136..828b2d8 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);
}