diff --git a/proprietary/vendor/bin/hw/vendor.qti.hardware.perf@2.0-service b/proprietary/vendor/bin/hw/vendor.qti.hardware.perf@2.0-service
deleted file mode 100644
index d176081..0000000
Binary files a/proprietary/vendor/bin/hw/vendor.qti.hardware.perf@2.0-service and /dev/null differ
diff --git a/proprietary/vendor/bin/hw/vendor.qti.hardware.perf@2.2-service b/proprietary/vendor/bin/hw/vendor.qti.hardware.perf@2.2-service
new file mode 100644
index 0000000..51ec9fd
Binary files /dev/null and b/proprietary/vendor/bin/hw/vendor.qti.hardware.perf@2.2-service differ
diff --git a/proprietary/vendor/etc/init/vendor.qti.hardware.perf@2.0-service.rc b/proprietary/vendor/etc/init/vendor.qti.hardware.perf@2.0-service.rc
deleted file mode 100644
index 618011b..0000000
--- a/proprietary/vendor/etc/init/vendor.qti.hardware.perf@2.0-service.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-service perf-hal-2-0 /vendor/bin/hw/vendor.qti.hardware.perf@2.0-service
- class hal
- user root
- group root readproc oem_2907
diff --git a/proprietary/vendor/etc/init/vendor.qti.hardware.perf@2.2-service.rc b/proprietary/vendor/etc/init/vendor.qti.hardware.perf@2.2-service.rc
new file mode 100644
index 0000000..2ca0d64
--- /dev/null
+++ b/proprietary/vendor/etc/init/vendor.qti.hardware.perf@2.2-service.rc
@@ -0,0 +1,13 @@
+# @file vendor.qti.hardware.perf@2.2-service.rc
+# @brief Defination perf service
+#
+# DESCRIPTION
+# ---------------------------------------------------------------------------
+# Copyright (c) 2019-2020 Qualcomm Technologies, Inc.
+# All Rights Reserved.
+# Confidential and Proprietary - Qualcomm Technologies, Inc.
+# ---------------------------------------------------------------------------
+service perf-hal-2-2 /vendor/bin/hw/vendor.qti.hardware.perf@2.2-service
+ class hal
+ user root
+ group root readproc oem_2907
diff --git a/proprietary/vendor/etc/perf/commonresourceconfigs.xml b/proprietary/vendor/etc/perf/commonresourceconfigs.xml
index ab5f517..050f30a 100644
--- a/proprietary/vendor/etc/perf/commonresourceconfigs.xml
+++ b/proprietary/vendor/etc/perf/commonresourceconfigs.xml
@@ -35,9 +35,10 @@ need to be added just before the end of it's major group. -->
-
+
+
@@ -92,6 +93,27 @@ need to be added just before the end of it's major group. -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -139,7 +161,15 @@ need to be added just before the end of it's major group. -->
+
+
+
+
+
+
+
@@ -177,6 +207,9 @@ need to be added just before the end of it's major group. -->
+
+
+
@@ -188,6 +221,7 @@ need to be added just before the end of it's major group. -->
+
@@ -197,7 +231,20 @@ need to be added just before the end of it's major group. -->
+
+
+
+
+
+
+
+
+
+
+
+
@@ -220,7 +267,24 @@ need to be added just before the end of it's major group. -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/proprietary/vendor/etc/perf/commonsysnodesconfigs.xml b/proprietary/vendor/etc/perf/commonsysnodesconfigs.xml
new file mode 100644
index 0000000..51d18d5
--- /dev/null
+++ b/proprietary/vendor/etc/perf/commonsysnodesconfigs.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/proprietary/vendor/etc/perf/perfboostsconfig.xml b/proprietary/vendor/etc/perf/perfboostsconfig.xml
index fbd68bc..c6538e8 100644
--- a/proprietary/vendor/etc/perf/perfboostsconfig.xml
+++ b/proprietary/vendor/etc/perf/perfboostsconfig.xml
@@ -24,9 +24,9 @@
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm660"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1747,
+ 0x40800100, 1400" />
+
+
+
+
@@ -114,12 +122,12 @@
@@ -133,6 +141,39 @@
Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -162,11 +203,11 @@
@@ -179,6 +220,39 @@
Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -208,27 +282,27 @@
@@ -237,6 +311,39 @@
Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/proprietary/vendor/etc/perf/perfconfigstore.xml b/proprietary/vendor/etc/perf/perfconfigstore.xml
index daa14ae..140829d 100644
--- a/proprietary/vendor/etc/perf/perfconfigstore.xml
+++ b/proprietary/vendor/etc/perf/perfconfigstore.xml
@@ -18,7 +18,7 @@ property Name is called. -->
-
+
@@ -31,5 +31,13 @@ property Name is called. -->
+
+
+
+
+
+
+
+
diff --git a/proprietary/vendor/etc/perf/targetresourceconfigs.xml b/proprietary/vendor/etc/perf/targetresourceconfigs.xml
index dec830f..50cd272 100644
--- a/proprietary/vendor/etc/perf/targetresourceconfigs.xml
+++ b/proprietary/vendor/etc/perf/targetresourceconfigs.xml
@@ -25,31 +25,90 @@ as anyway perflock calls of these resources would fail. -->
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -57,6 +116,9 @@ as anyway perflock calls of these resources would fail. -->
+
+
+
diff --git a/proprietary/vendor/lib/libperfconfig.so b/proprietary/vendor/lib/libperfconfig.so
index ef88047..f6eb992 100644
Binary files a/proprietary/vendor/lib/libperfconfig.so and b/proprietary/vendor/lib/libperfconfig.so differ
diff --git a/proprietary/vendor/lib/libperfgluelayer.so b/proprietary/vendor/lib/libperfgluelayer.so
index 8b7f20e..f461c79 100644
Binary files a/proprietary/vendor/lib/libperfgluelayer.so and b/proprietary/vendor/lib/libperfgluelayer.so differ
diff --git a/proprietary/vendor/lib/libperfioctl.so b/proprietary/vendor/lib/libperfioctl.so
new file mode 100644
index 0000000..f110f88
Binary files /dev/null and b/proprietary/vendor/lib/libperfioctl.so differ
diff --git a/proprietary/vendor/lib/libqti-perfd-client.so b/proprietary/vendor/lib/libqti-perfd-client.so
index 314df57..6f94c8d 100644
Binary files a/proprietary/vendor/lib/libqti-perfd-client.so and b/proprietary/vendor/lib/libqti-perfd-client.so differ
diff --git a/proprietary/vendor/lib/libqti-perfd.so b/proprietary/vendor/lib/libqti-perfd.so
index cd31c92..f16147b 100644
Binary files a/proprietary/vendor/lib/libqti-perfd.so and b/proprietary/vendor/lib/libqti-perfd.so differ
diff --git a/proprietary/vendor/lib/libqti-util.so b/proprietary/vendor/lib/libqti-util.so
index 377c7de..8adc395 100644
Binary files a/proprietary/vendor/lib/libqti-util.so and b/proprietary/vendor/lib/libqti-util.so differ
diff --git a/proprietary/vendor/lib64/libperfconfig.so b/proprietary/vendor/lib64/libperfconfig.so
index cefa64e..52b1cb6 100644
Binary files a/proprietary/vendor/lib64/libperfconfig.so and b/proprietary/vendor/lib64/libperfconfig.so differ
diff --git a/proprietary/vendor/lib64/libperfgluelayer.so b/proprietary/vendor/lib64/libperfgluelayer.so
index c1db381..d3e711f 100644
Binary files a/proprietary/vendor/lib64/libperfgluelayer.so and b/proprietary/vendor/lib64/libperfgluelayer.so differ
diff --git a/proprietary/vendor/lib64/libperfioctl.so b/proprietary/vendor/lib64/libperfioctl.so
new file mode 100644
index 0000000..337a220
Binary files /dev/null and b/proprietary/vendor/lib64/libperfioctl.so differ
diff --git a/proprietary/vendor/lib64/libqti-perfd-client.so b/proprietary/vendor/lib64/libqti-perfd-client.so
index d7a4091..0bf7579 100644
Binary files a/proprietary/vendor/lib64/libqti-perfd-client.so and b/proprietary/vendor/lib64/libqti-perfd-client.so differ
diff --git a/proprietary/vendor/lib64/libqti-perfd.so b/proprietary/vendor/lib64/libqti-perfd.so
index 60aaee8..d4ebfc9 100644
Binary files a/proprietary/vendor/lib64/libqti-perfd.so and b/proprietary/vendor/lib64/libqti-perfd.so differ
diff --git a/proprietary/vendor/lib64/libqti-util.so b/proprietary/vendor/lib64/libqti-util.so
index 3f08f82..a49ae51 100644
Binary files a/proprietary/vendor/lib64/libqti-util.so and b/proprietary/vendor/lib64/libqti-util.so differ
diff --git a/sdm660-common-vendor.mk b/sdm660-common-vendor.mk
index 235a5aa..3527360 100644
--- a/sdm660-common-vendor.mk
+++ b/sdm660-common-vendor.mk
@@ -50,7 +50,7 @@ PRODUCT_COPY_FILES += \
vendor/xiaomi/sdm660-common/proprietary/vendor/bin/hw/qcrild:$(TARGET_COPY_OUT_VENDOR)/bin/hw/qcrild \
vendor/xiaomi/sdm660-common/proprietary/vendor/bin/hw/vendor.display.color@1.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.display.color@1.0-service \
vendor/xiaomi/sdm660-common/proprietary/vendor/bin/hw/vendor.qti.hardware.alarm@1.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.qti.hardware.alarm@1.0-service \
- vendor/xiaomi/sdm660-common/proprietary/vendor/bin/hw/vendor.qti.hardware.perf@2.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.qti.hardware.perf@2.0-service \
+ vendor/xiaomi/sdm660-common/proprietary/vendor/bin/hw/vendor.qti.hardware.perf@2.2-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.qti.hardware.perf@2.2-service \
vendor/xiaomi/sdm660-common/proprietary/vendor/bin/hw/vendor.qti.hardware.soter@1.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.qti.hardware.soter@1.0-service \
vendor/xiaomi/sdm660-common/proprietary/vendor/bin/hw/vendor.qti.hardware.tui_comm@1.0-service-qti:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.qti.hardware.tui_comm@1.0-service-qti \
vendor/xiaomi/sdm660-common/proprietary/vendor/bin/ims_rtp_daemon:$(TARGET_COPY_OUT_VENDOR)/bin/ims_rtp_daemon \
@@ -120,11 +120,12 @@ PRODUCT_COPY_FILES += \
vendor/xiaomi/sdm660-common/proprietary/vendor/etc/init/qcrild.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/qcrild.rc \
vendor/xiaomi/sdm660-common/proprietary/vendor/etc/init/vendor.display.color@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.display.color@1.0-service.rc \
vendor/xiaomi/sdm660-common/proprietary/vendor/etc/init/vendor.qti.hardware.alarm@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.alarm@1.0-service.rc \
- vendor/xiaomi/sdm660-common/proprietary/vendor/etc/init/vendor.qti.hardware.perf@2.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.perf@2.0-service.rc \
+ vendor/xiaomi/sdm660-common/proprietary/vendor/etc/init/vendor.qti.hardware.perf@2.2-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.perf@2.2-service.rc \
vendor/xiaomi/sdm660-common/proprietary/vendor/etc/init/vendor.qti.hardware.soter@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.soter@1.0-service.rc \
vendor/xiaomi/sdm660-common/proprietary/vendor/etc/init/vendor.qti.hardware.tui_comm@1.0-service-qti.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.tui_comm@1.0-service-qti.rc \
vendor/xiaomi/sdm660-common/proprietary/vendor/etc/init/vendor.xiaomi.hardware.mlipay@1.1-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.xiaomi.hardware.mlipay@1.1-service.rc \
vendor/xiaomi/sdm660-common/proprietary/vendor/etc/perf/commonresourceconfigs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/commonresourceconfigs.xml \
+ vendor/xiaomi/sdm660-common/proprietary/vendor/etc/perf/commonsysnodesconfigs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/commonsysnodesconfigs.xml \
vendor/xiaomi/sdm660-common/proprietary/vendor/etc/perf/perfboostsconfig.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/perfboostsconfig.xml \
vendor/xiaomi/sdm660-common/proprietary/vendor/etc/perf/perfconfigstore.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/perfconfigstore.xml \
vendor/xiaomi/sdm660-common/proprietary/vendor/etc/perf/targetconfig.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/targetconfig.xml \
@@ -204,6 +205,7 @@ PRODUCT_COPY_FILES += \
vendor/xiaomi/sdm660-common/proprietary/vendor/lib/libmmosal_proprietary.so:$(TARGET_COPY_OUT_VENDOR)/lib/libmmosal_proprietary.so \
vendor/xiaomi/sdm660-common/proprietary/vendor/lib/libperfconfig.so:$(TARGET_COPY_OUT_VENDOR)/lib/libperfconfig.so \
vendor/xiaomi/sdm660-common/proprietary/vendor/lib/libperfgluelayer.so:$(TARGET_COPY_OUT_VENDOR)/lib/libperfgluelayer.so \
+ vendor/xiaomi/sdm660-common/proprietary/vendor/lib/libperfioctl.so:$(TARGET_COPY_OUT_VENDOR)/lib/libperfioctl.so \
vendor/xiaomi/sdm660-common/proprietary/vendor/lib/libqcci_legacy.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqcci_legacy.so \
vendor/xiaomi/sdm660-common/proprietary/vendor/lib/libqdi.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqdi.so \
vendor/xiaomi/sdm660-common/proprietary/vendor/lib/libqdp.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqdp.so \
@@ -350,6 +352,7 @@ PRODUCT_COPY_FILES += \
vendor/xiaomi/sdm660-common/proprietary/vendor/lib64/libpdnotifier.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libpdnotifier.so \
vendor/xiaomi/sdm660-common/proprietary/vendor/lib64/libperfconfig.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libperfconfig.so \
vendor/xiaomi/sdm660-common/proprietary/vendor/lib64/libperfgluelayer.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libperfgluelayer.so \
+ vendor/xiaomi/sdm660-common/proprietary/vendor/lib64/libperfioctl.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libperfioctl.so \
vendor/xiaomi/sdm660-common/proprietary/vendor/lib64/libperipheral_client.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libperipheral_client.so \
vendor/xiaomi/sdm660-common/proprietary/vendor/lib64/libqcci_legacy.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libqcci_legacy.so \
vendor/xiaomi/sdm660-common/proprietary/vendor/lib64/libqcmaputils.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libqcmaputils.so \