summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2019-08-22 07:37:42 -0700
committerLinux Build Service Account <lnxbuild@localhost>2019-08-22 07:37:42 -0700
commitffceb3e0e6469e3ee01dad23e0415701a4e6fdc7 (patch)
tree4b19382d091e0f53db97fd9443a110df053ff889
parent495c79f78b2f9ba8747abd07b5dd400bdfac3bea (diff)
parentcb1b981b884f66fd346b6470bf0c63a976b86bb2 (diff)
downloadandroid_vendor_qcom_opensource_interfaces-ffceb3e0e6469e3ee01dad23e0415701a4e6fdc7.tar.gz
android_vendor_qcom_opensource_interfaces-ffceb3e0e6469e3ee01dad23e0415701a4e6fdc7.tar.bz2
android_vendor_qcom_opensource_interfaces-ffceb3e0e6469e3ee01dad23e0415701a4e6fdc7.zip
Merge cb1b981b884f66fd346b6470bf0c63a976b86bb2 on remote branch
Change-Id: Iad7edf25aaec1e52e3f17038715b6e5d83710d2e
-rw-r--r--Android.bp9
-rw-r--r--bluetooth_dun/1.0/IBluetoothDunServer.hal59
-rw-r--r--bluetooth_dun/1.0/IBluetoothDunServerResponse.hal50
-rw-r--r--bluetooth_dun/1.0/types.hal48
-rw-r--r--bluetooth_dun/current.txt32
-rw-r--r--display/config/1.11/IDisplayConfig.hal77
-rw-r--r--display/current.txt3
-rw-r--r--display/mapperextensions/1.0/types.hal40
-rw-r--r--display/mapperextensions/1.1/IQtiMapperExtensions.hal43
-rw-r--r--systemhelper/1.0/ISystemEvent.hal57
-rw-r--r--systemhelper/1.0/ISystemEventCallback.hal40
-rw-r--r--systemhelper/1.0/ISystemResource.hal73
-rw-r--r--systemhelper/1.0/types.hal50
13 files changed, 568 insertions, 13 deletions
diff --git a/Android.bp b/Android.bp
index 9165ee0..3769b92 100644
--- a/Android.bp
+++ b/Android.bp
@@ -30,3 +30,12 @@ hidl_package_root {
name: "vendor.qti.hardware.bluetooth_audio",
path: "vendor/qcom/opensource/interfaces/bluetooth_audio",
}
+hidl_package_root {
+ name: "vendor.qti.hardware.systemhelper",
+ path: "vendor/qcom/opensource/interfaces/systemhelper",
+}
+
+hidl_package_root {
+ name: "vendor.qti.hardware.bluetooth_dun",
+ path: "vendor/qcom/opensource/interfaces/bluetooth_dun",
+}
diff --git a/bluetooth_dun/1.0/IBluetoothDunServer.hal b/bluetooth_dun/1.0/IBluetoothDunServer.hal
new file mode 100644
index 0000000..416b679
--- /dev/null
+++ b/bluetooth_dun/1.0/IBluetoothDunServer.hal
@@ -0,0 +1,59 @@
+/* Copyright (c) 2019, 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.
+ */
+
+package vendor.qti.hardware.bluetooth_dun@1.0;
+
+import IBluetoothDunServerResponse;
+
+interface IBluetoothDunServer {
+ /**
+ * Initialize response callback to the underlying DUN server hidl interface.
+ */
+ initialize(IBluetoothDunServerResponse resCallback) generates (Status status);
+
+ /**
+ * Send control messages to the underlying DUN server hidl interface.
+ */
+ sendCtrlMsg(CtrlMsg msgType) generates (Status status);
+
+ /**
+ * Send uplink Data to the underlying DUN server hidl interface.
+ */
+ sendUplinkData(DunPacket packet) generates (Status status);
+
+ /**
+ * Send modem status to the underlying DUN server hidl interface, if
+ * modem status change is received from remote on rfcomm channel.
+ */
+ sendModemStatus(uint8_t status) generates (Status status);
+
+ /**
+ * Close the DUN server hidl interface.
+ */
+ close_server();
+};
diff --git a/bluetooth_dun/1.0/IBluetoothDunServerResponse.hal b/bluetooth_dun/1.0/IBluetoothDunServerResponse.hal
new file mode 100644
index 0000000..5f9ac37
--- /dev/null
+++ b/bluetooth_dun/1.0/IBluetoothDunServerResponse.hal
@@ -0,0 +1,50 @@
+/* Copyright (c) 2019, 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.
+ */
+
+package vendor.qti.hardware.bluetooth_dun@1.0;
+
+/** The interface from the DUN HIDL server to the BT DUN service. */
+interface IBluetoothDunServerResponse {
+ /**
+ * This function is invoked from the DUN HIDL daemon,
+ * when control message is received from the portbridge.
+ */
+ ctrlMsgEvent(CtrlMsg msgType, Status status);
+
+ /**
+ * This function is invoked from the DUN HIDL daemon,
+ * when downlink data is received from portbridge.
+ */
+ downlinkDataEvent(DunPacket data);
+
+ /**
+ * This function is invoked from the DUN HIDL daemon,
+ * when modem status change is received from the portbridge.
+ */
+ modemStatusChangeEvent(uint8_t status);
+};
diff --git a/bluetooth_dun/1.0/types.hal b/bluetooth_dun/1.0/types.hal
new file mode 100644
index 0000000..7a9b989
--- /dev/null
+++ b/bluetooth_dun/1.0/types.hal
@@ -0,0 +1,48 @@
+/* Copyright (c) 2019, 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.
+ */
+
+package vendor.qti.hardware.bluetooth_dun@1.0;
+
+enum CtrlMsg : int32_t {
+ DUN_CONNECT_REQ,
+ DUN_DISCONNECT_REQ,
+ DUN_CONNECT_RESP,
+ DUN_DISCONNECT_RESP,
+};
+
+enum Status : uint8_t {
+ SUCCESS,
+ FAILED,
+ INITIALIZATION_ERROR,
+ UNKNOWN
+};
+
+/**
+ * Dun packets are transmitted as a vector of type uint8_t.
+ */
+typedef vec<uint8_t> DunPacket;
diff --git a/bluetooth_dun/current.txt b/bluetooth_dun/current.txt
new file mode 100644
index 0000000..5b7a951
--- /dev/null
+++ b/bluetooth_dun/current.txt
@@ -0,0 +1,32 @@
+#Copyright (c) 2019, 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.
+
+#HAL released in Android Q
+#Bluetooth DUN
+686cdb8d0c7cb31a4222db61ee7967991b513928b65ddf4b268763afb5dfac71 vendor.qti.hardware.bluetooth_dun@1.0::types
+833436d7e9bc1956e5d92d89b546bfc3e585534aecb91d35c3a453a208ae615f vendor.qti.hardware.bluetooth_dun@1.0::IBluetoothDunServer
+3d5fff5c7e0e5ab89abd3ce2166e4dbf08b13bb94a836c5a25d95674dfd7f066 vendor.qti.hardware.bluetooth_dun@1.0::IBluetoothDunServerResponse \ No newline at end of file
diff --git a/display/config/1.11/IDisplayConfig.hal b/display/config/1.11/IDisplayConfig.hal
new file mode 100644
index 0000000..2d09aab
--- /dev/null
+++ b/display/config/1.11/IDisplayConfig.hal
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2019 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.
+ */
+
+package vendor.display.config@1.11;
+
+import @1.10::IDisplayConfig;
+
+interface IDisplayConfig extends @1.10::IDisplayConfig {
+ enum QsyncMode : int32_t {
+ /* Clear previous qsync mode if any */
+ NONE,
+
+ /*
+ * Enable qsync only for the next frame. Qsync mode will be
+ * automatically cleared after next frame has been composed.
+ * Subsequent frames will not be affected.
+ */
+ WAIT_FOR_FENCES_ONE_FRAME,
+
+ /*
+ * Enable qsync for every frame from next cycle onwards. Vsync timelines
+ * will be extended only if a frame has been committed to HWC i.e. if
+ * HWC does not receive frames from client, vsync will be triggered at
+ * normal intervals. This is similar to setting qsync mode as
+ * WAIT_FOR_FENCES_ONE_FRAME with every commit.
+ */
+ WAIT_FOR_FENCES_EACH_FRAME,
+
+ /*
+ * Enable qsync for every vsync interrupt from next cycle onwards.
+ * Vsync timelines will be extended to maximum stretch possible in an
+ * anticipation that a frame will be commited shortly. If frames are
+ * not commited, final frame rate will eventually drop to lowest
+ * possible frame rate.
+ */
+ WAIT_FOR_COMMIT_EACH_FRAME,
+ };
+
+ /*
+ * Set the desired qsync mode which will ideally take effect from next
+ * composition cycle. Mode change may take longer than one cycle if there
+ * is a conflict with current operation mode.
+ *
+ * @param disp_id display id.
+ * @param mode desired qsync mode.
+ *
+ * @return error is NONE upon success.
+ */
+ @callflow(next="*")
+ setQsyncMode(uint32_t disp_id, QsyncMode mode) generates (int32_t error);
+};
diff --git a/display/current.txt b/display/current.txt
index 0d9e59b..9f66234 100644
--- a/display/current.txt
+++ b/display/current.txt
@@ -46,4 +46,5 @@ ccf20944596b1cd140769257bdb93d10244b256d47e296ec84d41ed1261c1089 vendor.display.
a34b984a4eee8b76a123390002843f050288a92f0f0c6b8d576930f738858f4c vendor.display.config@1.8::IDisplayConfig
fd36f8dbe80403d93f0e94651ae4efa1aa22053351e7783f5d99457cff9dbacc vendor.display.config@1.9::IDisplayConfig
f78bba2991501438ad9ca1a0812f6a2a3991cb178bec4c00bd8eec841777d8d9 vendor.display.config@1.10::IDisplayConfig
-50369a070405a1f0cac44648f39ca32864c1339896d6eb16524b32fff9e95f03 vendor.display.config@1.10::IDisplayCWBCallback \ No newline at end of file
+50369a070405a1f0cac44648f39ca32864c1339896d6eb16524b32fff9e95f03 vendor.display.config@1.10::IDisplayCWBCallback
+10a290fc22df7680d00c53370870d5e941b7d60afcb94e90d2dd03369e7ccebc vendor.display.config@1.11::IDisplayConfig
diff --git a/display/mapperextensions/1.0/types.hal b/display/mapperextensions/1.0/types.hal
index 1028f32..18dafeb 100644
--- a/display/mapperextensions/1.0/types.hal
+++ b/display/mapperextensions/1.0/types.hal
@@ -1,23 +1,23 @@
/*
* Copyright (c) 2019 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.
- *
+ * 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
+ * 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
@@ -25,6 +25,22 @@
* 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.
+
+ * Not a Contribution.
+
+ * Copyright (C) 2011 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.
*/
package vendor.qti.hardware.display.mapperextensions@1.0;
diff --git a/display/mapperextensions/1.1/IQtiMapperExtensions.hal b/display/mapperextensions/1.1/IQtiMapperExtensions.hal
new file mode 100644
index 0000000..0c24e96
--- /dev/null
+++ b/display/mapperextensions/1.1/IQtiMapperExtensions.hal
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2019 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.
+ */
+
+package vendor.qti.hardware.display.mapperextensions@1.1;
+
+import @1.0::IQtiMapperExtensions;
+import @1.0::Error;
+
+interface IQtiMapperExtensions extends @1.0::IQtiMapperExtensions {
+
+ /*
+ * Get graphics surface metadata.
+ * Pass a valid pointer to surface metadata.
+ */
+ @callflow(next="*")
+ getSurfaceMetadata_V1(pointer buffer, pointer metadata) generates (Error error);
+};
diff --git a/systemhelper/1.0/ISystemEvent.hal b/systemhelper/1.0/ISystemEvent.hal
new file mode 100644
index 0000000..d6407cb
--- /dev/null
+++ b/systemhelper/1.0/ISystemEvent.hal
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2019, 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.
+ *
+ */
+
+package vendor.qti.hardware.systemhelper@1.0;
+
+import ISystemEventCallback;
+
+interface ISystemEvent {
+ /**
+ * Register for system event notification.
+ *
+ * @param eventIds event mask (of type SystemEventType) to register for
+ * @param cb callback interface for event notification
+ * @return status status of event registration request
+ * 0 in case of success and negative in case of failure
+ */
+ registerEvent(uint64_t eventIds, ISystemEventCallback cb)
+ generates (int32_t status);
+
+ /**
+ * Deregister for system event notification.
+ *
+ * @param eventIds event mask (of type SystemEventType) to deregister for
+ * @param cb callback interface used for event registration
+ * @return status status of event de-registration request
+ * 0 in case of success and negative in case of failure
+ */
+ deRegisterEvent(uint64_t eventIds, ISystemEventCallback cb)
+ generates (int32_t status);
+};
diff --git a/systemhelper/1.0/ISystemEventCallback.hal b/systemhelper/1.0/ISystemEventCallback.hal
new file mode 100644
index 0000000..565d680
--- /dev/null
+++ b/systemhelper/1.0/ISystemEventCallback.hal
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2019, 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.
+ *
+ */
+
+package vendor.qti.hardware.systemhelper@1.0;
+
+interface ISystemEventCallback {
+ /**
+ * Event notification.
+ *
+ * @param eventId event occurred (of type SystemEventType)
+ */
+ oneway onEvent(uint64_t eventId);
+};
diff --git a/systemhelper/1.0/ISystemResource.hal b/systemhelper/1.0/ISystemResource.hal
new file mode 100644
index 0000000..0b5adc0
--- /dev/null
+++ b/systemhelper/1.0/ISystemResource.hal
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2019, 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.
+ *
+ */
+
+package vendor.qti.hardware.systemhelper@1.0;
+
+import android.hardware.graphics.bufferqueue@1.0::IGraphicBufferProducer;
+
+interface ISystemResource {
+ /**
+ * Acquire a system resource
+ *
+ * @param resource resource to acquire
+ * @return status resource acquisition status
+ * 0 in case of success and negative in case of failure
+ * @return resourceId unique resource identifier for acquired resource
+ * Note : resourceId stands invalid in case of API returned error
+ */
+ acquire(SystemResourceType resource) generates (int32_t status,
+ uint32_t resourceId);
+ /**
+ * Acquire a system graphics surface.
+ *
+ * @param width surface width
+ * @param height surface height
+ * @return status resource acquisition status
+ * 0 in case of success and negative in case of failure
+ * @return resourceId unique resource identifier for acquired resource
+ * Note : resourceId stands invalid in case of API returned error
+ * @return surface IGraphicBufferProducer interface for buffer enqueue/dequeue
+ */
+ acquireSurface(uint32_t width, uint32_t height)
+ generates (int32_t status,
+ uint32_t resourceId,
+ IGraphicBufferProducer surface);
+
+ /**
+ * Release an acquired resource
+ *
+ * Both resource and surface shall be released via this API.
+ *
+ * @param resourceId unique resource identifier to be released
+ * @return status resource release status
+ * 0 in case of success and -1 in case of failure
+ */
+ release(uint32_t resourceId) generates (int32_t status);
+};
diff --git a/systemhelper/1.0/types.hal b/systemhelper/1.0/types.hal
new file mode 100644
index 0000000..13d2f44
--- /dev/null
+++ b/systemhelper/1.0/types.hal
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2019, 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.
+*
+*/
+
+package vendor.qti.hardware.systemhelper@1.0;
+
+/** Types of Events **/
+enum SystemEventType : uint64_t {
+ PHONE_STATE_RINGING = 0x1,
+ PHONE_STATE_OFF_HOOK = 0x2,
+ PHONE_STATE_IDLE = 0x4,
+ ACTION_SCREEN_OFF = 0x8,
+ ACTION_SCREEN_ON = 0x10,
+ ACTION_SHUTDOWN = 0x20,
+ ACTION_USER_PRESENT = 0x40,
+ SYSTEM_EVENT_MAX = (0x80 - 1),
+};
+
+enum SystemResourceType : uint64_t {
+ WAKE_LOCK = 1,
+ ROTATION_LOCK = 2,
+};
+
+