sm6150-common: Move perf configs to device tree

Change-Id: Ia251c28784d24f2d7b1fdcb7a3676be1c5a63d1b
This commit is contained in:
raghavt20 2020-12-21 11:47:44 +00:00 committed by Arian
parent 302ce901c0
commit 84e0156c30
No known key found for this signature in database
GPG Key ID: 48029380598CE3B9
9 changed files with 1100 additions and 7 deletions

View File

@ -0,0 +1,275 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (c) 2017 Qualcomm Technologies, Inc.
* All Rights Reserved.
* Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<!-- Supported XML tags with their fields.
* Major tag supports OpcodeValue.
* Minor tag supports OpcodeValue, Nodepath and Supported(Optional) fields.
* By default, all the resources are assumed as supported.
Supported field can be used to mark a resource as not supported.
* All the interactive nodes, ondemand nodes and some nodes of sched major
group which aren't being used are marked as Not supported by default and
can be enabled by using the target specific config files. -->
<!-- For resources which update multiple nodes or which require speical
acquire/release funcitons, need to mention the keyword SPECIAL_NODE
in their node path field and accordingly their ApplyOts and ResetOpts
functions need to be defined in the code.-->
<!-- For adding a new resource, a new minor tag with all mandatory fields
need to be added just before the end of it's major group. -->
<ResourceConfigs>
<PerfResources>
<!-- display off major start -->
<Major OpcodeValue="0x0" />
<Minor OpcodeValue="0x0" Node="SPECIAL_NODE - display_off" />
<!-- display off major end -->
<!-- power collapse major start -->
<Major OpcodeValue="0x1" />
<Minor OpcodeValue="0x0" Node="/dev/cpu_dma_latency" />
<Minor OpcodeValue="0x1" Node="/sys/module/lpm_levels/system/perf/perf-l2-pc/idle_enabled" />
<Minor OpcodeValue="0x2" Node="/sys/module/lpm_levels/parameters/bias_hyst" />
<Minor OpcodeValue="0x3" Node="/sys/module/lpm_levels/parameters/ref_stddev" />
<Minor OpcodeValue="0x4" Node="/sys/module/lpm_levels/parameters/tmr_add" />
<Minor OpcodeValue="0x5" Node="/sys/module/lpm_levels/parameters/lpm_ipi_prediction" Supported="no" />
<!-- power collapse major end -->
<!-- cpufreq major start -->
<Major OpcodeValue="0x2" />
<Minor OpcodeValue="0x0" Node="/sys/module/msm_performance/parameters/cpu_min_freq" />
<Minor OpcodeValue="0x1" Node="/sys/module/msm_performance/parameters/cpu_max_freq" />
<!-- cpufreq major end -->
<!-- sched major start -->
<Major OpcodeValue="0x3" />
<!--Sysfsnode paths may change basing on the target for minors 0x1, 0x4, 0x5, 0x9.
So, for targets with different node paths than default, need to be specified
in the target specific resource config xml file. -->
<Minor OpcodeValue="0x0" Node="/proc/sys/kernel/sched_boost" />
<Minor OpcodeValue="0x1" Node="/proc/sys/kernel/sched_prefer_idle" Supported="no" />
<Minor OpcodeValue="0x2" Node="/proc/sys/kernel/sched_migration_cost_ns" />
<Minor OpcodeValue="0x3" Node="/proc/sys/kernel/sched_small_task" />
<Minor OpcodeValue="0x4" Node="/proc/sys/kernel/sched_mostly_idle_load" Supported="no" />
<Minor OpcodeValue="0x5" Node="/proc/sys/kernel/sched_mostly_idle_nr_run" Supported="no" />
<Minor OpcodeValue="0x6" Node="/proc/sys/kernel/sched_init_task_load" />
<Minor OpcodeValue="0x7" Node="/proc/sys/kernel/sched_upmigrate" />
<Minor OpcodeValue="0x8" Node="/proc/sys/kernel/sched_downmigrate" />
<Minor OpcodeValue="0x9" Node="/proc/sys/kernel/sched_mostly_idle_freq" Supported="no" />
<Minor OpcodeValue="0xA" Node="SPECIAL_NODE - sched_add_group" />
<Minor OpcodeValue="0xB" Node="/proc/sys/kernel/sched_spill_nr_run" />
<Minor OpcodeValue="0xC" Node="/sys/devices/system/cpu/cpu0/sched_static_cpu_pwr_cost" />
<Minor OpcodeValue="0xD" Node="/proc/sys/kernel/sched_restrict_cluster_spill" />
<Minor OpcodeValue="0xE" Node="SPECIAL_NODE - sched_freq_add_group" />
<Minor OpcodeValue="0xF" Node="/dev/cpuset/top-app/cpus" />
<Minor OpcodeValue="0x10" Node="/dev/cpuset/foreground/cpus" />
<Minor OpcodeValue="0x11" Node="/dev/cpuset/system-background/cpus" />
<Minor OpcodeValue="0x12" Node="/dev/cpuset/background/cpus" />
<Minor OpcodeValue="0x13" Node="/proc/sys/kernel/sched_freq_aggregate" />
<Minor OpcodeValue="0x14" Node="/proc/sys/kernel/sched_enable_thread_grouping" />
<Minor OpcodeValue="0x15" Node="/proc/sys/kernel/sched_group_upmigrate" />
<Minor OpcodeValue="0x16" Node="/proc/sys/kernel/sched_group_downmigrate" />
<!-- sched_freq_aggr_threshold perflock will have contention with sched_boost level 3,
so disable this resource for the target which is going to use sched boost 3 level.-->
<Minor OpcodeValue="0x17" Node="/proc/sys/kernel/sched_freq_aggregate_threshold" />
<Minor OpcodeValue="0x18" Node="/dev/stune/top-app/schedtune.prefer_idle" />
<Minor OpcodeValue="0x19" Node="/proc/sys/kernel/sched_initial_task_util" />
<Minor OpcodeValue="0x1A" Node="/sys/devices/system/cpu/cpu0/sched_load_boost" />
<Minor OpcodeValue="0x1B" Node="/proc/sys/kernel/sched_little_cluster_coloc_fmin_khz" />
<Minor OpcodeValue="0x1C" Node="/dev/stune/top-app/schedtune.boost" />
<Minor OpcodeValue="0x1D" Node="/proc/sys/kernel/sched_busy_hysteresis_enable_cpus" />
<Minor OpcodeValue="0x1E" Node="/proc/sys/kernel/sched_min_task_util_for_colocation" />
<Minor OpcodeValue="0x1F" Node="/proc/sys/kernel/sched_min_task_util_for_boost" />
<Minor OpcodeValue="0x20" Node="/proc/%d/sched_boost" Supported="yes"/> <!-- sched_task_boost -->
<Minor OpcodeValue="0x21" Node="/proc/sys/kernel/sched_user_hint" /> <!--sched_user_hint -->
<Minor OpcodeValue="0x22" Node="/proc/sys/kernel/sched_task_unfilter_nr_windows" /> <!--sched_task_unfilter_nr_windows -->
<Minor OpcodeValue="0x23" Node="/proc/sys/kernel/sched_coloc_downmigrate_ns" /> <!--sched_coloc_downmigrate_ns -->
<Minor OpcodeValue="0x24" Node="/proc/sys/kernel/sched_coloc_busy_hysteresis_enable_cpus" />
<Minor OpcodeValue="0x25" Node="/proc/sys/kernel/sched_coloc_busy_hyst_ns" />
<Minor OpcodeValue="0x26" Node="/proc/sys/kernel/sched_window_stats_policy" />
<Minor OpcodeValue="0x27" Node="/proc/sys/kernel/sched_many_wakeup_threshold" />
<Minor OpcodeValue="0x28" Node="/proc/sys/kernel/sched_sync_hint_enable" />
<Minor OpcodeValue="0x29" Node="/proc/sys/kernel/sched_ravg_window_nr_ticks" />
<Minor OpcodeValue="0x2A" Node="/proc/sys/kernel/sched_prefer_spread" />
<Minor OpcodeValue="0x2B" Node="/dev/cpuctl/top-app/cpu.uclamp.min" />
<Minor OpcodeValue="0x2C" Node="/proc/%d/sched_boost" Supported="yes" /> <!-- enable sched_task_boost for top-app render thread-->
<Minor OpcodeValue="0x2D" Node="/proc/%d/sched_boost" Supported="yes" /> <!-- disable sched_task_boost for top-app render thread-->
<Minor OpcodeValue="0x2E" Node="/proc/sys/walt/sched_task_unfilter_period" />
<Minor OpcodeValue="0x2F" Node="/proc/sys/walt/sched_conservative_pl" />
<Minor OpcodeValue="0x30" Node="/proc/sys/walt/sched_coloc_busy_hyst_cpu_busy_pct" />
<Minor OpcodeValue="0x31" Node="/proc/sys/walt/sched_coloc_busy_hyst_cpu_ns" />
<Minor OpcodeValue="0x32" Node="/proc/sys/kernel/walt_rtg_cfs_boost_prio" />
<!-- sched major end -->
<!-- core hotplug major start -->
<Major OpcodeValue="0x4" />
<Minor OpcodeValue="0x0" Node="SPECIAL_NODE - lock_min_cores" />
<Minor OpcodeValue="0x1" Node="SPECIAL_NODE - lock_max_cores" />
<!-- core hotplug major end-->
<!-- interactive major start -->
<Major OpcodeValue="0x5" />
<!-- For following minors node paths might change basing on GovInstanceType and
Supported field might change basing on the type of CpufreqGov.-->
<Minor OpcodeValue="0x0" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay" Supported="no" />
<Minor OpcodeValue="0x1" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/boost" Supported="no" />
<Minor OpcodeValue="0x2" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse" Supported="no" />
<Minor OpcodeValue="0x3" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse_duration" Supported="no" />
<Minor OpcodeValue="0x4" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load" Supported="no" />
<Minor OpcodeValue="0x5" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq" Supported="no" />
<Minor OpcodeValue="0x6" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy" Supported="no" />
<Minor OpcodeValue="0x7" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time" Supported="no" />
<Minor OpcodeValue="0x8" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads" Supported="no" />
<Minor OpcodeValue="0x9" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate" Supported="no" />
<Minor OpcodeValue="0xA" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_slack" Supported="no" />
<Minor OpcodeValue="0xB" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis" Supported="no" />
<Minor OpcodeValue="0xC" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load" Supported="no" />
<Minor OpcodeValue="0xD" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif" Supported="no" />
<Minor OpcodeValue="0xE" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif" Supported="no" />
<Minor OpcodeValue="0xF" Node="/sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq" />
<Minor OpcodeValue="0x10" Node="/sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load" />
<Minor OpcodeValue="0x11" Node="/sys/devices/system/cpu/cpu0/cpufreq/schedutil/pl" />
<Minor OpcodeValue="0x12" Node="/sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us" />
<Minor OpcodeValue="0x13" Node="/sys/devices/system/cpu/cpu0/cpufreq/schedutil/rtg_boost_freq" />
<!-- interactive major end -->
<!-- cpubw hwmon major start -->
<Major OpcodeValue="0x6" />
<!-- ALl the following minors might change based on target. -->
<Minor OpcodeValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpubw/min_freq" />
<Minor OpcodeValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/decay_rate" />
<Minor OpcodeValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent" />
<Minor OpcodeValue="0x3" Node="SPECIAL_NODE - cpubw_hwmon_hyst_opt" />
<Minor OpcodeValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_ceil_mbps" />
<Minor OpcodeValue="0x5" Node="/sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_io_percent" />
<Minor OpcodeValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpubw/max_freq" />
<Minor OpcodeValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpubw/polling_interval" />
<Minor OpcodeValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms" />
<Minor OpcodeValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps" />
<!--Here onwards are the path for new opcodes to mark CPU_LLCC_BW nodes.Upper ones
of this major are marked as unsupported for the tergets using the new opcodes-->
<Minor OpcodeValue="0xA" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/min_freq" />
<Minor OpcodeValue="0xB" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/up_scale" />
<Minor OpcodeValue="0xC" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/use_ab" />
<Minor OpcodeValue="0xD" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/io_percent" />
<Minor OpcodeValue="0xE" Node="SPECIAL_NODE - llcbw_hwmon_hyst_opt" />
<Minor OpcodeValue="0xF" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/sample_ms" />
<!-- cpubw hwmon major end -->
<!-- video major start -->
<Major OpcodeValue="0x7" />
<Minor OpcodeValue="0x0" Node="SPECIAL_NODE - handle_vid_encplay_hint" />
<Minor OpcodeValue="0x1" Node="SPECIAL_NODE - handle_vid_decplay_hint" />
<Minor OpcodeValue="0x2" Node="SPECIAL_NODE - handle_disp_hint" />
<!-- video major end -->
<!-- ksm major start -->
<Major OpcodeValue="0x8" />
<Minor OpcodeValue="0x0" Node="SPECIAL_NODE - disable_ksm" />
<Minor OpcodeValue="0x1" Node="SPECIAL_NODE - set_ksm_param" />
<!-- ksm major end -->
<!-- ondemand major start -->
<Major OpcodeValue="0x9" />
<Minor OpcodeValue="0x0" Node="/sys/devices/system/cpu/cpufreq/ondemand/sampling_rate" Supported="no" />
<Minor OpcodeValue="0x1" Node="/sys/devices/system/cpu/cpufreq/ondemand/io_is_busy" Supported="no" />
<Minor OpcodeValue="0x2" Node="/sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor" Supported="no" />
<Minor OpcodeValue="0x3" Node="/sys/devices/system/cpu/cpufreq/ondemand/sync_freq" Supported="no" />
<Minor OpcodeValue="0x4" Node="/sys/devices/system/cpu/cpufreq/ondemand/optimal_freq" Supported="no" />
<Minor OpcodeValue="0x5" Node="/sys/devices/system/cpu/cpufreq/ondemand/enable_stepup" Supported="no" />
<Minor OpcodeValue="0x6" Node="/sys/devices/system/cpu/cpufreq/ondemand/max_intermediate_steps" Supported="no" />
<Minor OpcodeValue="0x7" Node="/dev/cpuctl/cpu.notify_on_migrate" Supported="no" />
<!-- ondemand major end -->
<!-- gpu major start -->
<Major OpcodeValue="0xA" />
<Minor OpcodeValue="0x0" Node="/sys/class/kgsl/kgsl-3d0/default_pwrlevel" />
<Minor OpcodeValue="0x1" Node="/sys/class/kgsl/kgsl-3d0/min_pwrlevel" />
<Minor OpcodeValue="0x2" Node="/sys/class/kgsl/kgsl-3d0/max_pwrlevel" />
<Minor OpcodeValue="0x3" Node="/sys/class/kgsl/kgsl-3d0/devfreq/min_freq" />
<Minor OpcodeValue="0x4" Node="/sys/class/kgsl/kgsl-3d0/devfreq/max_freq" />
<Minor OpcodeValue="0x5" Node="/sys/class/devfreq/soc:qcom,gpubw/min_freq" />
<Minor OpcodeValue="0x6" Node="/sys/class/devfreq/soc:qcom,gpubw/max_freq" />
<Minor OpcodeValue="0x7" Node="SPECIAL_NODE - gpu_disable_gpu_nap" />
<Minor OpcodeValue="0x8" Node="/sys/class/kgsl/kgsl/proc/%d/state" />
<Minor OpcodeValue="0x9" Node="/sys/class/kgsl/kgsl/proc/%d/state" />
<Minor OpcodeValue="0xA" Node="/sys/class/kgsl/kgsl-3d0/devfreq/mod_percent" />
<!-- gpu major end -->
<!-- misc major start -->
<Major OpcodeValue="0xB" />
<Minor OpcodeValue="0x0" Node="SPECIAL_NODE - unsupported" />
<Minor OpcodeValue="0x1" Node="SPECIAL_NODE - irq_balancer" />
<Minor OpcodeValue="0x2" Node="/sys/module/cpu_boost/parameters/input_boost_freq" />
<Minor OpcodeValue="0x3" Node="/proc/sys/vm/swap_ratio" />
<Minor OpcodeValue="0x4" Node="StorageNode_path_is_figured_out_based_on_the_target_device" />
<Minor OpcodeValue="0x5" Node="SPECIAL_NODE - dummy_or_keep_alive" />
<Minor OpcodeValue="0x6" Node="/sys/module/process_reclaim/parameters/enable_process_reclaim" />
<Minor OpcodeValue="0x7" Node="/proc/perfmode" />
<!-- misc major end -->
<!-- llcbw hwmon major start -->
<Major OpcodeValue="0xC" />
<!-- ALl the following minors node path might change based on target. -->
<Minor OpcodeValue="0x0" Node="/sys/class/devfreq/soc:qcom,llccbw/min_freq" />
<Minor OpcodeValue="0x1" Node="/sys/class/devfreq/soc:qcom,llccbw/bw_hwmon/io_percent" />
<Minor OpcodeValue="0x2" Node="SPECIAL_NODE - llcbw_hwmon_hyst_opt" />
<Minor OpcodeValue="0x3" Node="/sys/class/devfreq/soc:qcom,llccbw/bw_hwmon/sample_ms" />
<!--Here onwards are the path for new opcodes to mark LLCC_DDR_BW nodes.Upper ones
of this major are marked as unsupported for the tergets using the new opcodes-->
<Minor OpcodeValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/min_freq" />
<Minor OpcodeValue="0x5" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/up_scale" />
<Minor OpcodeValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/max_freq" />
<Minor OpcodeValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/decay_rate" />
<Minor OpcodeValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/io_percent" />
<Minor OpcodeValue="0x9" Node="SPECIAL_NODE - cpubw_hwmon_hyst_opt" />
<Minor OpcodeValue="0xA" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/low_power_ceil_mbps" />
<Minor OpcodeValue="0xB" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/low_power_io_percent" />
<Minor OpcodeValue="0xC" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/polling_interval" />
<Minor OpcodeValue="0xD" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/sample_ms" />
<Minor OpcodeValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/idle_mbps" />
<!-- llcbw hwmon major end -->
<!-- memlat major start -->
<Major OpcodeValue="0xD" />
<!-- ALl the following minors node path might change based on target. -->
<Minor OpcodeValue="0x0" Node="/sys/class/devfreq/soc:qcom,l3-cpu%d/min_freq" />
<Minor OpcodeValue="0x1" Node="/sys/class/devfreq/soc:qcom,memlat-cpu0/mem_latency/ratio_ceil" />
<Minor OpcodeValue="0x2" Node="/sys/class/devfreq/soc:qcom,memlat-cpu4/mem_latency/ratio_ceil" />
<Minor OpcodeValue="0x3" Node="/sys/class/devfreq/soc:qcom,memlat-cpu0/mem_latency/stall_floor" />
<Minor OpcodeValue="0x4" Node="/sys/class/devfreq/soc:qcom,memlat-cpu4/mem_latency/stall_floor" />
<Minor OpcodeValue="0x5" Node="/sys/class/devfreq/soc:qcom,memlat-cpu0/min_freq" />
<Minor OpcodeValue="0x6" Node="/sys/class/devfreq/soc:qcom,memlat-cpu4/min_freq" />
<Minor OpcodeValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-llcc-lat/min_freq" />
<Minor OpcodeValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-llcc-lat/mem_latency/ratio_ceil" />
<Minor OpcodeValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-llcc-lat/mem_latency/ratio_ceil" />
<Minor OpcodeValue="0xA" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-llcc-lat/mem_latency/stall_floor" />
<Minor OpcodeValue="0xB" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-llcc-lat/mem_latency/stall_floor" />
<Minor OpcodeValue="0xC" Node="/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/min_freq" />
<Minor OpcodeValue="0xD" Node="/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/mem_latency/ratio_ceil" />
<Minor OpcodeValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu4-llcc-ddr-lat/mem_latency/ratio_ceil" />
<Minor OpcodeValue="0xF" Node="/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/mem_latency/stall_floor" />
<Minor OpcodeValue="0x10" Node="/sys/class/devfreq/soc:qcom,cpu4-llcc-ddr-lat/mem_latency/stall_floor" />
<!-- memlat major end -->
<!-- npu major start -->
<Major OpcodeValue="0xE" />
<!-- ALl the following minors node path might change based on target. -->
<Minor OpcodeValue="0x0" Node="/sys/class/devfreq/soc:qcom,npu-npu-llcc-bw/bw_hwmon/sample_ms" />
<Minor OpcodeValue="0x1" Node="/sys/class/devfreq/soc:qcom,npu-npu-llcc-bw/bw_hwmon/io_percent" />
<Minor OpcodeValue="0x2" Node="SPECIAL_NODE - npu_llcbw_hwmon_hyst_opt" />
<!--Here onwards are the path for new opcodes to mark NPU_LLCC_DDR_BW nodes.-->
<Minor OpcodeValue="0x3" Node="/sys/class/devfreq/soc:qcom,npu-llcc-ddr-bw/bw_hwmon/sample_ms" />
<Minor OpcodeValue="0x4" Node="/sys/class/devfreq/soc:qcom,npu-llcc-ddr-bw/bw_hwmon/io_percent" />
<Minor OpcodeValue="0x5" Node="SPECIAL_NODE - npu_ddr_llcbw_hwmon_hyst_opt" />
<!-- npu major end -->
</PerfResources>
</ResourceConfigs>

View File

@ -0,0 +1,32 @@
# Copyright (c) 2017, 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.
#
#
PRIO=1,1,1,1,0,0,0,0
#arch_timer, arm-pmu, arch_mem_timer
IGNORED_IRQ=19,21,39

View File

@ -0,0 +1,317 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/* Copyright (c) 2018 Qualcomm Technologies, Inc.
* All Rights Reserved.
* Confidential and Proprietary - Qualcomm Technologies, Inc.
*/
-->
<!--Ids are used in identifying the boosts, increment ids linearly,
do not modify Ids, or add in between-->
<!--follow the number format rules while specifying number, can be given
in any format-->
<BoostConfigs>
<PerfBoost>
<!--app lauch boost-->
<!-- SCHED DOWNMIGRATE resource opcode, value-->
<!-- SCHED UPMIGRATE resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<!-- Type="1", main launch boost of 2sec -->
<Config
Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msmsteppe"
Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1516,
0x40800100, 1516" />
<Config
Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdmmagpie"
Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
0x40800100, 0xFFF" />
<!--app lauch boost (disabling packing)-->
<!-- POWER COLLAPSE resource opcode, value-->
<!-- STORAGE CLK SCALING resource opcode, value-->
<!-- CPUBW_MIN_FREQ resource opcode, value-->
<!-- LLCCBW resource opcode, value-->
<!-- L3 resource opcode, value-->
<!-- GPU nap resource opcode, value-->
<!-- Type="2", launch boost for disable packing 1.5sec -->
<Config
Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="msmsteppe"
Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59,
0x41828000, 806, 0x43400000, 1190, 0x4281C000, 1500" />
<Config
Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="sdmmagpie"
Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59,
0x41828000, 806, 0x43400000, 1190, 0x4281C000, 1500" />
<!-- config_enableLaunchBoostv3-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
<!-- SCHED GROUP UPMIGRATE resource opcode, value-->
<!-- LPM Bias resource opcode, value-->
<!-- Type="3", FA launch boost of 15sec -->
<Config
Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="msmsteppe"
Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" />
<Config
Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdmmagpie"
Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" />
<!-- config_gameBoost-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
<!-- SCHED GROUP UPMIGRATE resource opcode, value-->
<!-- LPM Bias resource opcode, value-->
<!-- Type="4", FA launch boost of 15sec -->
<Config
Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="msmsteppe"
Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" />
<Config
Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="sdmmagpie"
Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" />
<!-- config_enableLaunchBoostv5-->
<!-- MIN_ONLINE_CPU_CLUSTER_BIG resource opcode, value-->
<!-- MIN_ONLINE_CPU_CLUSTER_LITTLE resource opcode, value-->
<!-- GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_BIG resource opcode, value-->
<!-- GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_LITTLE resource opcode, value-->
<!-- HISPEED_FREQ_INTERACTIVE_CLUSTER_BIG resource opcode, value-->
<!-- HISPEED_FREQ_INTERACTIVE_CLUSTER_LITTLE resource opcode, value-->
<!-- SCHED DOWNMIGRATE resource opcode, value-->
<!-- SCHED UPMIGRATE resource opcode, value-->
<!-- L2_MEMLAT_RATIO_CEIL_0 resource opcode, value-->
<!-- L2_MEMLAT_RATIO_CEIL_1 resource opcode, value-->
<!-- LPM_LEVELS_REF_STDDEV resource opcode, value-->
<!-- LPM_LEVELS_TMR_ADD resource opcode, value-->
<!-- Type="5", Adaptive Launch boost -->
<Config
Id="0x00001081" Type="5" Enable="true" Timeout="2000" Target="msmsteppe"
Resources="0x41000100, 0x4, 0x41000000, 0x4,
0x41440000, 0x28, 0x41440100, 0x28,
0x4143C000, 0xFFF, 0x4143C100, 0xFFF,
0x40C20000, 0x28, 0x40C1C000, 0x32,
0x43404000, 0x2710, 0x43408000, 0x2710,
0x4040C000, 0x1F4, 0x40410000, 0x3E8" />
<Config
Id="0x00001081" Type="5" Enable="true" Timeout="2000" Target="sdmmagpie"
Resources="0x41000100, 0x4, 0x41000000, 0x4,
0x41440000, 0x28, 0x41440100, 0x28,
0x4143C000, 0xFFF, 0x4143C100, 0xFFF,
0x40C20000, 0x28, 0x40C1C000, 0x32,
0x43404000, 0x2710, 0x43408000, 0x2710,
0x4040C000, 0x1F4, 0x40410000, 0x3E8" />
<!-- config_enableLaunchBoost6-->
<!-- LPM_BIAS resource opcode, val ms-->
<!-- SLB_BIG, val, SLB_BIG, val-->
<!-- SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val -->
<!-- MIN_FREQ_BIG, val MHz -->
<!-- CPU_DOWN_FREQ_THRESHOLD_US, val us -->
<!-- Type="6", Game Launch boost -->
<Config
Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="msmsteppe"
Resources="0x40408000, 0x5,
0x40C68000, 60, 0x40C68010, 60,
0x40C68100, 33, 0x40C68110, 33, 0x40C68120, 33, 0x40C68130, 33, 0x40C68140, 33, 0x40C68150, 33,
0x40800000, 1363,
0x41448000, 20000 "/>
<Config
Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="sdmmagpie"
Resources="0x40408000, 0x5,
0x40C68000, 60, 0x40C68010, 60,
0x40C68100, 33, 0x40C68110, 33, 0x40C68120, 33, 0x40C68130, 33, 0x40C68140, 33, 0x40C68150, 33,
0x40800000, 1324,
0x41448000, 20000 "/>
<!--Animation boost -->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<Config
Id="0x00001083" Enable="true" Timeout="400" Target="msmsteppe"
Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 2208, 0x40800100, 1708" />
<Config
Id="0x00001083" Enable="true" Timeout="400" Target="sdmmagpie"
Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 2438, 0x40800100, 1804" />
<!--Vertical Scroll boost-->
<!-- CPUBW_MIN_FREQ resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- Type="1", Vertical Scroll boost -->
<Config
Id="0x00001080" Type="1" Enable="true" Target="msmsteppe"
Resources="0x43010000, 0x26, 0x40800000, 1017, 0x40800100, 1100, 0x40C00000, 2" />
<Config
Id="0x00001080" Type="1" Enable="true" Target="sdmmagpie"
Resources="0x43010000, 0x26, 0x40800000, 1094, 0x40800100, 1248, 0x40C00000, 2" />
<!--Horizontal Scroll boost-->
<!-- CPUBW_MIN_FREQ resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- Type="2", Horizontal Scroll boost -->
<Config
Id="0x00001080" Type="2" Enable="true" Target="msmsteppe"
Resources="0x43010000, 0x26, 0x40800000, 1017, 0x40800100, 1100, 0x40C00000, 2" />
<Config
Id="0x00001080" Type="2" Enable="true" Target="sdmmagpie"
Resources="0x43010000, 0x26, 0x40800000, 1094, 0x40800100, 1248, 0x40C00000, 2" />
<!--Pre-Fling boost-->
<!-- CPUBW_MIN_FREQ resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- SCHEDBOOST resource opcode, value-->
<!-- Type="4", Pre-Fling boost -->
<Config
Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="msmsteppe"
Resources="0x43010000, 0x26, 0x40800000, 1017, 0x40800100, 1100, 0x40C00000, 2" />
<Config
Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdmmagpie"
Resources="0x43010000, 0x26, 0x40800000, 1094, 0x40800100, 1248, 0x40C00000, 2" />
<!--MTP boost-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBW_MIN_FREQ resource opcode, value-->
<!-- DISABLE_POWER_COLLAPSE resource opcode, value-->
<!-- STORAGE CLK SCALING resource opcode, value-->
<!-- Type="", MTP boost -->
<Config
Id="0x00001086" Enable="true" Target="msmsteppe"
Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1516,
0x40800100, 1516, 0x42C10000, 0x1" />
<Config
Id="0x00001086" Enable="true" Target="sdmmagpie"
Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
0x40800100, 0xFFF, 0x41800000, 140, 0x40400000, 0x1, 0x42C10000, 0x1" />
<!--PackageInstall boost-->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<!-- SCHED_SYNC_HINT_ENABLE resource opcode, value-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- Type="", Package Install boost -->
<Config
Id="0x00001088" Enable="true" Target="msmsteppe"
Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
0x40800100, 0xFFF, 0x40CA0000, 0, 0x40C00000, 2" />
<Config
Id="0x00001088" Enable="true" Target="sdmmagpie"
Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
0x40800100, 0xFFF, 0x40CA0000, 0, 0x40C00000, 2" />
<!--Rotation latency boost-->
<!-- SCHEDBOOST resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<!-- Type="", Rotation latency boost -->
<Config
Id="0x00001089" Enable="true" Timeout="1500" Target="msmsteppe"
Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
0x40800100,0xFFF" />
<Config
Id="0x00001089" Enable="true" Timeout="1500" Target="sdmmagpie"
Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
0x40800100,0xFFF" />
<!--Rotation animation boost-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<!-- GPU MIN_FREQUENCY resource opcode,value-->
<!-- Type="", Rotation animation boost -->
<Config
Id="0x00001090" Enable="true" Timeout="1000" Target="msmsteppe"
Resources="0x40800100, 1000, 0x4280C000, 596" />
<Config
Id="0x00001090" Enable="true" Timeout="1000" Target="sdmmagpie"
Resources="0x40800100, 1209, 0x4280C000, 800" />
<!--Drag boost-->
<!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
<!-- Type="1", Drag boost -->
<Config
Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="sdmmagpie"
Resources="0x40800000, 1324, 0x40800100, 1248" />
<!--Display on Resource -->
<!-- Display on resource opcode, value -->
<Config
Id="0x00001041" Enable="true" Timeout="0" Target="msmsteppe"
Resources="0x40000000, 1" />
<Config
Id="0x00001041" Enable="true" Timeout="0" Target="sdmmagpie"
Resources="0x40000000, 1" />
<!--Display off Resource -->
<!-- Display on resource opcode, value -->
<Config
Id="0x00001040" Enable="true" Timeout="0" Target="msmsteppe"
Resources="0x40000000, 0x0" />
<Config
Id="0x00001040" Enable="true" Timeout="0" Target="sdmmagpie"
Resources="0x40000000, 0x0" />
<!--XiaoMi bluetooth boost-->
<!-- SCHED DOWNMIGRATE resource opcode, value-->
<!-- SCHED UPMIGRATE resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
<!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
<!-- Type="1", bluetooth boost of 3sec -->
<Config
Id="0x00011C0" Type="1" Enable="true" Timeout="3000" Target="msmsteppe"
Resources="0x40400000, 0x1, 0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF,
0x40804100, 0xFFF, 0x40800000, 1516, 0x40800100, 1516" />
<Config
Id="0x00011C0" Type="1" Enable="true" Timeout="3000" Target="sdmmagpie"
Resources="0x40400000, 0x1, 0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF,
0x40804100, 0xFFF, 0x40800000, 0xFFF, 0x40800100, 0xFFF" />
</PerfBoost>
</BoostConfigs>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (c) 2019 Qualcomm Technologies, Inc.
* All Rights Reserved.
* Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<!-- This is PerfConfigsStore file which returns the value when a
particular property name is invoked -->
<!-- This file supports only Prop tag, which has the following fields
* Name, to identify the name of the property. The names of the
properties have been classified into Vendor and System property.
* Value, the new value to be returned as string when respective
property Name is called. -->
<PerfConfigsStore>
<PerfConfigs>
<!--Vendor Properties -->
<Prop Name="vendor.debug.enable.lm" Value="true" />
<Prop Name="vendor.iop.enable_uxe" Value="0" />
<Prop Name="vendor.enable.prefetch" Value="false" />
<Prop Name="vendor.iop.enable_prefetch_ofr" Value="false" />
<Prop Name="vendor.perf.iop_v3.enable" Value="false" />
<Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" />
<!--System Properties -->
<Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
<Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
<Prop Name="ro.lmk.enable_userspace_lmk" Value="false" />
</PerfConfigs>
</PerfConfigsStore>

284
configs/perf/powerhint.xml Normal file
View File

@ -0,0 +1,284 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
/* Copyright (c) 2016-2020, 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.
*/
-->
<HintConfigs>
<Powerhint>
<!-- camera 30fps and camera preview -->
<!--L CPU CORE 0 SCHED LOAD BOOST -->
<!--L CPU CORE 1 SCHED LOAD BOOST -->
<!--L CPU CORE 2 SCHED LOAD BOOST -->
<!--L CPU CORE 3 SCHED LOAD BOOST -->
<!--L CPU CORE 4 SCHED LOAD BOOST -->
<!--L CPU CORE 5 SCHED LOAD BOOST -->
<!--L CPU Hispeed freq of 998Mhz -->
<!--L CPU - Set hispeed load 95 -->
<!--BWMON - Set sample_ms 20 for both cpu and llcc -->
<!--Change min freq to 748Mhz -->
<Config
Id="0x00001331" Enable="true" Timeout="0" Target="msmsteppe"
Resources="0x40C68100, 0xFFFFFFFA, 0x40C68110, 0xFFFFFFFA, 0x40C68120, 0xFFFFFFFA,
0x40C68130, 0xFFFFFFFA, 0x40C68140, 0xFFFFFFFA, 0x40C68150, 0xFFFFFFFA,
0x4143C100, 0x3F9, 0x41440100, 0x5F, 0x4183C000, 0x14, 0x43034000, 0x14, 0x40800100,0x2EC"/>
<!-- camera 60 FPS -->
<!--L CPU CORE 0 SCHED LOAD BOOST -->
<!--L CPU CORE 1 SCHED LOAD BOOST -->
<!--L CPU CORE 2 SCHED LOAD BOOST -->
<!--L CPU CORE 3 SCHED LOAD BOOST -->
<!--L CPU CORE 4 SCHED LOAD BOOST -->
<!--L CPU CORE 5 SCHED LOAD BOOST -->
<!--BWMON - Set sample_ms 20 -->
<Config
Id="0x00001332" Enable="true" Timeout="0" Target="msmsteppe"
Resources="0x40C68100, 0xFFFFFFFA, 0x40C68110, 0xFFFFFFFA, 0x40C68120, 0xFFFFFFFA,
0x40C68130, 0xFFFFFFFA, 0x40C68140, 0xFFFFFFFA, 0x40C68150, 0xFFFFFFFA,
0x4183C000, 0x14, 0x40800100,0x2EC"/>
<!-- camera HFR -->
<!--L CPU CORE 0 SCHED LOAD BOOST -->
<!--L CPU CORE 1 SCHED LOAD BOOST -->
<!--L CPU CORE 2 SCHED LOAD BOOST -->
<!--L CPU CORE 3 SCHED LOAD BOOST -->
<!--L CPU CORE 4 SCHED LOAD BOOST -->
<!--L CPU CORE 5 SCHED LOAD BOOST -->
<!--BWMON - Set sample_ms 20 -->
<Config
Id="0x00001333" Enable="true" Timeout="0" Target="msmsteppe"
Resources="0x40C68100, 0xFFFFFFFA, 0x40C68110, 0xFFFFFFFA, 0x40C68120, 0xFFFFFFFA,
0x40C68130, 0xFFFFFFFA, 0x40C68140, 0xFFFFFFFA, 0x40C68150, 0xFFFFFFFA,
0x4183C000, 0x14, 0x40800100,0x2EC"/>
<!-- Dual camera -->
<!--L CPU CORE 0 SCHED LOAD BOOST -->
<!--L CPU CORE 1 SCHED LOAD BOOST -->
<!--L CPU CORE 2 SCHED LOAD BOOST -->
<!--L CPU CORE 3 SCHED LOAD BOOST -->
<!--L CPU CORE 4 SCHED LOAD BOOST -->
<!--L CPU CORE 5 SCHED LOAD BOOST -->
<!--BWMON - Set sample_ms 20 -->
<Config
Id="0x00001334" Enable="true" Timeout="0" Target="msmsteppe"
Resources="0x40C68100, 0xFFFFFFFA, 0x40C68110, 0xFFFFFFFA, 0x40C68120, 0xFFFFFFFA,
0x40C68130, 0xFFFFFFFA, 0x40C68140, 0xFFFFFFFA, 0x40C68150, 0xFFFFFFFA,
0x4183C000, 0x14, 0x40800100,0x2EC"/>
<!-- camera 30fps and camera preview -->
<!--L CPU CORE 0 SCHED LOAD BOOST -->
<!--L CPU CORE 1 SCHED LOAD BOOST -->
<!--L CPU CORE 2 SCHED LOAD BOOST -->
<!--L CPU CORE 3 SCHED LOAD BOOST -->
<!--L CPU CORE 4 SCHED LOAD BOOST -->
<!--L CPU CORE 5 SCHED LOAD BOOST -->
<!--L CPU Hispeed freq of 998Mhz -->
<!--L CPU - Set hispeed load 95 -->
<!--CPU-LLCC BWMON - Set sample_ms 20 -->
<!--LLCC-DDR BWMON - Set sample_ms 20 -->
<Config
Id="0x00001331" Enable="true" Timeout="0" Target="sdmmagpie"
Resources="0x40C68100, 0xFFFFFFFA, 0x40C68110, 0xFFFFFFFA, 0x40C68120, 0xFFFFFFFA,
0x40C68130, 0xFFFFFFFA, 0x40C68140, 0xFFFFFFFA, 0x40C68150, 0xFFFFFFFA,
0x4143C100, 0x3F9, 0x41440100, 0x5F, 0x4183C000, 0x14, 0x43034000, 0x14"/>
<!-- camera 60 FPS -->
<!--L CPU CORE 0 SCHED LOAD BOOST -->
<!--L CPU CORE 1 SCHED LOAD BOOST -->
<!--L CPU CORE 2 SCHED LOAD BOOST -->
<!--L CPU CORE 3 SCHED LOAD BOOST -->
<!--L CPU CORE 4 SCHED LOAD BOOST -->
<!--L CPU CORE 5 SCHED LOAD BOOST -->
<!--CPU-LLCC BWMON - Set sample_ms 20 -->
<!--LLCC-DDR BWMON - Set sample ms 20 -->
<Config
Id="0x00001332" Enable="true" Timeout="0" Target="sdmmagpie"
Resources="0x40C68100, 0xFFFFFFFA, 0x40C68110, 0xFFFFFFFA, 0x40C68120, 0xFFFFFFFA,
0x40C68130, 0xFFFFFFFA, 0x40C68140, 0xFFFFFFFA, 0x40C68150, 0xFFFFFFFA,
0x4183C000, 0x14, 0x43034000, 0x14"/>
<!-- camera HFR -->
<!--L CPU CORE 0 SCHED LOAD BOOST -->
<!--L CPU CORE 1 SCHED LOAD BOOST -->
<!--L CPU CORE 2 SCHED LOAD BOOST -->
<!--L CPU CORE 3 SCHED LOAD BOOST -->
<!--L CPU CORE 4 SCHED LOAD BOOST -->
<!--L CPU CORE 5 SCHED LOAD BOOST -->
<!--CPU-LLCC BWMON - Set sample_ms 20 -->
<!--LLCC-DDR BWMON - Set sample ms 20 -->
<Config
Id="0x00001333" Enable="true" Timeout="0" Target="sdmmagpie"
Resources="0x40C68100, 0xFFFFFFFA, 0x40C68110, 0xFFFFFFFA, 0x40C68120, 0xFFFFFFFA,
0x40C68130, 0xFFFFFFFA, 0x40C68140, 0xFFFFFFFA, 0x40C68150, 0xFFFFFFFA,
0x4183C000, 0x14, 0x43034000, 0x14"/>
<!-- Dual camera -->
<!--L CPU CORE 0 SCHED LOAD BOOST -->
<!--L CPU CORE 1 SCHED LOAD BOOST -->
<!--L CPU CORE 2 SCHED LOAD BOOST -->
<!--L CPU CORE 3 SCHED LOAD BOOST -->
<!--L CPU CORE 4 SCHED LOAD BOOST -->
<!--L CPU CORE 5 SCHED LOAD BOOST -->
<!--CPU-LLCC BWMON - Set sample_ms 20 -->
<!--LLCC-DDR BWMON - Set sample ms 20 -->
<Config
Id="0x00001334" Enable="true" Timeout="0" Target="sdmmagpie"
Resources="0x40C68100, 0xFFFFFFFA, 0x40C68110, 0xFFFFFFFA, 0x40C68120, 0xFFFFFFFA,
0x40C68130, 0xFFFFFFFA, 0x40C68140, 0xFFFFFFFA, 0x40C68150, 0xFFFFFFFA,
0x4183C000, 0x14, 0x43034000, 0x14"/>
<!-- same settings for all the qvr power levels intentionally -->
<!-- qvr level cpu1 gpu1 -->
<!-- B CPU - Cluster min freq ~.806 Ghz -->
<!-- B CPU - Cluster max freq ~.2.169 Ghz -->
<!-- L CPU - Cluster min freq ~.576 Ghz -->
<!-- L CPU - Cluster max freq ~1.248 Ghz -->
<!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
<!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
<!-- Min Big CPUs 2 -->
<!-- Idefinite Duration -->
<Config
Id="0x0000130A" Enable="true" Target="sdmmagpie" Timeout="0"
Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
<!-- qvr level cpu1 gpu2 -->
<!-- B CPU - Cluster min freq ~.806 Ghz -->
<!-- B CPU - Cluster max freq ~.2.169 Ghz -->
<!-- L CPU - Cluster min freq ~.576 Ghz -->
<!-- L CPU - Cluster max freq ~1.248 Ghz -->
<!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
<!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
<!-- Min Big CPUs 2 -->
<!-- Idefinite Duration -->
<Config
Id="0x0000130B" Enable="true" Target="sdmmagpie" Timeout="0"
Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
<!-- qvr level cpu1 gpu3 -->
<!-- B CPU - Cluster min freq ~.806 Ghz -->
<!-- B CPU - Cluster max freq ~.2.169 Ghz -->
<!-- L CPU - Cluster min freq ~.576 Ghz -->
<!-- L CPU - Cluster max freq ~1.248 Ghz -->
<!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
<!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
<!-- Min Big CPUs 2 -->
<!-- Idefinite Duration -->
<Config
Id="0x0000130C" Enable="true" Target="sdmmagpie" Timeout="0"
Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
<!-- qvr level cpu2 gpu1 -->
<!-- B CPU - Cluster min freq ~.806 Ghz -->
<!-- B CPU - Cluster max freq ~.2.169 Ghz -->
<!-- L CPU - Cluster min freq ~.576 Ghz -->
<!-- L CPU - Cluster max freq ~1.248 Ghz -->
<!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
<!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
<!-- Min Big CPUs 2 -->
<!-- Idefinite Duration -->
<Config
Id="0x0000130D" Enable="true" Target="sdmmagpie" Timeout="0"
Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
<!-- qvr level cpu2 gpu2 -->
<!-- B CPU - Cluster min freq ~.806 Ghz -->
<!-- B CPU - Cluster max freq ~.2.169 Ghz -->
<!-- L CPU - Cluster min freq ~.576 Ghz -->
<!-- L CPU - Cluster max freq ~1.248 Ghz -->
<!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
<!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
<!-- Min Big CPUs 2 -->
<!-- Idefinite Duration -->
<Config
Id="0x0000130E" Enable="true" Target="sdmmagpie" Timeout="0"
Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
<!-- qvr level cpu2 gpu3 -->
<!-- B CPU - Cluster min freq ~.806 Ghz -->
<!-- B CPU - Cluster max freq ~.2.169 Ghz -->
<!-- L CPU - Cluster min freq ~.576 Ghz -->
<!-- L CPU - Cluster max freq ~1.248 Ghz -->
<!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
<!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
<!-- Min Big CPUs 2 -->
<!-- Idefinite Duration -->
<Config
Id="0x0000130F" Enable="true" Target="sdmmagpie" Timeout="0"
Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
<!-- qvr level cpu3 gpu1 -->
<!-- B CPU - Cluster min freq ~.806 Ghz -->
<!-- B CPU - Cluster max freq ~.2.169 Ghz -->
<!-- L CPU - Cluster min freq ~.576 Ghz -->
<!-- L CPU - Cluster max freq ~1.248 Ghz -->
<!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
<!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
<!-- Min Big CPUs 2 -->
<!-- Idefinite Duration -->
<Config
Id="0x00001310" Enable="true" Target="sdmmagpie" Timeout="0"
Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
<!-- qvr level cpu3 gpu2 -->
<!-- B CPU - Cluster min freq ~.806 Ghz -->
<!-- B CPU - Cluster max freq ~.2.169 Ghz -->
<!-- L CPU - Cluster min freq ~.576 Ghz -->
<!-- L CPU - Cluster max freq ~1.248 Ghz -->
<!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
<!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
<!-- Min Big CPUs 2 -->
<!-- Idefinite Duration -->
<Config
Id="0x00001311" Enable="true" Target="sdmmagpie" Timeout="0"
Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
<!-- qvr level cpu3 gpu3 -->
<!-- B CPU - Cluster min freq ~.806 Ghz -->
<!-- B CPU - Cluster max freq ~2.169 Ghz -->
<!-- L CPU - Cluster min freq ~.576 Ghz -->
<!-- L CPU - Cluster max freq ~1.248 Ghz -->
<!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
<!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
<!-- Min Big CPUs 2 -->
<!-- Idefinite Duration -->
<Config
Id="0x00001312" Enable="true" Target="sdmmagpie" Timeout="0"
Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
</Powerhint>
</HintConfigs>

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (c) 2018 Qualcomm Technologies, Inc.
* All Rights Reserved.
* Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<TargetConfig>
<!-- All the target related information goes in TargetInfo tag.
Following are the supported fields for TargetInfo tag.
Mandatory Fields
* NumClusters, number of clusters
* TotalNumCores, total number of cores
* SocIds, a comma seperated list of supported socids for this target.
Other Fields
* Target, target name.
* SynCore, default value is "1" implies sync core and change to "0" for async core.
* CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1".
* MinCoreOnline, minimum number of cores needed to be online, default value is "0"
* GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE",
can be changed to "1" for "SINGLE_GOV_INSTANCE".
* CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it
to "1" for "SCHEDUTIL".
-->
<!-- For each cluster,write a seperate ClustersInfo tag.
Following are the supported fields for ClustersInfo tag.
Mandatory Fields
* Id, cluster number starts with index 0.
* NumCores, total number of cores for that cluster.
Other Fields
* Type, whther a "little" or "big" cluster.
(Type is mandatory, If there is more than one cluster.)
* MaxFrequency, Any limitations for max frequency for that cluster.
-->
<!-- For targets sharing the same platfrom, we can have seperate config tag for each
of those targets with different number in the Config tag and basing on the socId
of the target device, we decide which configs to consider. -->
<Config1>
<TargetInfo
Target="msmsteppe"
NumClusters="2"
TotalNumCores="8"
SocIds="355,369"
SynCore="1"
CoreCtlCpu="0"
MinCoreOnline="0"
CpufreqGov="1" />
<ClustersInfo Id="0" NumCores="6" Type="little" />
<ClustersInfo Id="1" NumCores="2" Type="big" />
</Config1>
<Config2>
<TargetInfo
Target="sdmmagpie"
NumClusters="2"
TotalNumCores="8"
SocIds="365,366"
SynCore="1"
CoreCtlCpu="0"
MinCoreOnline="0"
CpufreqGov="1" />
<ClustersInfo Id="0" NumCores="6" Type="little" />
<ClustersInfo Id="1" NumCores="2" Type="big" />
</Config2>
</TargetConfig>

View File

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (c) 2018 Qualcomm Technologies, Inc.
* All Rights Reserved.
* Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<!-- This is a target specific resource config file which can be
used to overwrite the node paths mentioned in common resources file
and also to modify the Supported field information. -->
<!-- This file supports only Config tag, which has the following fields
* MajorValue and MinorValue, both are required to uniquely
identify the resource.
* Node, the new node path to overwrite the already existing path
of commonresourceconfigs.xml file.
* Supported, to indicate whether the resource is supported or not.
* For each config tag, either of Node or Supported fields need
to be mentioned.
NOTE - It is not Mandatory to write all the resources which are not supported,
as anyway perflock calls of these resources would fail. -->
<ResourceConfigs>
<PerfResources>
<Config MajorValue="0x1" MinorValue="0x1" Supported="no" /> <!-- toggle_l2_pc_perf -->
<Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task -->
<Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load -->
<Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run -->
<Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost -->
<Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill -->
<Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr -->
<Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping -->
<Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold -->
<Config MajorValue="0x5" MinorValue="0x13" Supported="no" /> <!-- rtg_boost_freq -->
<!--All the cpubw_hmon path are now migrated to new opcodes.Hence unsupporting old ones-->
<Config MajorValue="0x6" MinorValue="0x0" Supported="no" />
<Config MajorValue="0x6" MinorValue="0x1" Supported="no" />
<Config MajorValue="0x6" MinorValue="0x2" Supported="no" />
<Config MajorValue="0x6" MinorValue="0x3" Supported="no" />
<Config MajorValue="0x6" MinorValue="0x4" Supported="no" />
<Config MajorValue="0x6" MinorValue="0x5" Supported="no" />
<Config MajorValue="0x6" MinorValue="0x6" Supported="no" />
<Config MajorValue="0x6" MinorValue="0x7" Supported="no" />
<Config MajorValue="0x6" MinorValue="0x8" Supported="no" />
<Config MajorValue="0x6" MinorValue="0x9" Supported="no" />
<!-- All llcbw path are now migrated to new opcode.Hence unsupporting old ones-->
<Config MajorValue="0xC" MinorValue="0x0" Supported="no" />
<Config MajorValue="0xC" MinorValue="0x1" Supported="no" />
<Config MajorValue="0xC" MinorValue="0x2" Supported="no" />
<Config MajorValue="0xC" MinorValue="0x3" Supported="no" />
<Config MajorValue="0xC" MinorValue="0xA" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
<Config MajorValue="0xC" MinorValue="0xB" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent -->
<Config MajorValue="0xD" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu%d-cpu-l3-lat/min_freq" />
<Config MajorValue="0xD" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/mem_latency/ratio_ceil" />
<Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-l3-lat/mem_latency/ratio_ceil" />
<Config MajorValue="0xD" MinorValue="0x3" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/mem_latency/stall_floor" />
<Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-l3-lat/mem_latency/stall_floor" />
<Config MajorValue="0xD" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-llcc-lat/mem_latency/ratio_ceil" />
<Config MajorValue="0xD" MinorValue="0xB" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-llcc-lat/mem_latency/stall_floor" />
<Config MajorValue="0xD" MinorValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/mem_latency/ratio_ceil" />
<Config MajorValue="0xD" MinorValue="0x10" Node="/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/mem_latency/stall_floor" />
</PerfResources>
</ResourceConfigs>

View File

@ -401,13 +401,6 @@ vendor/lib/vendor.qti.hardware.vpp@1.3.so
vendor/bin/hw/vendor.qti.hardware.perf@2.2-service
vendor/bin/msm_irqbalance
vendor/etc/init/vendor.qti.hardware.perf@2.2-service.rc
vendor/etc/msm_irqbalance.conf
vendor/etc/perf/commonresourceconfigs.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/lib64/libperfconfig.so
vendor/lib64/libperfgluelayer.so
vendor/lib64/libperfioctl.so

View File

@ -247,6 +247,16 @@ DEVICE_PACKAGE_OVERLAYS += \
PRODUCT_ENFORCE_RRO_TARGETS += *
# Perf
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/perf/commonresourceconfigs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/commonresourceconfigs.xml \
$(LOCAL_PATH)/configs/perf/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf \
$(LOCAL_PATH)/configs/perf/perfboostsconfig.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/perfboostsconfig.xml \
$(LOCAL_PATH)/configs/perf/perfconfigstore.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/perfconfigstore.xml \
$(LOCAL_PATH)/configs/perf/powerhint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.xml \
$(LOCAL_PATH)/configs/perf/targetconfig.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/targetconfig.xml \
$(LOCAL_PATH)/configs/perf/targetresourceconfigs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/targetresourceconfigs.xml
# Power
PRODUCT_PACKAGES += \
android.hardware.power-service-qti