summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevanshi Bansal <quic_devanshi@quicinc.com>2023-07-29 02:37:02 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2023-07-30 09:25:50 -0700
commit88631dba8dce45d702e7271619a65078cc91defc (patch)
treee137f956891c30093ae3655f25533cfef4ef557a
parent50fc9eab8188d1c45eba7bccbf2155afdb5f72c3 (diff)
aidl: add API for CAC V2 configuration with panel/lens' mid offsets
Change-Id: Ida5ff795baf1d0494251436683a6abb1a1394c8f
-rw-r--r--aidl/config/Android.bp4
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/.hash1
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/Attributes.aidl57
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/CacV2Config.aidl32
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/CacV2ConfigExt.aidl34
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/CameraSmoothOp.aidl52
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/Concurrency.aidl56
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/DisplayPortType.aidl58
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/DisplayType.aidl55
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/DynRefreshRateOp.aidl54
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/ExternalStatus.aidl55
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/HDRCapsParams.aidl53
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/IDisplayConfig.aidl113
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/IDisplayConfigCallback.aidl91
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/PowerMode.aidl54
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/QsyncMode.aidl54
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/Rect.aidl54
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/TUIEventType.aidl54
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/current/vendor/qti/hardware/display/config/CacV2ConfigExt.aidl34
-rw-r--r--aidl/config/aidl_api/vendor.qti.hardware.display.config/current/vendor/qti/hardware/display/config/IDisplayConfig.aidl1
-rw-r--r--aidl/config/vendor/qti/hardware/display/config/CacV2ConfigExt.aidl18
-rw-r--r--aidl/config/vendor/qti/hardware/display/config/IDisplayConfig.aidl14
22 files changed, 998 insertions, 0 deletions
diff --git a/aidl/config/Android.bp b/aidl/config/Android.bp
index 5b06e034..a5664a37 100644
--- a/aidl/config/Android.bp
+++ b/aidl/config/Android.bp
@@ -55,6 +55,10 @@ aidl_interface {
version: "9",
imports: ["android.hardware.common-V2"],
},
+ {
+ version: "10",
+ imports: ["android.hardware.common-V2"],
+ },
],
frozen: true,
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/.hash b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/.hash
new file mode 100644
index 00000000..c75ed1d7
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/.hash
@@ -0,0 +1 @@
+84ac06c4db98568a4be48bc624e55f22d368b5de
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/Attributes.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/Attributes.aidl
new file mode 100644
index 00000000..d21e8e88
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/Attributes.aidl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@VintfStability
+parcelable Attributes {
+ int vsyncPeriod;
+ int xRes;
+ int yRes;
+ float xDpi;
+ float yDpi;
+ vendor.qti.hardware.display.config.DisplayPortType panelType;
+ boolean isYuv;
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/CacV2Config.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/CacV2Config.aidl
new file mode 100644
index 00000000..ba00f905
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/CacV2Config.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@VintfStability
+parcelable CacV2Config {
+ double k0r;
+ double k1r;
+ double k0b;
+ double k1b;
+ double pixel_pitch;
+ double normalization;
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/CacV2ConfigExt.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/CacV2ConfigExt.aidl
new file mode 100644
index 00000000..9532344c
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/CacV2ConfigExt.aidl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@VintfStability
+parcelable CacV2ConfigExt {
+ double redCenterPhaseStep;
+ double redSecondOrderPhaseStep;
+ double blueCenterPhaseStep;
+ double blueSecondOrderPhaseStep;
+ double pixelPitch;
+ double normalization;
+ int verticalCenter;
+ int horizontalCenter;
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/CameraSmoothOp.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/CameraSmoothOp.aidl
new file mode 100644
index 00000000..685f78cc
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/CameraSmoothOp.aidl
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@Backing(type="int") @VintfStability
+enum CameraSmoothOp {
+ OFF = 0,
+ ON = 1,
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/Concurrency.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/Concurrency.aidl
new file mode 100644
index 00000000..fe1b8742
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/Concurrency.aidl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@Backing(type="int") @VintfStability
+enum Concurrency {
+ NONE = 0,
+ WFD = 1,
+ DP = 2,
+ DUAL = 3,
+ CWB = 4,
+ CAMERA = 5,
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/DisplayPortType.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/DisplayPortType.aidl
new file mode 100644
index 00000000..3fdba188
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/DisplayPortType.aidl
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@Backing(type="int") @VintfStability
+enum DisplayPortType {
+ INVALID = 0,
+ DEFAULT = 1,
+ DSI = 2,
+ DTV = 3,
+ WRITEBACK = 4,
+ LVDS = 5,
+ EDP = 6,
+ DP = 7,
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/DisplayType.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/DisplayType.aidl
new file mode 100644
index 00000000..f9f54a6e
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/DisplayType.aidl
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@Backing(type="int") @VintfStability
+enum DisplayType {
+ INVALID = 0,
+ PRIMARY = 1,
+ EXTERNAL = 2,
+ VIRTUAL = 3,
+ BUILTIN2 = 4,
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/DynRefreshRateOp.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/DynRefreshRateOp.aidl
new file mode 100644
index 00000000..8b73c1b9
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/DynRefreshRateOp.aidl
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@Backing(type="int") @VintfStability
+enum DynRefreshRateOp {
+ INVALID = 0,
+ DISABLE_METADATA = 1,
+ ENABLE_METADATA = 2,
+ SET_BINDER = 3,
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/ExternalStatus.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/ExternalStatus.aidl
new file mode 100644
index 00000000..b8f4ba5d
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/ExternalStatus.aidl
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@Backing(type="int") @VintfStability
+enum ExternalStatus {
+ INVALID = 0,
+ OFFLINE = 1,
+ ONLINE = 2,
+ PAUSE = 3,
+ RESUME = 4,
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/HDRCapsParams.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/HDRCapsParams.aidl
new file mode 100644
index 00000000..d0f95c0c
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/HDRCapsParams.aidl
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@VintfStability
+parcelable HDRCapsParams {
+ int[] supportedHdrTypes;
+ float maxAvgLuminance;
+ float minLuminance;
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/IDisplayConfig.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/IDisplayConfig.aidl
new file mode 100644
index 00000000..1ae21caf
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/IDisplayConfig.aidl
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *//*
+ * Changes from Qualcomm Innovation Center are provided under the following license:
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@VintfStability
+interface IDisplayConfig {
+ boolean isDisplayConnected(in vendor.qti.hardware.display.config.DisplayType dpy);
+ void setDisplayStatus(in vendor.qti.hardware.display.config.DisplayType dpy, in vendor.qti.hardware.display.config.ExternalStatus status);
+ void configureDynRefreshRate(in vendor.qti.hardware.display.config.DynRefreshRateOp op, in int refrestRate);
+ int getConfigCount(in vendor.qti.hardware.display.config.DisplayType dpy);
+ int getActiveConfig(in vendor.qti.hardware.display.config.DisplayType dpy);
+ void setActiveConfig(in vendor.qti.hardware.display.config.DisplayType dpy, in int config);
+ vendor.qti.hardware.display.config.Attributes getDisplayAttributes(in int configIndex, in vendor.qti.hardware.display.config.DisplayType dpy);
+ void setPanelBrightness(in int level);
+ int getPanelBrightness();
+ void minHdcpEncryptionLevelChanged(in vendor.qti.hardware.display.config.DisplayType dpy, in int minEncLevel);
+ void refreshScreen();
+ void controlPartialUpdate(in vendor.qti.hardware.display.config.DisplayType dpy, in boolean enable);
+ void toggleScreenUpdate(in boolean on);
+ void setIdleTimeout(in int value);
+ vendor.qti.hardware.display.config.HDRCapsParams getHDRCapabilities(in vendor.qti.hardware.display.config.DisplayType dpy);
+ void setCameraLaunchStatus(in int on);
+ boolean displayBWTransactionPending();
+ void setDisplayAnimating(in long displayId, in boolean animating);
+ void controlIdlePowerCollapse(in boolean enable, in boolean synchronous);
+ boolean getWriteBackCapabilities();
+ void setDisplayDppsAdROI(in int displayId, in int hStart, in int hEnd, in int vStart, in int vEnd, in int factorIn, in int factorOut);
+ void updateVSyncSourceOnPowerModeOff();
+ void updateVSyncSourceOnPowerModeDoze();
+ void setPowerMode(in int dispId, in vendor.qti.hardware.display.config.PowerMode powerMode);
+ boolean isPowerModeOverrideSupported(in int dispId);
+ boolean isHDRSupported(in int dispId);
+ boolean isWCGSupported(in int dispId);
+ void setLayerAsMask(in int dispId, in long layerId);
+ String getDebugProperty(in String propName);
+ vendor.qti.hardware.display.config.Attributes getActiveBuiltinDisplayAttributes();
+ void setPanelLuminanceAttributes(in int dispId, in float minLum, in float maxLum);
+ boolean isBuiltInDisplay(in int dispId);
+ boolean isAsyncVDSCreationSupported();
+ void createVirtualDisplay(in int width, in int height, in int format);
+ long[] getSupportedDSIBitClks(in int dispId);
+ long getDSIClk(in int dispId);
+ void setDSIClk(in int dispId, in long bitClk);
+ void setCWBOutputBuffer(in vendor.qti.hardware.display.config.IDisplayConfigCallback callback, in int dispId, in vendor.qti.hardware.display.config.Rect rect, in boolean postProcessed, in android.hardware.common.NativeHandle buffer);
+ void setQsyncMode(in int dispId, in vendor.qti.hardware.display.config.QsyncMode mode);
+ boolean isSmartPanelConfig(in int dispId, in int configId);
+ boolean isRotatorSupportedFormat(in int halFormat, in boolean ubwc);
+ void controlQsyncCallback(in boolean enable);
+ void sendTUIEvent(in vendor.qti.hardware.display.config.DisplayType dpy, in vendor.qti.hardware.display.config.TUIEventType eventType);
+ int getDisplayHwId(in int dispId);
+ int[] getSupportedDisplayRefreshRates(in vendor.qti.hardware.display.config.DisplayType dpy);
+ boolean isRCSupported(in int dispId);
+ void controlIdleStatusCallback(in boolean enable);
+ boolean isSupportedConfigSwitch(in int dispId, in int config);
+ vendor.qti.hardware.display.config.DisplayType getDisplayType(in long physicalDispId);
+ void setCameraSmoothInfo(in vendor.qti.hardware.display.config.CameraSmoothOp op, in int fps);
+ long registerCallback(in vendor.qti.hardware.display.config.IDisplayConfigCallback callback);
+ void unRegisterCallback(in long handle);
+ void notifyDisplayIdleState(in int[] dispId);
+ void setClientUp();
+ int getDisplayPortId(in int dispId);
+ boolean isCacV2Supported(in int dispId);
+ void configureCacV2(in int dispId, in vendor.qti.hardware.display.config.CacV2Config config, in boolean enable);
+ void configureCacV2PerEye(in int dispId, in vendor.qti.hardware.display.config.CacV2Config leftConfig, in vendor.qti.hardware.display.config.CacV2Config rightConfig, in boolean enable);
+ void configureCacV2ExtPerEye(in int dispId, in vendor.qti.hardware.display.config.CacV2ConfigExt leftConfig, in vendor.qti.hardware.display.config.CacV2ConfigExt rightConfig, in boolean enable);
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/IDisplayConfigCallback.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/IDisplayConfigCallback.aidl
new file mode 100644
index 00000000..36be528a
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/IDisplayConfigCallback.aidl
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *//*
+ * Changes from Qualcomm Innovation Center are provided under the following license:
+ *
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the
+ * disclaimer below) provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ *
+ * * Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+ * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+ * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@VintfStability
+interface IDisplayConfigCallback {
+ oneway void notifyCWBBufferDone(in int error, in android.hardware.common.NativeHandle buffer);
+ oneway void notifyQsyncChange(in boolean qsyncEnabled, in int refreshRate, in int qsyncRefreshRate);
+ oneway void notifyIdleStatus(in boolean isIdle);
+ oneway void notifyCameraSmoothInfo(in vendor.qti.hardware.display.config.CameraSmoothOp op, in int fps);
+ oneway void notifyResolutionChange(in int displayId, in vendor.qti.hardware.display.config.Attributes attr);
+ oneway void notifyFpsMitigation(in int displayId, in vendor.qti.hardware.display.config.Attributes attr, in vendor.qti.hardware.display.config.Concurrency concurrency);
+ oneway void notifyTUIEventDone(in int error, in vendor.qti.hardware.display.config.DisplayType disp_type, in vendor.qti.hardware.display.config.TUIEventType eventType);
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/PowerMode.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/PowerMode.aidl
new file mode 100644
index 00000000..77534dcb
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/PowerMode.aidl
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@Backing(type="int") @VintfStability
+enum PowerMode {
+ OFF = 0,
+ DOZE = 1,
+ ON = 2,
+ DOZE_SUSPEND = 3,
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/QsyncMode.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/QsyncMode.aidl
new file mode 100644
index 00000000..5121fc80
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/QsyncMode.aidl
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@Backing(type="int") @VintfStability
+enum QsyncMode {
+ NONE = 0,
+ WAIT_FOR_FENCES_ONE_FRAME = 1,
+ WAIT_FOR_FENCES_EACH_FRAME = 2,
+ WAIT_FOR_COMMIT_EACH_FRAME = 3,
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/Rect.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/Rect.aidl
new file mode 100644
index 00000000..61f83a97
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/Rect.aidl
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@VintfStability
+parcelable Rect {
+ int left;
+ int top;
+ int right;
+ int bottom;
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/TUIEventType.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/TUIEventType.aidl
new file mode 100644
index 00000000..ae50648a
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/10/vendor/qti/hardware/display/config/TUIEventType.aidl
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2021 The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@Backing(type="int") @VintfStability
+enum TUIEventType {
+ NONE = 0,
+ PREPARE_TUI_TRANSITION = 1,
+ START_TUI_TRANSITION = 2,
+ END_TUI_TRANSITION = 3,
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/current/vendor/qti/hardware/display/config/CacV2ConfigExt.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/current/vendor/qti/hardware/display/config/CacV2ConfigExt.aidl
new file mode 100644
index 00000000..9532344c
--- /dev/null
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/current/vendor/qti/hardware/display/config/CacV2ConfigExt.aidl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// 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 vendor.qti.hardware.display.config;
+@VintfStability
+parcelable CacV2ConfigExt {
+ double redCenterPhaseStep;
+ double redSecondOrderPhaseStep;
+ double blueCenterPhaseStep;
+ double blueSecondOrderPhaseStep;
+ double pixelPitch;
+ double normalization;
+ int verticalCenter;
+ int horizontalCenter;
+}
diff --git a/aidl/config/aidl_api/vendor.qti.hardware.display.config/current/vendor/qti/hardware/display/config/IDisplayConfig.aidl b/aidl/config/aidl_api/vendor.qti.hardware.display.config/current/vendor/qti/hardware/display/config/IDisplayConfig.aidl
index ed6eca1c..1ae21caf 100644
--- a/aidl/config/aidl_api/vendor.qti.hardware.display.config/current/vendor/qti/hardware/display/config/IDisplayConfig.aidl
+++ b/aidl/config/aidl_api/vendor.qti.hardware.display.config/current/vendor/qti/hardware/display/config/IDisplayConfig.aidl
@@ -109,4 +109,5 @@ interface IDisplayConfig {
boolean isCacV2Supported(in int dispId);
void configureCacV2(in int dispId, in vendor.qti.hardware.display.config.CacV2Config config, in boolean enable);
void configureCacV2PerEye(in int dispId, in vendor.qti.hardware.display.config.CacV2Config leftConfig, in vendor.qti.hardware.display.config.CacV2Config rightConfig, in boolean enable);
+ void configureCacV2ExtPerEye(in int dispId, in vendor.qti.hardware.display.config.CacV2ConfigExt leftConfig, in vendor.qti.hardware.display.config.CacV2ConfigExt rightConfig, in boolean enable);
}
diff --git a/aidl/config/vendor/qti/hardware/display/config/CacV2ConfigExt.aidl b/aidl/config/vendor/qti/hardware/display/config/CacV2ConfigExt.aidl
new file mode 100644
index 00000000..8f686719
--- /dev/null
+++ b/aidl/config/vendor/qti/hardware/display/config/CacV2ConfigExt.aidl
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.display.config;
+
+@VintfStability
+parcelable CacV2ConfigExt {
+ double redCenterPhaseStep; // Red color's phase step for center position
+ double redSecondOrderPhaseStep; // Red color's second order phase step
+ double blueCenterPhaseStep; // Blue color's phase step for center position
+ double blueSecondOrderPhaseStep; // Blue color's second-order phase step
+ double pixelPitch; // Pixel pitch is device dependent
+ double normalization; // Normalization factor
+ int verticalCenter; // Lens' vertical center position with respect to display panel. If 0, treated as (height/2 - 1) by display service.
+ int horizontalCenter; // Lens' horizontal center position with respect to display panel. If 0, treated as (width/2 - 1) by display service.
+}
diff --git a/aidl/config/vendor/qti/hardware/display/config/IDisplayConfig.aidl b/aidl/config/vendor/qti/hardware/display/config/IDisplayConfig.aidl
index 08ef361f..e638b255 100644
--- a/aidl/config/vendor/qti/hardware/display/config/IDisplayConfig.aidl
+++ b/aidl/config/vendor/qti/hardware/display/config/IDisplayConfig.aidl
@@ -47,6 +47,7 @@ import vendor.qti.hardware.display.config.Rect;
import vendor.qti.hardware.display.config.TUIEventType;
import vendor.qti.hardware.display.config.CameraSmoothOp;
import vendor.qti.hardware.display.config.CacV2Config;
+import vendor.qti.hardware.display.config.CacV2ConfigExt;
@VintfStability
interface IDisplayConfig {
@@ -612,4 +613,17 @@ interface IDisplayConfig {
*/
void configureCacV2PerEye(in int dispId, in CacV2Config leftConfig, in CacV2Config rightConfig,
in boolean enable);
+
+ /*
+ * Configure CAC V2 to HWC HAL with the lens center offsets for a given display ID per eye
+ *
+ * @param dispId display ID
+ * @param leftconfig CAC configuration parameters for left eye
+ * @param rightconfig CAC configuration parameters for right eye
+ * @param enable control CAC enable/disable
+ *
+ * @return error is NONE upon success
+ */
+ void configureCacV2ExtPerEye(in int dispId, in CacV2ConfigExt leftConfig,
+ in CacV2ConfigExt rightConfig, in boolean enable);
}