diff --git a/configs/perf/powerhint.json b/configs/perf/powerhint.json
deleted file mode 100644
index c8c0d70..0000000
--- a/configs/perf/powerhint.json
+++ /dev/null
@@ -1,379 +0,0 @@
-{
- "Nodes": [
- {
- "Name": "CPULittleClusterMaxFreq",
- "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq",
- "Values": [
- "9999999",
- "1516800"
- ],
- "DefaultIndex": 0,
- "ResetOnInit": true
- },
- {
- "Name": "CPULittleClusterMinFreq",
- "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq",
- "Values": [
- "9999999",
- "1324800",
- "691200"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUBigClusterMaxFreq",
- "Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq",
- "Values": [
- "9999999",
- "1651200"
- ],
- "DefaultIndex": 0,
- "ResetOnInit": true
- },
- {
- "Name": "CPUBigClusterMinFreq",
- "Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq",
- "Values": [
- "9999999",
- "1516800",
- "691200"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUBigPlusClusterMaxFreq",
- "Path": "/sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq",
- "Values": [
- "9999999",
- "1516800"
- ],
- "DefaultIndex": 0,
- "ResetOnInit": true
- },
- {
- "Name": "CPUBigPlusClusterMinFreq",
- "Path": "/sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq",
- "Values": [
- "9999999",
- "806400"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "UclampTAMin",
- "Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
- "Values": [
- "0",
- "30",
- "50"
- ],
- "DefaultIndex": 0,
- "ResetOnInit": true
- },
- {
- "Name": "SchedBoost",
- "Path": "/proc/sys/kernel/sched_boost",
- "Values": [
- "2",
- "1",
- "0"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "GPUMaxFreq",
- "Path": "/sys/class/kgsl/kgsl-3d0/max_pwrlevel",
- "Values": [
- "0",
- "2"
- ],
- "Comments": [
- "0 => 550000000",
- "2 => 320000000"
- ],
- "DefaultIndex": 0,
- "ResetOnInit": true
- },
- {
- "Name": "GPUMinFreq",
- "Path": "/sys/class/kgsl/kgsl-3d0/min_pwrlevel",
- "Values": [
- "1",
- "3"
- ],
- "Comments": [
- "1 => 450000000",
- "3 => 180000000"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "GPUForceRailOn",
- "Path": "/sys/class/kgsl/kgsl-3d0/force_rail_on",
- "Values": [
- "1",
- "0"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "GPUForceClkOn",
- "Path": "/sys/class/kgsl/kgsl-3d0/force_clk_on",
- "Values": [
- "1",
- "0"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "GPUIdleTimer",
- "Path": "/sys/class/kgsl/kgsl-3d0/idle_timer",
- "Values": [
- "10000",
- "58"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUBWHystTriggerCount",
- "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hyst_trigger_count",
- "Values": [
- "0",
- "3"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUBWHistMemory",
- "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hist_memory",
- "Values": [
- "0",
- "20"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUBWHystLength",
- "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hyst_length",
- "Values": [
- "0",
- "10"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "CPUBWMinFreq",
- "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/min_freq",
- "Values": [
- "16265",
- "7110",
- "2288"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "LLCCBWMinFreq",
- "Path": "/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/min_freq",
- "Values": [
- "12191",
- "5931",
- "762"
- ],
- "ResetOnInit": true
- },
- {
- "Name": "PowerHALMainState",
- "Path": "vendor.powerhal.state",
- "Values": [
- "SUSTAINED_PERFORMANCE",
- ""
- ],
- "Type": "Property"
- },
- {
- "Name": "PowerHALRenderingState",
- "Path": "vendor.powerhal.rendering",
- "Values": [
- "EXPENSIVE_RENDERING",
- ""
- ],
- "Type": "Property"
- }
- ],
- "Actions": [
- {
- "PowerHint": "INTERACTION",
- "Node": "UclampTAMin",
- "Duration": 0,
- "Value": "30"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPULittleClusterMinFreq",
- "Duration": 0,
- "Value": "1324800"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUBigClusterMinFreq",
- "Duration": 0,
- "Value": "1516800"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "SchedBoost",
- "Duration": 0,
- "Value": "2"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUBWHystTriggerCount",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUBWHystLength",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUBWHistMemory",
- "Duration": 0,
- "Value": "0"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "CPUBWMinFreq",
- "Duration": 0,
- "Value": "7110"
- },
- {
- "PowerHint": "INTERACTION",
- "Node": "LLCCBWMinFreq",
- "Duration": 0,
- "Value": "5931"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUBigClusterMinFreq",
- "Duration": 3000,
- "Value": "9999999"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUBigPlusClusterMinFreq",
- "Duration": 3000,
- "Value": "9999999"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPULittleClusterMinFreq",
- "Duration": 3000,
- "Value": "9999999"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "UclampTAMin",
- "Duration": 3000,
- "Value": "50"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "SchedBoost",
- "Duration": 3000,
- "Value": "1"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUBWHystTriggerCount",
- "Duration": 3000,
- "Value": "0"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUBWHystLength",
- "Duration": 3000,
- "Value": "0"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUBWHistMemory",
- "Duration": 3000,
- "Value": "0"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "CPUBWMinFreq",
- "Duration": 3000,
- "Value": "16265"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "LLCCBWMinFreq",
- "Duration": 3000,
- "Value": "12191"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "GPUForceClkOn",
- "Duration": 3000,
- "Value": "1"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "GPUForceRailOn",
- "Duration": 3000,
- "Value": "1"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "GPUIdleTimer",
- "Duration": 3000,
- "Value": "10000"
- },
- {
- "PowerHint": "EXPENSIVE_RENDERING",
- "Node": "PowerHALRenderingState",
- "Duration": 0,
- "Value": "EXPENSIVE_RENDERING"
- },
- {
- "PowerHint": "EXPENSIVE_RENDERING",
- "Node": "GPUMinFreq",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "SUSTAINED_PERFORMANCE",
- "Node": "PowerHALMainState",
- "Duration": 0,
- "Value": "SUSTAINED_PERFORMANCE"
- },
- {
- "PowerHint": "SUSTAINED_PERFORMANCE",
- "Node": "CPUBigClusterMaxFreq",
- "Duration": 0,
- "Value": "1651200"
- },
- {
- "PowerHint": "SUSTAINED_PERFORMANCE",
- "Node": "CPUBigPlusClusterMaxFreq",
- "Duration": 0,
- "Value": "1516800"
- },
- {
- "PowerHint": "SUSTAINED_PERFORMANCE",
- "Node": "CPULittleClusterMaxFreq",
- "Duration": 0,
- "Value": "1516800"
- },
- {
- "PowerHint": "SUSTAINED_PERFORMANCE",
- "Node": "GPUMaxFreq",
- "Duration": 0,
- "Value": "2"
- }
- ]
-}
diff --git a/configs/public.libraries.txt b/configs/public.libraries.txt
index 303aa6c..fe15d67 100644
--- a/configs/public.libraries.txt
+++ b/configs/public.libraries.txt
@@ -1,3 +1,4 @@
+libqti-perfd-client.so
libadsprpc.so
libcdsprpc.so
libsdsprpc.so
diff --git a/configs/vintf/manifest.xml b/configs/vintf/manifest.xml
index cefc7ed..0a9bb6b 100644
--- a/configs/vintf/manifest.xml
+++ b/configs/vintf/manifest.xml
@@ -158,6 +158,15 @@
hwbinder
@1.0::IFmHci/default
+
+ vendor.qti.hardware.perf
+ hwbinder
+ 2.2
+
+ IPerf
+ default
+
+
vendor.qti.hardware.qseecom
hwbinder
diff --git a/device.mk b/device.mk
index c2fc920..8e3519f 100644
--- a/device.mk
+++ b/device.mk
@@ -38,10 +38,6 @@ PRODUCT_ENFORCE_RRO_TARGETS := *
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH) \
hardware/nothing \
- hardware/google/interfaces \
- hardware/google/pixel \
- hardware/qcom-caf/common/libqti-perfd-client \
- hardware/lineage/interfaces/power-libperfmgr \
vendor/qcom/opensource/usb/etc
# A/B
@@ -297,11 +293,7 @@ $(call inherit-product, hardware/nothing/nt-fwk/nt-fwk.mk)
# Power
PRODUCT_PACKAGES += \
- android.hardware.power-service.lineage-libperfmgr \
- libqti-perfd-client
-
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/perf/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
+ android.hardware.power-service-qti
# PowerShare
PRODUCT_PACKAGES += \
diff --git a/properties/vendor.prop b/properties/vendor.prop
index 172b9ab..5445ef1 100644
--- a/properties/vendor.prop
+++ b/properties/vendor.prop
@@ -154,6 +154,9 @@ debug.stagefright.c2inputsurface=-1
# OEM Unlock
ro.oem_unlock_supported=1
+# Perf
+ro.vendor.extension_library=libqti-perfd-client.so
+
# QTEE
persist.vendor.qteeconnector.retrying_interval=30
persist.vendor.qteeconnector.retrying_timeout=2000
diff --git a/proprietary-files.txt b/proprietary-files.txt
index 4c998ff..7d12e2a 100644
--- a/proprietary-files.txt
+++ b/proprietary-files.txt
@@ -1084,6 +1084,38 @@ vendor/etc/libnfc-nxp.conf
# NFC firmware
vendor/lib64/libpn557_fw.so
+# PASR manager
+vendor/lib/vendor.qti.memory.pasrmanager@1.0.so
+vendor/lib/vendor.qti.memory.pasrmanager@1.1.so
+vendor/lib64/vendor.qti.memory.pasrmanager@1.0.so
+vendor/lib64/vendor.qti.memory.pasrmanager@1.1.so
+
+# Perf
+vendor/bin/hw/vendor.qti.hardware.perf@2.2-service
+vendor/etc/init/vendor.qti.hardware.perf@2.2-service.rc
+vendor/etc/perf/commonresourceconfigs.xml
+vendor/etc/perf/commonsysnodesconfigs.xml
+vendor/etc/perf/perfboostsconfig.xml
+vendor/etc/perf/perfconfigstore.xml
+vendor/etc/perf/targetconfig.xml
+vendor/etc/perf/targetresourceconfigs.xml
+vendor/etc/powerhint.xml
+vendor/etc/task_profiles.json
+vendor/lib/libperfconfig.so
+vendor/lib/libperfgluelayer.so
+vendor/lib/libperfioctl.so
+vendor/lib/libqti-perfd-client.so
+vendor/lib/libqti-perfd.so
+vendor/lib/libqti-util.so
+vendor/lib/libqti-utils.so
+vendor/lib64/libperfconfig.so
+vendor/lib64/libperfgluelayer.so
+vendor/lib64/libperfioctl.so
+vendor/lib64/libqti-perfd-client.so
+vendor/lib64/libqti-perfd.so
+vendor/lib64/libqti-util.so
+vendor/lib64/libqti-utils.so
+
# Peripheral manager
vendor/bin/pm-proxy
vendor/bin/pm-service
diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc
index d85c95f..7f6c504 100644
--- a/rootdir/etc/init.qcom.rc
+++ b/rootdir/etc/init.qcom.rc
@@ -294,6 +294,11 @@ on post-fs-data
mkdir /data/vendor/fm 0770 system system
chmod 0770 /data/vendor/fm
+ #Create PERFD deamon related dirs
+ mkdir /data/vendor/perfd 0770 root system
+ chmod 2770 /data/vendor/perfd
+ rm /data/vendor/perfd/default_values
+
mkdir /data/vendor/secure_element 0777 system system
# Mark the copy complete flag to not completed