summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Koskovich <zvnexus@outlook.com>2020-08-25 12:06:17 +0000
committeralk3pInjection <webmaster@raspii.tech>2022-01-16 08:24:08 +0800
commitcdfc07813553ed5681292c6acd8b5f05d2f12fa7 (patch)
tree2ef89183352cd5cf2bd156f1eebdc027856e613b
parent0ae8e61fdc7576cde1453bb0d5b1f38cac0fa962 (diff)
common: Add QTI perf component
Squashed with the following changes: Author: Vishalcj17 <vishalcj@aospa.co> Date: Thu Oct 28 15:59:17 2021 +0900 [DNM] perf: Remove libcomposerextn for now. * Causes surfaceflinger crash. Change-Id: Ic97b979e5217d8477a01827c7cd73b869643c9c1 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Thu Jun 3 11:16:51 2021 -0700 common: Update to QSSI (12100) | MANNAR (05700) Change-Id: Ie57ae6091f1bf20270a78041463d24cb0931152e Author: Alexander Koskovich <zvnexus@outlook.com> Date: Tue May 4 08:56:07 2021 -0700 common: perf: Add the poweropt service back. Change-Id: I2f4d083e159041b12a0864fb7ce3f44b08747988 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Tue May 4 07:52:47 2021 -0700 common: Update to QSSI (11600) | MANNAR (05200) Change-Id: I7e69f4bcb7c3dd322a96595cf014d3184d9bb000 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Mon Apr 26 22:11:38 2021 -0700 common: perf: Enable PASR active mode on v5.4 targets. Change-Id: Ifef2c6786b84dcb5ef5479176ba6ced23b696276 Author: Jun Wang <junwan@codeaurora.org> Date: Wed Apr 29 00:44:19 2020 +0800 common: perf: Enable the pre-rendering feature. * Pre-rendering feature can improve FPS and reduce the janks in scrolling cases. * It is to be noted that QCOM only intends this be enabled on LAHAINA, SHIMA, YUPIK and HOLI targets. Change-Id: Ifd19196bc1f43643826edcd5bfa70bcb9612eda7 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Wed Apr 21 08:29:48 2021 -0700 common: Include beluga properties for LAHAINA. Change-Id: Ib83c8e4959cf891fc0063408c0d8c7ea59c34ce5 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Wed Apr 21 08:38:40 2021 -0700 common: perf: Remove libmemutils. * It's an overriding target in LAHAINA display HAL, and it doesn't link against anything otherwise so not quite sure why I originally added it. Change-Id: I0ae5ab5191d1b983d44a7fffc1810dec7436916b Author: Alexander Koskovich <zvnexus@outlook.com> Date: Wed Apr 21 08:36:25 2021 -0700 common: perf: Add support for the gPLAF feature. Change-Id: I07f185138e6e03311a2a144f021f0f2343e8487f Author: Alexander Koskovich <zvnexus@outlook.com> Date: Thu Apr 22 06:04:36 2021 -0700 common: Move task profiles to perf component. * Looked like media on first glance to me. Change-Id: Ibc275a70441807be085984fac682fbe4fbb5039e Author: Alexander Koskovich <zvnexus@outlook.com> Date: Mon Apr 19 21:59:21 2021 -0700 common: perf: Simplify copy out. * Was broken on LAHAINA and realized that this is a lot more complicated than it needs to be. Change-Id: I530e3a83200d044af6a604bf8aef74c2c89f6944 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Thu Apr 15 01:59:21 2021 -0700 common: init: Update to LAHAINA (15500) | QSSI (11000). * The init component is LAHAINA (15800). Change-Id: I8e0414c31227c127cb469f4a8c7e335a4ec8f09f Author: Adithya R <gh0strider.2k18.reborn@gmail.com> Date: Sat Mar 13 21:34:03 2021 +0530 common: perf: Move sm6150 configs to correct folder * TARGET_BOARD_PLATFORM is set to sm6150 on this platform. * Also move perf configs correctly into subdir. Change-Id: Ia7f2f0c85ac5c3e43625a0c449d389e044a9e0e6 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Fri Mar 12 07:12:46 2021 -0700 common: perf: Remove libpowercallback. * Leftover. Change-Id: I95de5df6ca960bcc2fe1ea9cddb5d4fff433eb77 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Wed Mar 10 23:21:40 2021 -0700 common: perf: Update configs from LA.UM.9.12.r1-10800-SMxx50.0. Change-Id: Ic920b609f31b07225f00bc16a4548c2ee1780304 Author: StyloGey <stylogey@gmail.com> Date: Mon Mar 1 18:14:03 2021 +0100 common: perf: correct irq priority of sdm660 Change-Id: Ieb7035242598fa62cb58b19fb6ab3ceea7431f4c Author: Alexander Koskovich <zvnexus@outlook.com> Date: Mon Mar 1 06:58:05 2021 -0700 common: perf: Disable the IOP HAL for select platforms. Change-Id: Iabf70c3d8e94e10f64e7eb8e9afa47dfc562d9c4 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Mon Mar 1 06:24:13 2021 -0700 common: perf: Don't include platform boost configs. * HOLI doesn't build the boost HAL that uses these. Change-Id: I47d865876a7e02e569a75b6b173f203638743976 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Mon Mar 1 06:13:34 2021 -0700 common: perf: Remove poweropt service. * Pretty much no device can use this, and doesn't offer much value to the devices that can. Revisit this in the future. Change-Id: Id6875d6fffede876b7d9ca3a5bba84db8b8b8025 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Fri Feb 19 09:01:22 2021 -0700 common: perf: Build libpsi from source. * Pulled this into proprietary files without a second thought, assumed it was apart of psiclient. Change-Id: I0adca9e5a8c9b06bbf4b99d50b27309fc34bffda Author: Alexander Koskovich <zvnexus@outlook.com> Date: Fri Feb 19 00:12:26 2021 -0700 common: perf: Add performance configs per SoC. Change-Id: I5d630928c2b5d4b6f73b2ba2191178e5eea705ec Author: Alexander Koskovich <zvnexus@outlook.com> Date: Tue Feb 16 01:13:43 2021 -0700 common: perf: Don't advertise the sPLH feature. * Broken on every non 5.4 device, and its very vocal about that fact, performance dips as a result. Change-Id: I2564297bb3e4c8111ba024937e8186fe92f7c21e Author: Alexander Koskovich <zvnexus@outlook.com> Date: Mon Feb 15 20:40:21 2021 -0700 common: perf: Add back 32 bit libraries. * Turns out select legacy platforms require this still for media. Change-Id: I939d9762974fb640b44d5df00e33c7659f487564 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Thu Feb 11 09:47:16 2021 -0700 common: perf: Bring in /vendor stack from LA.UM.9.16.r1-03300-MANNAR.0. Change-Id: I36985b69b67778878508cc993d6bd5fc9d47f049 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Thu Feb 11 10:49:22 2021 -0700 common: Update to LA.QSSI.11.0.r1-09900-qssi.0. Change-Id: I6d4c3757904e55a043f57ba6ff2d269ed28f47ca Author: Alexander Koskovich <zvnexus@outlook.com> Date: Mon Feb 15 13:34:20 2021 -0700 common: Move AOSPA performance RC to proper component. Change-Id: I5c19db40049f500f1ef4ef9639f0c2d22f6233e6 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Fri Jan 29 11:39:15 2021 -0700 common: Remove 32 bit libraries where possible. * Reduces size of affected components by about 20%. Change-Id: Ia7ca6c72f094a8da2a66a5819b8dc61289f4d467 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Thu Dec 24 12:08:30 2020 -0700 common: perf: Add QXPerformance JAR. Change-Id: I07952acfe53af0c07b35fb30e928a2b1971795c0 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Thu Dec 3 07:24:27 2020 -0700 common: Use platform certificate with QSSI apps. * Looking back they only presign a select few /vendor apps. Change-Id: I7fadd728d9be7c69f8bf2dd2a9b483f3efe6e306 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Sun Nov 29 22:30:43 2020 -0700 common: Add Service Tracker to the perf component. Change-Id: I1f405004023052fdc908418ad2a1abb7bd03fdc5 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Thu Nov 12 22:02:22 2020 -0700 common: Update to LA.QSSI.11.0.r1-07500-qssi.0. Change-Id: I6c2d30261395b2880d20a1d1ea1e37eaa03baf61 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Wed Oct 28 19:46:26 2020 -0700 common: Look through QSSI dump and find stuff we want to pull in. Change-Id: I2bddc8cb1fc99f340d5b074870a5e908d70231fd Author: Jake Weinstein <jake@aospa.co> Date: Mon Oct 26 20:07:10 2020 +0100 common: add libbeluga (Scudo performance optimization) to perf component Change-Id: I6774fb91abf1f9f56d7283a0be9ee939a5a7a281 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Fri Oct 16 20:25:30 2020 -0700 common: Update to LA.QSSI.11.0.r1-06600-qssi.0. Change-Id: I2b4e5fcf5b07285a5ffd52fd59a2a3eb08498829 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Wed Sep 16 12:24:46 2020 -0700 common: Update from LA.QSSI.11.0.r1-05600-qssi.0. Change-Id: I30d3d09087414b76afd41c7593697f0651c4bba0 Author: Alexander Koskovich <zvnexus@outlook.com> Date: Tue Aug 25 15:09:54 2020 +0000 common: Clean up pathing, structure, move framework modules to dex import. Change-Id: I145c8cc21b7137d2c8e8e33ca8369a9251f39cbf Author: Alexander Koskovich <zvnexus@outlook.com> Date: Tue Aug 25 12:06:17 2020 +0000 common: Update from LA.UM.8.12.c3-11300-sm8250.0. * Add & pin some blobs from legacy SOCs that aren't auto generated in newer releases. Change-Id: I00ca9d513b8458a9e4ca9e74382a84645a93c93f Author: Jake Weinstein <jake@aospa.co> Date: Mon Jun 29 20:50:50 2020 +0200 perf: add Smooth Motion and Layer Extension libraries Change-Id: I8fca4cf91a9519ea2bd0ea07529d274cf7064a4c Author: Jake Weinstein <jake@aospa.co> Date: Wed Jun 10 00:24:01 2020 +0200 common: clean up internal paths No Functional Change Change-Id: Id2cb0b1fa8bee053f1e38beb31d897d6a22fce0a Author: Jake Weinstein <jake@aospa.co> Date: Mon Jun 1 22:44:56 2020 +0200 common: Update proprietary-files.txt for LA.UM.8.13.r1-08500-sm8250.0 Change-Id: I6b894eb40cf1f0d96b476b8c16a136e125b010ab Change-Id: I625dc9b1d3222221b19755785840b074587e1184
-rw-r--r--common.mk4
-rw-r--r--perf/Android.bp30
-rw-r--r--perf/configs/atoll/lm/AdaptLaunchFeature.xml46
-rw-r--r--perf/configs/atoll/lm/AppClassifierFeature.xml36
-rw-r--r--perf/configs/atoll/lm/GameOptimizationFeature.xml140
-rw-r--r--perf/configs/atoll/msm_irqbalance.conf32
-rw-r--r--perf/configs/atoll/perf/perfboostsconfig.xml198
-rw-r--r--perf/configs/atoll/perf/perfconfigstore.xml46
-rw-r--r--perf/configs/atoll/perf/targetconfig.xml60
-rw-r--r--perf/configs/atoll/perf/targetresourceconfigs.xml71
-rw-r--r--perf/configs/bengal/lm/AdaptLaunchFeature.xml46
-rw-r--r--perf/configs/bengal/lm/AppClassifierFeature.xml36
-rw-r--r--perf/configs/bengal/lm/GameOptimizationFeature.xml135
-rw-r--r--perf/configs/bengal/msm_irqbalance.conf9
-rw-r--r--perf/configs/bengal/perf/perfboostsconfig.xml249
-rw-r--r--perf/configs/bengal/perf/perfconfigstore.xml77
-rw-r--r--perf/configs/bengal/perf/targetconfig.xml75
-rw-r--r--perf/configs/bengal/perf/targetresourceconfigs.xml74
-rw-r--r--perf/configs/common/perf/commonresourceconfigs.xml299
-rw-r--r--perf/configs/common/perf/commonsysnodesconfigs.xml22
-rw-r--r--perf/configs/holi/lm/AdaptLaunchFeature.xml50
-rw-r--r--perf/configs/holi/lm/AppClassifierFeature.xml36
-rw-r--r--perf/configs/holi/lm/GameOptimizationFeature.xml172
-rw-r--r--perf/configs/holi/lm/PreKillFeature.xml82
-rw-r--r--perf/configs/holi/lm/prekill/prekill_2GB.databin0 -> 1434 bytes
-rw-r--r--perf/configs/holi/lm/prekill/prekill_4GB.databin0 -> 1414 bytes
-rw-r--r--perf/configs/holi/lm/prekill/prekill_6GB.databin0 -> 1544 bytes
-rw-r--r--perf/configs/holi/lm/sPLHFeature.xml48
-rw-r--r--perf/configs/holi/msm_irqbalance.conf2
-rw-r--r--perf/configs/holi/perf/perfboostsconfig.xml321
-rw-r--r--perf/configs/holi/perf/perfconfigstore.xml86
-rw-r--r--perf/configs/holi/perf/targetconfig.xml61
-rw-r--r--perf/configs/holi/perf/targetresourceconfigs.xml95
-rw-r--r--perf/configs/kona/lm/AdaptLaunchFeature.xml69
-rw-r--r--perf/configs/kona/lm/AppClassifierFeature.xml36
-rw-r--r--perf/configs/kona/lm/GameOptimizationFeature.xml277
-rw-r--r--perf/configs/kona/msm_irqbalance.conf2
-rw-r--r--perf/configs/kona/perf/perfboostsconfig.xml337
-rw-r--r--perf/configs/kona/perf/perfconfigstore.xml45
-rw-r--r--perf/configs/kona/perf/targetconfig.xml61
-rw-r--r--perf/configs/kona/perf/targetresourceconfigs.xml84
-rw-r--r--perf/configs/lahaina/lm/AdaptLaunchFeature.xml69
-rw-r--r--perf/configs/lahaina/lm/AppClassifierFeature.xml36
-rw-r--r--perf/configs/lahaina/lm/GameOptimizationFeature.xml427
-rw-r--r--perf/configs/lahaina/lm/PreKillFeature.xml82
-rw-r--r--perf/configs/lahaina/lm/gPLAFFeature.xml73
-rw-r--r--perf/configs/lahaina/lm/prekill/prekill_2GB.databin0 -> 1434 bytes
-rw-r--r--perf/configs/lahaina/lm/prekill/prekill_4GB.databin0 -> 1414 bytes
-rw-r--r--perf/configs/lahaina/lm/prekill/prekill_6GB.databin0 -> 1544 bytes
-rw-r--r--perf/configs/lahaina/lm/sPLHFeature.xml53
-rw-r--r--perf/configs/lahaina/msm_irqbalance.conf9
-rw-r--r--perf/configs/lahaina/perf/perfboostsconfig.xml1104
-rw-r--r--perf/configs/lahaina/perf/perfconfigstore.xml140
-rw-r--r--perf/configs/lahaina/perf/targetconfig.xml97
-rw-r--r--perf/configs/lahaina/perf/targetresourceconfigs.xml121
-rw-r--r--perf/configs/lito/lm/AdaptLaunchFeature.xml69
-rw-r--r--perf/configs/lito/lm/AppClassifierFeature.xml36
-rw-r--r--perf/configs/lito/lm/GameOptimizationFeature.xml203
-rw-r--r--perf/configs/lito/msm_irqbalance.conf2
-rw-r--r--perf/configs/lito/perf/perfboostsconfig.xml613
-rw-r--r--perf/configs/lito/perf/perfconfigstore.xml71
-rw-r--r--perf/configs/lito/perf/targetconfig.xml80
-rw-r--r--perf/configs/lito/perf/targetresourceconfigs.xml78
-rw-r--r--perf/configs/msm8909/perf/perfboostsconfig.xml119
-rw-r--r--perf/configs/msm8909/perf/perfconfigstore.xml46
-rw-r--r--perf/configs/msm8909/perf/targetconfig.xml59
-rw-r--r--perf/configs/msm8909/perf/targetresourceconfigs.xml87
-rw-r--r--perf/configs/msm8916/msm_irqbalance.conf2
-rw-r--r--perf/configs/msm8916/perf/perfboostsconfig.xml112
-rw-r--r--perf/configs/msm8916/perf/targetconfig.xml75
-rw-r--r--perf/configs/msm8916/perf/targetresourceconfigs.xml124
-rw-r--r--perf/configs/msm8937/lm/AdaptLaunchFeature.xml47
-rw-r--r--perf/configs/msm8937/msm_irqbalance.conf2
-rwxr-xr-xperf/configs/msm8937/perf/perf-profile0.conf2
-rwxr-xr-xperf/configs/msm8937/perf/perf-profile1.conf8
-rw-r--r--perf/configs/msm8937/perf/perfboostsconfig.xml453
-rw-r--r--perf/configs/msm8937/perf/perfconfigstore.xml68
-rw-r--r--perf/configs/msm8937/perf/targetconfig.xml135
-rw-r--r--perf/configs/msm8937/perf/targetresourceconfigs.xml133
-rw-r--r--perf/configs/msm8952/msm_irqbalance.conf2
-rw-r--r--perf/configs/msm8952/perf/perfboostsconfig.xml110
-rw-r--r--perf/configs/msm8952/perf/targetconfig.xml89
-rw-r--r--perf/configs/msm8952/perf/targetresourceconfigs.xml126
-rw-r--r--perf/configs/msm8953/msm_irqbalance.conf2
-rw-r--r--perf/configs/msm8953/perf/perfboostsconfig.xml168
-rw-r--r--perf/configs/msm8953/perf/perfconfigstore.xml51
-rw-r--r--perf/configs/msm8953/perf/targetconfig.xml88
-rw-r--r--perf/configs/msm8953/perf/targetresourceconfigs.xml98
-rw-r--r--perf/configs/msm8992/msm_irqbalance.conf2
-rw-r--r--perf/configs/msm8992/perf/perf-profile0.conf2
-rw-r--r--perf/configs/msm8992/perf/perf-profile1.conf5
-rw-r--r--perf/configs/msm8992/perf/perf-profile2.conf13
-rw-r--r--perf/configs/msm8992/perf/perf-profile3.conf14
-rw-r--r--perf/configs/msm8992/perf/perf-profile4.conf16
-rw-r--r--perf/configs/msm8992/perf/perf-profile5.conf15
-rw-r--r--perf/configs/msm8992/perf/targetconfig.xml58
-rw-r--r--perf/configs/msm8992/perf/targetresourceconfigs.xml106
-rw-r--r--perf/configs/msm8994/msm_irqbalance.conf3
-rw-r--r--perf/configs/msm8994/perf/perf-profile0.conf2
-rw-r--r--perf/configs/msm8994/perf/perf-profile1.conf5
-rw-r--r--perf/configs/msm8994/perf/perf-profile2.conf13
-rw-r--r--perf/configs/msm8994/perf/perf-profile3.conf14
-rw-r--r--perf/configs/msm8994/perf/perf-profile4.conf16
-rw-r--r--perf/configs/msm8994/perf/perf-profile5.conf15
-rw-r--r--perf/configs/msm8994/perf/targetconfig.xml59
-rw-r--r--perf/configs/msm8994/perf/targetresourceconfigs.xml106
-rw-r--r--perf/configs/msm8996/msm_irqbalance.conf2
-rw-r--r--perf/configs/msm8996/perf/perf-profile0.conf2
-rw-r--r--perf/configs/msm8996/perf/perf-profile1.conf2
-rw-r--r--perf/configs/msm8996/perf/perf-profile2.conf12
-rw-r--r--perf/configs/msm8996/perf/perf-profile3.conf13
-rw-r--r--perf/configs/msm8996/perf/perf-profile4.conf15
-rw-r--r--perf/configs/msm8996/perf/perf-profile5.conf14
-rw-r--r--perf/configs/msm8996/perf/perf-profile6.conf8
-rw-r--r--perf/configs/msm8996/perf/perfboostsconfig.xml81
-rw-r--r--perf/configs/msm8996/perf/perfconfigstore.xml34
-rw-r--r--perf/configs/msm8996/perf/targetconfig.xml74
-rw-r--r--perf/configs/msm8996/perf/targetresourceconfigs.xml74
-rw-r--r--perf/configs/msm8998/lm/AdaptLaunchFeature.xml39
-rw-r--r--perf/configs/msm8998/lm/ReferenceFeature.xml40
-rw-r--r--perf/configs/msm8998/msm_irqbalance.conf3
-rw-r--r--perf/configs/msm8998/perf/perf-profile0.conf2
-rw-r--r--perf/configs/msm8998/perf/perf-profile1.conf5
-rw-r--r--perf/configs/msm8998/perf/perf-profile2.conf13
-rw-r--r--perf/configs/msm8998/perf/perf-profile3.conf14
-rw-r--r--perf/configs/msm8998/perf/perf-profile4.conf16
-rw-r--r--perf/configs/msm8998/perf/perf-profile5.conf15
-rw-r--r--perf/configs/msm8998/perf/perf-profile6.conf8
-rw-r--r--perf/configs/msm8998/perf/perfboostsconfig.xml154
-rw-r--r--perf/configs/msm8998/perf/perfconfigstore.xml35
-rw-r--r--perf/configs/msm8998/perf/targetconfig.xml55
-rw-r--r--perf/configs/msm8998/perf/targetresourceconfigs.xml67
-rw-r--r--perf/configs/msmnile/lm/AdaptLaunchFeature.xml46
-rw-r--r--perf/configs/msmnile/lm/AppClassifierFeature.xml36
-rw-r--r--perf/configs/msmnile/lm/GameOptimizationFeature.xml146
-rw-r--r--perf/configs/msmnile/msm_irqbalance.conf2
-rw-r--r--perf/configs/msmnile/perf/perfboostsconfig.xml212
-rw-r--r--perf/configs/msmnile/perf/perfconfigstore.xml35
-rw-r--r--perf/configs/msmnile/perf/targetconfig.xml61
-rw-r--r--perf/configs/msmnile/perf/targetresourceconfigs.xml67
-rw-r--r--perf/configs/qcs605/lm/AdaptLaunchFeature.xml47
-rw-r--r--perf/configs/qcs605/msm_irqbalance.conf32
-rw-r--r--perf/configs/qcs605/perf/perfboostsconfig.xml187
-rw-r--r--perf/configs/qcs605/perf/perfconfigstore.xml28
-rw-r--r--perf/configs/qcs605/perf/targetconfig.xml60
-rw-r--r--perf/configs/qcs605/perf/targetresourceconfigs.xml52
-rw-r--r--perf/configs/sdm660/msm_irqbalance.conf3
-rw-r--r--perf/configs/sdm660/perf/perfboostsconfig.xml475
-rw-r--r--perf/configs/sdm660/perf/perfconfigstore.xml43
-rw-r--r--perf/configs/sdm660/perf/targetconfig.xml103
-rw-r--r--perf/configs/sdm660/perf/targetresourceconfigs.xml125
-rw-r--r--perf/configs/sdm710/lm/AdaptLaunchFeature.xml47
-rw-r--r--perf/configs/sdm710/msm_irqbalance.conf2
-rw-r--r--perf/configs/sdm710/perf/perfboostsconfig.xml211
-rw-r--r--perf/configs/sdm710/perf/perfconfigstore.xml37
-rw-r--r--perf/configs/sdm710/perf/targetconfig.xml60
-rw-r--r--perf/configs/sdm710/perf/targetresourceconfigs.xml54
-rw-r--r--perf/configs/sdm845/msm_irqbalance.conf2
-rw-r--r--perf/configs/sdm845/perf/perf-profile0.conf2
-rw-r--r--perf/configs/sdm845/perf/perf-profile1.conf5
-rw-r--r--perf/configs/sdm845/perf/perf-profile2.conf12
-rw-r--r--perf/configs/sdm845/perf/perf-profile3.conf13
-rw-r--r--perf/configs/sdm845/perf/perf-profile4.conf15
-rw-r--r--perf/configs/sdm845/perf/perf-profile5.conf14
-rw-r--r--perf/configs/sdm845/perf/perf-profile6.conf8
-rw-r--r--perf/configs/sdm845/perf/perfboostsconfig.xml153
-rw-r--r--perf/configs/sdm845/perf/perfconfigstore.xml34
-rw-r--r--perf/configs/sdm845/perf/targetconfig.xml60
-rw-r--r--perf/configs/sdm845/perf/targetresourceconfigs.xml46
-rw-r--r--perf/configs/sdmshrike/perf/perfboostsconfig.xml178
-rw-r--r--perf/configs/sdmshrike/perf/targetconfig.xml60
-rw-r--r--perf/configs/sdmshrike/perf/targetresourceconfigs.xml65
-rw-r--r--perf/configs/sm6150/lm/AdaptLaunchFeature.xml46
-rw-r--r--perf/configs/sm6150/lm/AppClassifierFeature.xml36
-rw-r--r--perf/configs/sm6150/lm/GameOptimizationFeature.xml140
-rw-r--r--perf/configs/sm6150/msm_irqbalance.conf32
-rw-r--r--perf/configs/sm6150/perf/perfboostsconfig.xml298
-rw-r--r--perf/configs/sm6150/perf/perfconfigstore.xml35
-rw-r--r--perf/configs/sm6150/perf/targetconfig.xml77
-rw-r--r--perf/configs/sm6150/perf/targetresourceconfigs.xml71
-rw-r--r--perf/configs/taro/lm/AdaptLaunchFeature.xml46
-rw-r--r--perf/configs/taro/lm/AppClassifierFeature.xml36
-rw-r--r--perf/configs/taro/lm/GameOptimizationFeature.xml379
-rw-r--r--perf/configs/taro/lm/gPLAFFeature.xml51
-rw-r--r--perf/configs/taro/perf/perfboostsconfig.xml420
-rw-r--r--perf/configs/taro/perf/perfconfigstore.xml81
-rw-r--r--perf/configs/taro/perf/targetconfig.xml61
-rw-r--r--perf/configs/taro/perf/targetresourceconfigs.xml113
-rw-r--r--perf/configs/taro/perf/targetsysnodesconfigs.xml19
-rw-r--r--perf/configs/trinket/lm/AdaptLaunchFeature.xml46
-rw-r--r--perf/configs/trinket/lm/AppClassifierFeature.xml36
-rw-r--r--perf/configs/trinket/lm/GameOptimizationFeature.xml135
-rw-r--r--perf/configs/trinket/msm_irqbalance.conf2
-rw-r--r--perf/configs/trinket/perf/perfboostsconfig.xml213
-rw-r--r--perf/configs/trinket/perf/perfconfigstore.xml33
-rw-r--r--perf/configs/trinket/perf/targetconfig.xml60
-rw-r--r--perf/configs/trinket/perf/targetresourceconfigs.xml76
-rwxr-xr-xperf/extract-files.sh31
-rw-r--r--perf/init.ice.perf.rc33
-rw-r--r--perf/poweropt-service-disable.rc20
-rw-r--r--perf/proprietary-files.txt136
-rw-r--r--perf/qti-perf.mk80
-rwxr-xr-xperf/setup-makefiles.sh25
-rw-r--r--perf/task_profiles.json592
-rw-r--r--perf/vendor.qti.hardware.iop@2.0-service-disable.rc20
205 files changed, 16696 insertions, 0 deletions
diff --git a/common.mk b/common.mk
index 24d91a4..dd884a8 100644
--- a/common.mk
+++ b/common.mk
@@ -56,6 +56,10 @@ ifneq (,$(filter display, $(TARGET_COMMON_QTI_COMPONENTS)))
include $(LOCAL_PATH)/display/qti-display.mk
endif
+ifneq (,$(filter perf, $(TARGET_COMMON_QTI_COMPONENTS)))
+include $(LOCAL_PATH)/perf/qti-perf.mk
+endif
+
ifneq (,$(filter telephony, $(TARGET_COMMON_QTI_COMPONENTS)))
include $(LOCAL_PATH)/telephony/qti-telephony.mk
endif
diff --git a/perf/Android.bp b/perf/Android.bp
new file mode 100644
index 0000000..8d40f92
--- /dev/null
+++ b/perf/Android.bp
@@ -0,0 +1,30 @@
+// Copyright (C) 2021 Paranoid Android
+//
+// 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.
+
+soong_namespace {
+}
+
+prebuilt_etc {
+ name: "init.ice.perf.rc",
+ src: "init.ice.perf.rc",
+ sub_dir: "init",
+ vendor: true,
+}
+
+prebuilt_etc {
+ name: "task_profiles-qti",
+ filename_from_src: true,
+ src: "task_profiles.json",
+ vendor: true,
+}
diff --git a/perf/configs/atoll/lm/AdaptLaunchFeature.xml b/perf/configs/atoll/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..25a5a51
--- /dev/null
+++ b/perf/configs/atoll/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,46 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2018-2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>160</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/atoll/lm/AppClassifierFeature.xml b/perf/configs/atoll/lm/AppClassifierFeature.xml
new file mode 100644
index 0000000..d91bdbf
--- /dev/null
+++ b/perf/configs/atoll/lm/AppClassifierFeature.xml
@@ -0,0 +1,36 @@
+<!--
+/******************************************************************************
+ @file AppClassifierFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2017-2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AppClassifier</Name>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Libname>libappclassifier.so</Libname>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/atoll/lm/GameOptimizationFeature.xml b/perf/configs/atoll/lm/GameOptimizationFeature.xml
new file mode 100644
index 0000000..425577d
--- /dev/null
+++ b/perf/configs/atoll/lm/GameOptimizationFeature.xml
@@ -0,0 +1,140 @@
+<!--
+/******************************************************************************
+ @file GameOptimizationFeature.xml
+ @brief Game Optimization feature xml
+
+ DESCRIPTION
+ Each feature has an xml file to define the feature components
+
+ ===========================================================================
+ Copyright (c) 2017-2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+
+<Feature>
+ <Name>GameOptimization</Name>
+ <Libname>libgameoptfeature.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ <MIN_DDR_FREQ>1144</MIN_DDR_FREQ>
+ <MAX_MIN_DDR_FREQ>2086</MAX_MIN_DDR_FREQ>
+ </Configs>
+ <Profiles>
+ <Profile>
+ <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 -->
+ <DEFAULT>0x40c6c000,1000000,0x41444000,1,0x40C9C000,4</DEFAULT>
+ <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 -->
+ <SKEW2>0x40c6c000,1000000,0x41444000,1,0x40C9C000,4</SKEW2>
+ </Profile>
+ </Profiles>
+
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>MinDDR</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+ <Configs>
+ <MEMLAT_FREQ_VOTE_LITTLE_PATH>/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/cur_freq</MEMLAT_FREQ_VOTE_LITTLE_PATH>
+ <MEMLAT_FREQ_VOTE_BIG_PATH>/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/cur_freq</MEMLAT_FREQ_VOTE_BIG_PATH>
+ <MEMLAT_AVAIL_FREQ_LITTLE_PATH>/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/available_frequencies</MEMLAT_AVAIL_FREQ_LITTLE_PATH>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+
+ <Meter>
+ <Name>Fps</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+ <Configs>
+ <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE>
+ <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/atoll/msm_irqbalance.conf b/perf/configs/atoll/msm_irqbalance.conf
new file mode 100644
index 0000000..6990e67
--- /dev/null
+++ b/perf/configs/atoll/msm_irqbalance.conf
@@ -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,0,0,0,0,0,0
+#arch_timer, arm-pmu, arch_mem_timer
+IGNORED_IRQ=19,21,38
diff --git a/perf/configs/atoll/perf/perfboostsconfig.xml b/perf/configs/atoll/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..d9088b0
--- /dev/null
+++ b/perf/configs/atoll/perf/perfboostsconfig.xml
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2018-2019 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"
+ Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1516,
+ 0x40800100, 1516" />
+
+
+ <!--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"
+ 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"
+ 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"
+ Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" />
+
+ <!-- config_enableLaunchBoost6-->
+ <!-- LPM_BIAS resource opcode, val ms-->
+ <!-- SLB_BIG, val, SLB_BIG, 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"
+ Resources="0x40408000, 0x5,
+ 0x40C68000, 60, 0x40C68010, 60,
+ 0x40800000, 1363,
+ 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"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, 0x40800100, 0xFFF" />
+
+ <!--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"
+ Resources="0x43010000, 0x26, 0x40800000, 1017, 0x40800100, 1100, 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"
+ Resources="0x43010000, 0x26, 0x40800000, 1017, 0x40800100, 1100, 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"
+ Resources="0x43010000, 0x26, 0x40800000, 1017, 0x40800100, 1100, 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-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- LPM Bias resource opcode, value -->
+
+ <!-- Type="", MTP boost -->
+ <Config
+ Id="0x00001086" Enable="true"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1516,
+ 0x40800100, 1516, 0x42C10000, 0x1, 0x40408000, 0x19" />
+
+ <!--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"
+ 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"
+ 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"
+ Resources="0x40800100, 1000, 0x42804000, 0" />
+
+ <!--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"
+ Resources="0x40800000, 1017, 0x40800100, 1248" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0"
+ Resources="0x40000000, 1" />
+
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0"
+ Resources="0x40000000, 0x0" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/atoll/perf/perfconfigstore.xml b/perf/configs/atoll/perf/perfconfigstore.xml
new file mode 100644
index 0000000..188821f
--- /dev/null
+++ b/perf/configs/atoll/perf/perfconfigstore.xml
@@ -0,0 +1,46 @@
+<?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="1" />
+ <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" />
+ <Prop Name="vendor.debug.enable.memperfd" Value="true" />
+
+ <!--System Properties -->
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" />
+ <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" />
+ <Prop Name="ro.vendor.iocgrp.config" Value="1" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/atoll/perf/targetconfig.xml b/perf/configs/atoll/perf/targetconfig.xml
new file mode 100644
index 0000000..71ffa30
--- /dev/null
+++ b/perf/configs/atoll/perf/targetconfig.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2018-2019 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="atoll"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="407,443"
+ SynCore="1"
+ CoreCtlCpu="0"
+ MinCoreOnline="0"
+ CpufreqGov="1" />
+
+ <ClustersInfo Id="0" NumCores="6" Type="little" />
+ <ClustersInfo Id="1" NumCores="2" Type="big" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/atoll/perf/targetresourceconfigs.xml b/perf/configs/atoll/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..008ac75
--- /dev/null
+++ b/perf/configs/atoll/perf/targetresourceconfigs.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2018-2019 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>
diff --git a/perf/configs/bengal/lm/AdaptLaunchFeature.xml b/perf/configs/bengal/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..7b562b1
--- /dev/null
+++ b/perf/configs/bengal/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,46 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>160</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/bengal/lm/AppClassifierFeature.xml b/perf/configs/bengal/lm/AppClassifierFeature.xml
new file mode 100644
index 0000000..934e8b6
--- /dev/null
+++ b/perf/configs/bengal/lm/AppClassifierFeature.xml
@@ -0,0 +1,36 @@
+<!--
+/******************************************************************************
+ @file AppClassifierFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AppClassifier</Name>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Libname>libappclassifier.so</Libname>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/bengal/lm/GameOptimizationFeature.xml b/perf/configs/bengal/lm/GameOptimizationFeature.xml
new file mode 100644
index 0000000..805e0a7
--- /dev/null
+++ b/perf/configs/bengal/lm/GameOptimizationFeature.xml
@@ -0,0 +1,135 @@
+<!--
+/******************************************************************************
+ @file GameOptimizationFeature.xml
+ @brief Game Optimization feature xml
+
+ DESCRIPTION
+ Each feature has an xml file to define the feature components
+
+ ===========================================================================
+ Copyright (c) 2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+
+<Feature>
+ <Name>GameOptimization</Name>
+ <Libname>libgameoptfeature.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ <MIN_DDR_FREQ>1144</MIN_DDR_FREQ>
+ <MAX_MIN_DDR_FREQ>2086</MAX_MIN_DDR_FREQ>
+ </Configs>
+ <Profiles>
+ <Profile>
+ <!-- Colocation v3 1 GHz, Sched Many Wake Up Threshold 4 -->
+ <DEFAULT>0x4144C100,1000000,0x40C9C000,4</DEFAULT>
+ <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 -->
+ <SKEW2>0x4144C100,1000000,0x41444000,1,0x40C9C000,4</SKEW2>
+ </Profile>
+ </Profiles>
+
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>MinDDR</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+ <Samples>100</Samples>
+ </Meter>
+
+ <Meter>
+ <Name>Fps</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+ <Configs>
+ <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE>
+ <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/bengal/msm_irqbalance.conf b/perf/configs/bengal/msm_irqbalance.conf
new file mode 100644
index 0000000..5cbe8b2
--- /dev/null
+++ b/perf/configs/bengal/msm_irqbalance.conf
@@ -0,0 +1,9 @@
+################################################################################################################################
+# Copyright (c) 2019 Qualcomm Technologies, Inc.
+# All Rights Reserved.
+# Confidential and Proprietary - Qualcomm Technologies, Inc.
+################################################################################################################################
+
+PRIO=1,1,1,1,0,0,0,0
+#arch_timer, arm-pmu, arch_mem_timer
+IGNORED_IRQ=19,22,39
diff --git a/perf/configs/bengal/perf/perfboostsconfig.xml b/perf/configs/bengal/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..a62b9ec
--- /dev/null
+++ b/perf/configs/bengal/perf/perfboostsconfig.xml
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2019 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-->
+ <!-- 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="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="bengal"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1401,
+ 0x40800100, 1305" />
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="scuba"
+ Resources="0x40804000, 0xFFF, 0x40800000, 1500" />
+
+ <!--app lauch boost (disabling packing)-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+
+ <!-- Type="2", launch boost for disable packing 1.5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="bengal"
+ Resources="0x40400000, 0x1, 0x41800000, 59" />
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="scuba"
+ Resources="0x40400000, 0x1, 0x41800000, 59" />
+
+ <!-- config_enableLaunchBoostv3-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="bengal"
+ Resources="0x40C00000, 0x3, 0x40C58000, 65, 0x40C54000, 71, 0x40408000, 0x5,
+ 0x40C74000, 0xF0" />
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="scuba"
+ Resources="0x40408000, 0x5, 0x40C74000, 0x0F" />
+
+ <!-- config_enableLaunchBoostv4-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+
+ <!-- Type="4", AA games only launch boost -->
+ <Config
+ Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="bengal"
+ Resources="0x40C00000, 0x3, 0x40C58000, 65, 0x40C54000, 71, 0x40408000, 0x5,
+ 0x40C74000, 0xF0" />
+ <Config
+ Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="scuba"
+ Resources="0x40408000, 0x5, 0x40C74000, 0x0F" />
+
+ <!-- config_enableLaunchBoost6-->
+ <!-- LPM_BIAS resource opcode, val ms-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- SLB_BIG, val, SLB_BIG, val, SLB_BIG, val, SLB_BIG, val-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- 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="bengal"
+ Resources="0x40408000, 0x63, 0x40C74000, 0xF0,
+ 0x40C68040, 60, 0x40C68050, 60,
+ 0x40C68060, 60, 0x40C68070, 60,
+ 0x40C58000, 65, 0x40C54000, 71,
+ 0x40800000, 1056,
+ 0x41448000, 20000"/>
+ <Config
+ Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="scuba"
+ Resources="0x40408000, 0x63, 0x40C74000, 0x0F,
+ 0x40800000, 1056, 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="bengal"
+ Resources="0x40804000, 2016, 0x40804100, 1804, 0x40800000, 2208, 0x40800100, 1708" />
+ <Config
+ Id="0x00001083" Enable="true" Timeout="400" Target="scuba"
+ Resources="0x40804000, 2016, 0x40800000, 2208" />
+
+ <!--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="bengal"
+ Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 0x40C00000, 2" />
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="scuba"
+ Resources="0x41800000, 0x8c, 0x40800000, 1056" />
+
+ <!--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="bengal"
+ Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 0x40C00000, 2" />
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="scuba"
+ Resources="0x41800000, 0x26, 0x40800000, 1056" />
+
+ <!--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="bengal"
+ Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 0x40C00000, 2" />
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="scuba"
+ Resources="0x41800000, 0x26, 0x40800000, 1056" />
+
+ <!--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-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+
+ <!-- Type="", MTP boost -->
+
+ <Config
+ Id="0x00001086" Enable="true" Target="bengal"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1401,
+ 0x40800100, 1305, 0x42C10000, 0x1" />
+ <Config
+ Id="0x00001086" Enable="true" Target="scuba"
+ Resources="0x40804000, 0xFFF, 0x40800000, 1401, 0x42C10000, 0x1, 0x40408000, 99, 0x40c74000, 15" />
+
+ <!--PackageInstall 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="", Package Install boost -->
+
+ <Config
+ Id="0x00001088" Enable="true" Target="bengal"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
+ 0x40800100,0xFFF" />
+ <Config
+ Id="0x00001088" Enable="true" Target="scuba"
+ Resources="0x40804000, 0xFFF, 0x40800000,0xFFF" />
+
+ <!--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="bengal"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
+ 0x40800100,0xFFF" />
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="scuba"
+ Resources="0x40804000, 0xFFF, 0x40800000,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="bengal"
+ Resources="0x40800100, 1000, 0x4280C000, 950" />
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="scuba"
+ Resources="0x40800000, 1000, 0x4280C000, 950" />
+
+ <!--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="bengal"
+ Resources="0x40800000, 1056, 0x40800100, 1017" />
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="scuba"
+ Resources="0x40800000, 1056" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="bengal"
+ Resources="0x40000000, 1" />
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="scuba"
+ Resources="0x40000000, 1" />
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="bengal"
+ Resources="0x40000000, 0x0" />
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="scuba"
+ Resources="0x40000000, 0x0" />
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/bengal/perf/perfconfigstore.xml b/perf/configs/bengal/perf/perfconfigstore.xml
new file mode 100644
index 0000000..21b36ca
--- /dev/null
+++ b/perf/configs/bengal/perf/perfconfigstore.xml
@@ -0,0 +1,77 @@
+<?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="1" />
+ <Prop Name="ro.lmk.enable_preferred_apps" Value="true" />
+ <Prop Name="vendor.enable.prefetch" Value="false" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="false" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" />
+ <Prop Name="vendor.debug.enable.memperfd" Value="true" />
+ <Prop Name="vendor.perf.pfar.enable" Value="1"/>
+
+ <!--System Properties -->
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" />
+ <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" />
+ <Prop Name="ro.vendor.iocgrp.config" Value="0" />
+ <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" />
+ <Prop Name="ro.lmk.enhance_batch_kill" Value="false" />
+ <Prop Name="ro.lmk.enable_watermark_check" Value="true" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" />
+ <Prop Name="ro.lmk.use_new_strategy_dup" Value="true"/>
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="vendor.appcompact.enable_app_compact" Value="true" />
+ <Prop Name="vendor.appcompact.full_compact_type" Value="2" />
+ <Prop Name="vendor.appcompact.some_compact_type" Value="2" />
+ <Prop Name="vendor.perf.bgt.enable" Value="true" />
+
+ <!--Mention all the target/kernel specific properties at the end of xml file
+ All the default valuea are kept above-->
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="5000" Variant="bengal_32" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="32" Variant="bengal_32" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="5" Variant="bengal_32" />
+ <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="false" Variant="bengal_32" />
+ <Prop Name="vendor.iop.enable_uxe" Value="0" Variant="bengal_32" />
+ <Prop Name="ro.lmk.enable_preferred_apps" Value="false" Variant="bengal_32"/>
+ <Prop Name="ro.lmk.psi_window_size_ms" Value="500" Variant="bengal_32"/>
+ <Prop Name="ro.lmk.psi_poll_period_scrit_ms" Value="100" Variant="bengal_32"/>
+ <Prop Name="ro.lmk.psi_scrit_complete_stall_ms" Value="85" Variant="bengal_32"/>
+
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="5000" Variant="bengal_32go" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="5" Variant="bengal_32go" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="32" Variant="bengal_32go" />
+ <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="false" Variant="bengal_32go" />
+ <Prop Name="vendor.iop.enable_uxe" Value="0" Variant="bengal_32go" />
+ <Prop Name="ro.lmk.enable_preferred_apps" Value="false" Variant="bengal_32go"/>
+ <Prop Name="ro.lmk.psi_window_size_ms" Value="500" Variant="bengal_32go"/>
+ <Prop Name="ro.lmk.psi_poll_period_scrit_ms" Value="100" Variant="bengal_32go"/>
+ <Prop Name="ro.lmk.psi_scrit_complete_stall_ms" Value="85" Variant="bengal_32go"/>
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/bengal/perf/targetconfig.xml b/perf/configs/bengal/perf/targetconfig.xml
new file mode 100644
index 0000000..85bb786
--- /dev/null
+++ b/perf/configs/bengal/perf/targetconfig.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2019 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="bengal"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="417,420,444,445"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0"
+ CpufreqGov="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="4" Type="big" />
+
+ </Config1>
+
+ <Config2>
+
+ <TargetInfo
+ Target="scuba"
+ NumClusters="1"
+ TotalNumCores="4"
+ SocIds="441"
+ SynCore="1"
+ MinCoreOnline="1"
+ CpufreqGov="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="big" />
+
+ </Config2>
+
+</TargetConfig>
diff --git a/perf/configs/bengal/perf/targetresourceconfigs.xml b/perf/configs/bengal/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..ceae756
--- /dev/null
+++ b/perf/configs/bengal/perf/targetresourceconfigs.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2019 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="0x2" Node="/proc/sys/kernel/sched_busy_hyst_ns" />
+
+ <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="0xA" Supported="no" /> <!-- sched_add_group -->
+ <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="0x6" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq" />
+ <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/decay_rate" />
+ <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/io_percent" />
+ <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/max_freq" />
+ <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/polling_interval" />
+ <Config MajorValue="0x6" MinorValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms" />
+ <Config MajorValue="0x6" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/idle_mbps" />
+ <Config MajorValue="0x6" MinorValue="0xA" Supported="no" />
+
+ <!-- llcbw L3 and DDR major end -->
+ <Config MajorValue="0xC" MinorValue="0x0" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0x1" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0x3" Supported="no" />
+
+ <Config MajorValue="0xD" MinorValue="0x0" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x1" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x2" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x3" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x4" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x5" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x6" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x7" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x8" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x9" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0xA" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0xB" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0xC" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/min_freq" />
+ <Config MajorValue="0xD" MinorValue="0xD" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/mem_latency/ratio_ceil" />
+ <Config MajorValue="0xD" MinorValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-ddr-lat/mem_latency/ratio_ceil" />
+ <Config MajorValue="0xD" MinorValue="0xF" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/mem_latency/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0x10" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-ddr-lat/mem_latency/stall_floor" />
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/common/perf/commonresourceconfigs.xml b/perf/configs/common/perf/commonresourceconfigs.xml
new file mode 100644
index 0000000..3f40225
--- /dev/null
+++ b/perf/configs/common/perf/commonresourceconfigs.xml
@@ -0,0 +1,299 @@
+<?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" />
+ <Minor OpcodeValue="0x33" Node="/proc/sys/kernel/sched_force_lb_enable" Supported="yes" />
+ <Minor OpcodeValue="0x34" Node="/proc/%d/sched_low_latency" Supported="yes" />
+ <Minor OpcodeValue="0x35" Node="/proc/sys/kernel/sched_min_granularity_ns" />
+ <Minor OpcodeValue="0x36" Node="/proc/sys/kernel/walt_low_latency_task_threshold" />
+ <Minor OpcodeValue="0x37" Node="/dev/stune/foreground/schedtune.prefer_idle" />
+ <Minor OpcodeValue="0x38" Node="/proc/sys/kernel/%s" Supported="no"/>
+ <Minor OpcodeValue="0x39" Node="/dev/stune/top-app/schedtune.colocate" Supported="no" />
+ <Minor OpcodeValue="0x3A" Node="/dev/cpuctl/top-app/cpu.uclamp.latency_sensitive" />
+ <Minor OpcodeValue="0x3B" Node="/dev/cpuctl/foreground/cpu.uclamp.latency_sensitive" />
+ <Minor OpcodeValue="0x3D" Node="/proc/sys/kernel/%s" Supported="no"/>
+ <!-- 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" />
+ <Minor OpcodeValue="0x10" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/polling_interval" />
+ <Minor OpcodeValue="0x11" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/min_freq" />
+ <Minor OpcodeValue="0x12" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/max_freq" />
+ <!-- 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="SPECIAL_NODE - disable_pasr" />
+ <!-- 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" />
+ <Minor OpcodeValue="0xF" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/min_freq" />
+ <Minor OpcodeValue="0x10" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/max_freq" />
+ <Minor OpcodeValue="0x11" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/use_ab" />
+
+ <!-- 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" />
+ <Minor OpcodeValue="0x11" Node="/sys/class/devfreq/18321000.qcom,devfreq-l3:qcom,cpu%d-cpu-l3-lat/max_freq" />
+ <Minor OpcodeValue="0x12" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-latfloor/min_freq" />
+ <Minor OpcodeValue="0x13" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-latfloor/max_freq" />
+ <Minor OpcodeValue="0x14" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-llcc-lat/max_freq" />
+ <Minor OpcodeValue="0x15" Node="/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/max_freq" />
+ <Minor OpcodeValue="0x16" Node="/sys/devices/system/cpu/bus_dcvs/L3/soc:qcom,memlat:l3:prime/min_freq" />
+ <Minor OpcodeValue="0x17" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/soc:qcom,memlat:llcc:silver/min_freq" />
+ <Minor OpcodeValue="0x18" Node="/sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:silver/min_freq" />
+ <!-- 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>
diff --git a/perf/configs/common/perf/commonsysnodesconfigs.xml b/perf/configs/common/perf/commonsysnodesconfigs.xml
new file mode 100644
index 0000000..22db738
--- /dev/null
+++ b/perf/configs/common/perf/commonsysnodesconfigs.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2021 Qualcomm Technologies, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ */
+-->
+
+<ResourceConfigs>
+ <PerfResources>
+ <SysNode Idx="0x0" Node="/sys/module/msm_performance/parameters/num_clusters" />
+ <SysNode Idx="0x1" Node="/sys/module/msm_performance/parameters/managed_cpus" />
+ <SysNode Idx="0x2" Node="/sys/module/msm_performance/parameters/cpu_max_freq" />
+ <SysNode Idx="0x3" Node="/sys/module/msm_performance/events/cpu_hotplug" />
+ <SysNode Idx="0x4" Node="/sys/module/msm_performance/parameters/max_cpus" />
+ <SysNode Idx="0x5" Node="/sys/module/msm_performance/parameters/inst" />
+ <SysNode Idx="0x6" Node="/sys/module/msm_performance/parameters/splh_notif" />
+ <SysNode Idx="0x7" Node="/sys/module/msm_performance/notify/gfx_evt" />
+ <SysNode Idx="0x8" Node="/sys/module/msm_performance/parameters/evnt_gplaf_pid" />
+ </PerfResources>
+</ResourceConfigs> \ No newline at end of file
diff --git a/perf/configs/holi/lm/AdaptLaunchFeature.xml b/perf/configs/holi/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..a938df1
--- /dev/null
+++ b/perf/configs/holi/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,50 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2020 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>300</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/holi/lm/AppClassifierFeature.xml b/perf/configs/holi/lm/AppClassifierFeature.xml
new file mode 100644
index 0000000..ed62117
--- /dev/null
+++ b/perf/configs/holi/lm/AppClassifierFeature.xml
@@ -0,0 +1,36 @@
+<!--
+/******************************************************************************
+ @file AppClassifierFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2020 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AppClassifier</Name>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Libname>libappclassifier.so</Libname>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/holi/lm/GameOptimizationFeature.xml b/perf/configs/holi/lm/GameOptimizationFeature.xml
new file mode 100644
index 0000000..f002b2c
--- /dev/null
+++ b/perf/configs/holi/lm/GameOptimizationFeature.xml
@@ -0,0 +1,172 @@
+<!--
+/******************************************************************************
+ @file GameOptimizationFeature.xml
+ @brief Game Optimization feature xml
+
+ DESCRIPTION
+ Each feature has an xml file to define the feature components
+
+ ===========================================================================
+ Copyright (c) 2020 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+
+<Feature>
+ <Name>GameOptimization</Name>
+ <Libname>libgameoptfeature.so</Libname>
+ <Configs target="holi">
+ <Enable>1</Enable>
+ <ATML1>1</ATML1>
+ <ATML2>1</ATML2>
+ <ATML3>1</ATML3>
+ <GFAR>1</GFAR>
+ <AGPE>0</AGPE>
+ <IDLE_SENSE>0</IDLE_SENSE>
+ <GROUP_UPMIGRATE_PATH>/proc/sys/kernel/sched_group_upmigrate</GROUP_UPMIGRATE_PATH>
+ <GROUP_DOWNMIGRATE_PATH>/proc/sys/kernel/sched_group_downmigrate</GROUP_DOWNMIGRATE_PATH>
+ <BIG_CLUSTER_ID>6,7</BIG_CLUSTER_ID>
+ <BIG_SLB_OPCODE>0x40C68000,0x40C68010</BIG_SLB_OPCODE>
+ <LITTLE_SLB_OPCODE>0x40C68100,0x40C68110,0x40C68120,0x40C68130,0x40C68140,0x40C68150</LITTLE_SLB_OPCODE>
+ <!-- SLBval, TADemand, Jank-->
+ <SLB_MAP>14,200,40,6,150,30,4,125,25,2,100,15,0</SLB_MAP>
+ <STUTTER_SCALE>10</STUTTER_SCALE>
+ <ENABLE_DB_L2_L3>0</ENABLE_DB_L2_L3>
+ <!-- This will enbale SLB clamping if Janks are zero in consistent learning window-->
+ <ENABLE_SLB_CLAMPER>1</ENABLE_SLB_CLAMPER>
+ <L3_JANK_THRESHOLD>2,12</L3_JANK_THRESHOLD>
+ <!-- Janky vector threshold, Total no. of Janks Threshold-->
+ <L1_JANK_THRESHOLD>4,8</L1_JANK_THRESHOLD>
+ <!-- Default slb little, Default slb big-->
+ <ATM_L3_DEFAULTS>0,-6</ATM_L3_DEFAULTS>
+ </Configs>
+ <Profiles>
+ <Profile target="holi">
+ <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 ,LPM IPI Prediction 0 -->
+ <DEFAULT>0x4144C100,860000,0x41444000,1,0x40C9C000,4,0x40414000,0</DEFAULT>
+ <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4, LPM IPI Prediction 0-->
+ <SKEW2>0x4144C100,860000,0x41444000,1,0x40C9C000,4,0x40414000,0</SKEW2>
+ </Profile>
+ </Profiles>
+
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+
+ <Meter>
+ <Name>Fps</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+ <Configs>
+ <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE>
+ <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+
+ <Meter>
+ <Name>SchedParams</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+ <Samples>100</Samples>
+ </Meter>
+ </Meters>
+ <IgnoredApps>
+ <App>com.google.android.gms</App>
+ <App>com.android.vending</App>
+ <App>com.google.android.projection.gearhead</App>
+ </IgnoredApps>
+</Feature>
diff --git a/perf/configs/holi/lm/PreKillFeature.xml b/perf/configs/holi/lm/PreKillFeature.xml
new file mode 100644
index 0000000..f7cfdbf
--- /dev/null
+++ b/perf/configs/holi/lm/PreKillFeature.xml
@@ -0,0 +1,82 @@
+<!--
+/******************************************************************************
+ @file PreKillMeter.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ =========================================================================
+ Copyright (c) 2020 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ =========================================================================
+******************************************************************************/
+-->
+
+<Feature>
+ <Name>PreKill</Name>
+ <Libname>libprekill.so</Libname>
+ <Meters>
+ <SamplesRequired>3</SamplesRequired>
+ <Meter>
+ <Name>Memory</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>2</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>101</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>102</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_KILL</AsyncId>
+ <AsyncType>0</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_UPDATE</AsyncId>
+ <AsyncType>0</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_DRAW</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>1</Samples>
+ <Configs>
+ <TotalSamplesToRun>120</TotalSamplesToRun>
+ </Configs>
+ <Fields>
+ <Field>ion_kgsl</Field>
+ <Field>rss_swap</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/holi/lm/prekill/prekill_2GB.data b/perf/configs/holi/lm/prekill/prekill_2GB.data
new file mode 100644
index 0000000..fce8a00
--- /dev/null
+++ b/perf/configs/holi/lm/prekill/prekill_2GB.data
Binary files differ
diff --git a/perf/configs/holi/lm/prekill/prekill_4GB.data b/perf/configs/holi/lm/prekill/prekill_4GB.data
new file mode 100644
index 0000000..f052cd5
--- /dev/null
+++ b/perf/configs/holi/lm/prekill/prekill_4GB.data
Binary files differ
diff --git a/perf/configs/holi/lm/prekill/prekill_6GB.data b/perf/configs/holi/lm/prekill/prekill_6GB.data
new file mode 100644
index 0000000..c5db16f
--- /dev/null
+++ b/perf/configs/holi/lm/prekill/prekill_6GB.data
Binary files differ
diff --git a/perf/configs/holi/lm/sPLHFeature.xml b/perf/configs/holi/lm/sPLHFeature.xml
new file mode 100644
index 0000000..4ac7c94
--- /dev/null
+++ b/perf/configs/holi/lm/sPLHFeature.xml
@@ -0,0 +1,48 @@
+<!--
+/******************************************************************************
+ @file sPLHFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2020 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ Specify ipc threashold and freq threashold for 60,90,120,144::
+ <Configs>
+ <FPS60>IPC1,FREQ1,IPC2,FREQ2,IPC3,FREQ3</FPS60>
+ </Configs>
+-->
+
+<Feature>
+ <Name>sPLH</Name>
+ <Configs>
+ <FPS>60,90,120,144</FPS>
+ <FPS60>0,760,80,1600,120,2000</FPS60>
+ <FPS90>0,760,80,1600,120,2000</FPS90>
+ <FPS120>0,760,80,1600,120,2000</FPS120>
+ <FPS144>0,760,80,1600,120,2000</FPS144>
+ <DISABLEFPS144>2035</DISABLEFPS144>
+ </Configs>
+ <Libname>libsplh.so</Libname>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_SCROLL_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_SCROLL_BOOST</AsyncId>
+ <AsyncType>2</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/holi/msm_irqbalance.conf b/perf/configs/holi/msm_irqbalance.conf
new file mode 100644
index 0000000..58d8c94
--- /dev/null
+++ b/perf/configs/holi/msm_irqbalance.conf
@@ -0,0 +1,2 @@
+PRIO=1,1,0,0,0,0,0,0
+IGNORED_IRQ=19,21,38
diff --git a/perf/configs/holi/perf/perfboostsconfig.xml b/perf/configs/holi/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..e7a2b00
--- /dev/null
+++ b/perf/configs/holi/perf/perfboostsconfig.xml
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2020 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="holi"
+ Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF,
+ 0x40800000, 1535, 0x40800100, 1478" />
+
+ <!--app lauch boost (disabling packing)-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- CPUBW_MIN_FREQ 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="holi"
+ Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59, 0x43400000, 0x2DC0, 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="holi"
+ Resources="0x40C00000, 0x3, 0x40C58000, 85, 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="holi"
+ Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x63" />
+
+ <!-- config_enableLaunchBoost6-->
+ <!-- LPM_BIAS resource opcode, val ms-->
+ <!-- SLB_BIG, val, SLB_BIG, 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="holi"
+ Resources="0x40408000, 0x5,
+ 0x40C68000, 60, 0x40C68010, 60,
+ 0x40800000, 1248,
+ 0x41448000, 20000" />
+
+ <!--app launch boost (attach application) -->
+ <!-- SCHED_TASK_BOOST resource opcode, value-->
+ <Config
+ Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="holi"
+ Resources="0x40C80000, 0x0" />
+
+ <!--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="holi"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0x7F3,
+ 0x40800100, 0x70C" />
+
+ <!--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="holi" Fps="60"
+ Resources="0x43010000, 38, 0x40800000, 1017, 0x40800100, 940, 0x40C00000, 2" />
+
+ <!-- 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-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="holi" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 940, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="holi" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 2035, 0x40800100, 1478, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="holi" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 2035, 0x40800100, 1478, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <!--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="holi" Fps="60"
+ Resources="0x43010000, 38, 0x40800000, 1017, 0x40800100, 940, 0x40C00000, 2" />
+
+ <!-- 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-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="holi" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 940, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="holi" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 2035, 0x40800100, 1478, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="holi" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 2035, 0x40800100, 1478, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <!--Pre-Fling boost-->
+ <!-- Type="4", 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-->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="holi" Fps="60"
+ Resources="0x43010000, 38, 0x40800000, 1017, 0x40800100, 940, 0x40C00000, 2" />
+
+ <!-- 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-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="holi" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 940, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="holi" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 2035, 0x40800100, 1478, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="holi" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 2035, 0x40800100, 1478, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <!--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-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- Type="", MTP boost -->
+ <Config
+ Id="0x00001086" Enable="true" Target="holi"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1535,
+ 0x40800100, 1478, 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-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value-->
+ <!-- SCHED_FORCE_LB_ENABLE resource opcode, value-->
+ <!-- Type="", Package Install boost -->
+ <Config
+ Id="0x00001088" Enable="true" Target="holi"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100, 0xFFF, 0x40C00000, 0x2, 0x40CA0000, 0,
+ 0x40CCC000, 0" />
+
+ <!--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="holi"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
+ 0x40800100,0xFFF" />
+
+ <!--Rotation animation boost-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- GPU_MIN_POWER_LEVEL resource opcode,value-->
+ <!-- Type="", Rotation animation boost -->
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="holi"
+ Resources="0x40800100, 940, 0x42804000, 0" />
+
+ <!--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="holi"
+ Resources="0x40800000, 1017, 0x40800100, 940" />
+
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="holi" Fps="120"
+ Resources="0x40800000, 1017, 0x40800100, 940, 0x40C00000, 2" />
+
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="holi" Fps="144"
+ Resources="0x40800000, 1017, 0x40800100, 940, 0x40C00000, 2" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="holi"
+ Resources="0x40000000, 1" />
+
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="holi"
+ Resources="0x40000000, 0x0" />
+
+ <!--FPS Update Resource-->
+ <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
+ <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
+ <!-- Type="60" -->
+ <Config
+ Id="0x00001094" Type="60" Enable="true" Target="holi" Timeout="0"
+ Resources="0x41444000, 0, 0x41444100, 0, 0x40CA8000, 0, 0x40CA4000, 5" />
+
+ <!-- Type="90" -->
+ <Config
+ Id="0x00001094" Type="90" Enable="true" Target="holi" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, 0x40CA4000, 3" />
+
+ <!-- Type="120" -->
+ <Config
+ Id="0x00001094" Type="120" Enable="true" Target="holi" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, 0x40CA4000, 2" />
+
+ <!-- Type="144" -->
+ <Config
+ Id="0x00001094" Type="144" Enable="true" Target="holi" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, 0x40CA4000, 2" />
+
+ <!--FPS Immediate Update from within Perfd Resource-->
+ <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
+ <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
+ <!-- Type="60" -->
+ <Config
+ Id="0x0000109B" Type="60" Enable="true" Target="holi" Timeout="0"
+ Resources="0x41444000, 0, 0x41444100, 0, 0x40CA8000, 0, 0x40CA4000, 5" />
+
+ <!-- Type="90" -->
+ <Config
+ Id="0x0000109B" Type="90" Enable="true" Target="holi" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, 0x40CA4000, 3" />
+
+ <!-- Type="120" -->
+ <Config
+ Id="0x0000109B" Type="120" Enable="true" Target="holi" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, 0x40CA4000, 2" />
+
+ <!-- Type="144" -->
+ <Config
+ Id="0x0000109B" Type="144" Enable="true" Target="holi" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, 0x40CA4000, 2" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/holi/perf/perfconfigstore.xml b/perf/configs/holi/perf/perfconfigstore.xml
new file mode 100644
index 0000000..de9eb0a
--- /dev/null
+++ b/perf/configs/holi/perf/perfconfigstore.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2020 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. -->
+
+<!--__________________________________Example format_______________________________________________
+<Prop Name="vendor.debug.enable.lm" Value="true" Target="holi" Variant="holi" Resolution="1080p"
+ Ram="3" Kernel="5.4"/>
+ Target: target code name (decided based on soc id, doesn't depend on lunch combo name)
+ ex: lito, lagoon, kona, etc
+ Variant: For Variants of Target go/32bit/64bit/nongo, examples below
+ Variant=bengal_32go -> bengal 32 bit go target
+ Variant=bengal_32 -> bengal 32 bit target
+ Variant=bengal -> bengal 64 bit target
+ Resolution="1080p", "2560", "720p", "HD+"
+ Kernel: kernel version, examples: "4.19", "5.4", etc
+ Ram: ram size in GB, examples: "1","2","3","4","6","8","10","12" (12 for target with >= 12GB of RAM as well)
+_______________________________________________________________________________________________ -->
+
+<PerfConfigsStore>
+ <PerfConfigs>
+
+ <!--Vendor Properties -->
+ <Prop Name="vendor.debug.enable.lm" Value="true" />
+ <Prop Name="vendor.iop.enable_uxe" Value="1" />
+ <Prop Name="vendor.enable.prefetch" Value="false" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="false" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" />
+ <Prop Name="vendor.debug.enable.memperfd" Value="true" />
+ <Prop Name="vendor.perf.pfar.enable" Value="1"/>
+ <Prop Name="vendor.perf.fps_switch.enable" Value="1"/>
+ <Prop Name="ro.vendor.perf.gfl.tap_ignore_enable" Value="true"/>
+ <Prop Name="ro.vendor.perf.wlc.heavygame" Value="true"/>
+ <Prop Name="ro.vendor.perf.splh" Value="none"/>
+ <Prop Name="vendor.perf.fps_switch_hyst_time_secs" Value="10" />
+
+ <!--System Properties -->
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" />
+ <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" />
+ <Prop Name="ro.vendor.iocgrp.config" Value="1" />
+ <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" />
+ <Prop Name="ro.lmk.kill_timeout_ms_dup" Value="100" />
+ <Prop Name="ro.lmk.thrashing_threshold" Value="30" />
+ <Prop Name="ro.lmk.thrashing_decay" Value="5" />
+ <Prop Name="ro.lmk.nstrat_low_swap" Value="10" />
+ <Prop Name="ro.lmk.nstrat_wmark_boost_factor" Value="4" />
+ <Prop Name="ro.lmk.enhance_batch_kill" Value="false" />
+ <Prop Name="ro.lmk.enable_watermark_check" Value="true" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" />
+ <Prop Name="ro.lmk.enable_preferred_apps" Value="true" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="vendor.appcompact.enable_app_compact" Value="true" />
+ <Prop Name="vendor.appcompact.full_compact_type" Value="2" />
+ <Prop Name="vendor.appcompact.some_compact_type" Value="2" />
+ <Prop Name="vendor.appcompact.compact_throttle_somesome" Value="5000" />
+ <Prop Name="vendor.appcompact.compact_throttle_somefull" Value="10000" />
+ <Prop Name="vendor.appcompact.compact_throttle_fullsome" Value="500" />
+ <Prop Name="vendor.appcompact.compact_throttle_fullfull" Value="10000" />
+ <Prop Name="vendor.appcompact.compact_throttle_bfgs" Value="600000" />
+ <Prop Name="vendor.appcompact.compact_throttle_persistent" Value="600000" />
+ <Prop Name="vendor.appcompact.rss_throttle_kb" Value="12000" />
+ <Prop Name="vendor.appcompact.delta_rss_throttle_kb" Value="8000" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/holi/perf/targetconfig.xml b/perf/configs/holi/perf/targetconfig.xml
new file mode 100644
index 0000000..f66bd1e
--- /dev/null
+++ b/perf/configs/holi/perf/targetconfig.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2020 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="holi"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="454,507"
+ SynCore="1"
+ CoreCtlCpu="0"
+ MinCoreOnline="0"
+ CpufreqGov="1"
+ MinFpsForTuning="60" />
+
+ <ClustersInfo Id="0" NumCores="6" Type="little" />
+ <ClustersInfo Id="1" NumCores="2" Type="big" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/holi/perf/targetresourceconfigs.xml b/perf/configs/holi/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..a60b3e6
--- /dev/null
+++ b/perf/configs/holi/perf/targetresourceconfigs.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2020 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="0x1" MinorValue="0x2" Node="/proc/sys/kernel/sched_busy_hyst_ns" />
+ <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev -->
+ <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add -->
+ <Config MajorValue="0x1" MinorValue="0x5" Supported="yes" /> <!-- lpm_ipi_prediction -->
+
+ <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="0x3" MinorValue="0x22" Supported="no" /> <!-- sched_task_unfilter_nr_windows -->
+ <Config MajorValue="0x3" MinorValue="0x37" Supported="no" /> <!-- Enabled till Kernel 4.19 -->
+ <Config MajorValue="0x3" MinorValue="0x39" Supported="no" /> <!-- Enabled till Kernel 4.19 -->
+
+ <!--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" />
+
+ <Config MajorValue="0xB" MinorValue="0x2" Node="/sys/devices/system/cpu/cpu_boost/input_boost_freq" />
+
+ <!--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="0x4" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq" />
+ <Config MajorValue="0xC" MinorValue="0x5" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/up_scale" />
+ <Config MajorValue="0xC" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/max_freq" />
+ <Config MajorValue="0xC" MinorValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/decay_rate" />
+ <Config MajorValue="0xC" MinorValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/io_percent" />
+ <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="0xC" MinorValue="0xC" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/polling_interval" />
+ <Config MajorValue="0xC" MinorValue="0xD" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms" />
+ <Config MajorValue="0xC" MinorValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/idle_mbps" />
+
+ <Config MajorValue="0xD" MinorValue="0x0" Node="/sys/class/devfreq/fd90100.qcom,cpu%d-cpu-l3-lat/min_freq" />
+ <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/class/devfreq/fd90100.qcom,cpu0-cpu-l3-lat/mem_latency/ratio_ceil" />
+ <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/fd90100.qcom,cpu6-cpu-l3-lat/mem_latency/ratio_ceil" />
+ <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/class/devfreq/fd90100.qcom,cpu0-cpu-l3-lat/mem_latency/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/fd90100.qcom,cpu6-cpu-l3-lat/mem_latency/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0x11" Node="/sys/class/devfreq/fd90100.qcom,cpu%d-cpu-l3-lat/max_freq" />
+ <Config MajorValue="0xD" MinorValue="0x5" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x6" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x7" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x8" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x9" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0xA" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0xB" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0xC" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0xD" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0xE" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0xF" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x10" Supported="no" />
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/kona/lm/AdaptLaunchFeature.xml b/perf/configs/kona/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..a8650f7
--- /dev/null
+++ b/perf/configs/kona/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,69 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>160</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+ <SpuriousHintApps>
+ <App>com.android.permissioncontroller</App>
+ </SpuriousHintApps>
+</Feature>
diff --git a/perf/configs/kona/lm/AppClassifierFeature.xml b/perf/configs/kona/lm/AppClassifierFeature.xml
new file mode 100644
index 0000000..d91bdbf
--- /dev/null
+++ b/perf/configs/kona/lm/AppClassifierFeature.xml
@@ -0,0 +1,36 @@
+<!--
+/******************************************************************************
+ @file AppClassifierFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2017-2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AppClassifier</Name>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Libname>libappclassifier.so</Libname>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/kona/lm/GameOptimizationFeature.xml b/perf/configs/kona/lm/GameOptimizationFeature.xml
new file mode 100644
index 0000000..f0dbe4c
--- /dev/null
+++ b/perf/configs/kona/lm/GameOptimizationFeature.xml
@@ -0,0 +1,277 @@
+<!--
+/******************************************************************************
+ @file GameOptimizationFeature.xml
+ @brief Game Optimization feature xml
+
+ DESCRIPTION
+ Each feature has an xml file to define the feature components
+
+ ===========================================================================
+ Copyright (c) 2017-2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+
+<Feature>
+ <Name>GameOptimization</Name>
+ <Libname>libgameoptfeature.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ <STATIC_L0>1</STATIC_L0>
+ <ATML1>0</ATML1>
+ <ATML2>0</ATML2>
+ <ATML3>0</ATML3>
+ <GFAR>0</GFAR>
+ <AGPE>1</AGPE>
+ <IDLE_SENSE>0</IDLE_SENSE>
+ <THERMAL_MONITOR>1</THERMAL_MONITOR>
+ <GROUP_UPMIGRATE_PATH>/proc/sys/kernel/sched_group_upmigrate</GROUP_UPMIGRATE_PATH>
+ <GROUP_DOWNMIGRATE_PATH>/proc/sys/kernel/sched_group_downmigrate</GROUP_DOWNMIGRATE_PATH>
+ <BIG_CLUSTER_ID>4,5,6,7</BIG_CLUSTER_ID>
+ <BIG_SLB_OPCODE>0x40C68000,0x40C68010,0x40C68020,0x40C68200</BIG_SLB_OPCODE>
+ <LITTLE_SLB_OPCODE>0x40C68100, 0x40C68110, 0x40C68120, 0x40C68130</LITTLE_SLB_OPCODE>
+ <!-- SLBval, TADemand, Jank-->
+ <SLB_MAP>14,200,40,6,150,30,4,125,25,2,100,15,0</SLB_MAP>
+ <STUTTER_SCALE>2</STUTTER_SCALE>
+ <ENABLE_DB_L2_L3>0</ENABLE_DB_L2_L3>
+ <!-- This will enbale SLB clamping if Janks are zero in consistent learning window-->
+ <ENABLE_SLB_CLAMPER>1</ENABLE_SLB_CLAMPER>
+ <L3_JANK_THRESHOLD>2,12</L3_JANK_THRESHOLD>
+ <!-- Janky vector threshold, Total no. of Janks Threshold-->
+ <L1_JANK_THRESHOLD>4,8</L1_JANK_THRESHOLD>
+ <!-- Default slb little, Default slb big-->
+ <ATM_L3_DEFAULTS>0,0</ATM_L3_DEFAULTS>
+ <THERMAL_MONITOR_RULES>GAME_OPT_TSENS_RULE1,GAME_OPT_TSENS_RULE2,GAME_OPT_TSENS_RULE3</THERMAL_MONITOR_RULES>
+ <!-- AGPE threshold values in the order: Increase, Aggressive Increase, Decrease -->
+ <AGPE_FPS_30_THRESHOLD>1.1, 1.8, 0.6</AGPE_FPS_30_THRESHOLD>
+ <AGPE_FPS_35_THRESHOLD>1.1, 1.8, 0.6</AGPE_FPS_35_THRESHOLD>
+ <AGPE_FPS_40_THRESHOLD>1.1, 1.8, 0.6</AGPE_FPS_40_THRESHOLD>
+ <AGPE_FPS_60_THRESHOLD>1.1, 1.8, 0.6</AGPE_FPS_60_THRESHOLD>
+ <AGPE_FPS_90_THRESHOLD>2.0, 5.0, 0.1</AGPE_FPS_90_THRESHOLD>
+ <AGPE_FPS_120_THRESHOLD>2.0, 5.0, 0.1</AGPE_FPS_120_THRESHOLD>
+ <AGPE_FPS_144_THRESHOLD>2.0, 5.0, 0.1</AGPE_FPS_144_THRESHOLD>
+ </Configs>
+ <Profiles>
+ <!-- Heavy Game Default -->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, 0, SCHED_MIN_TASK_UTIL_FOR_BOOST, 0 -->
+ <!-- MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_BIG, 19000, MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_LITTLE, 19000 -->
+ <!-- SCHED_GROUP_DOWNMIGRATE, 75, SCHED_GROUP_UPMIGRATE, 90 -->
+ <Profile>
+ <DEFAULT_PROF>
+ 0x40C78000, 0, 0x40C7C000, 0,
+ 0x41448000, 19000, 0x41448100, 19000,
+ 0x40C58000, 75, 0x40C54000, 90
+ </DEFAULT_PROF>
+ </Profile>
+ <!-- Agressive Profile - Junk detected -->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, 0, SCHED_MIN_TASK_UTIL_FOR_BOOST, 0 -->
+ <!-- MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_BIG, 79000, MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_LITTLE, 79000-->
+ <!-- CPUBW_HWMON_MIN_FREQ, 30, LLCBW_HWMON_MIN_FREQ, 90, L3_MEMLAT_MIN_FREQ, 9000 -->
+ <!-- MIN_FREQ_CLUSTER_PRIME_CORE_0, 1000, MIN_FREQ_CLUSTER_BIG_CORE_0, 1000, MIN_FREQ_CLUSTER_LITTLE_CORE_0, 1000 -->
+ <!-- SCHED_GROUP_DOWNMIGRATE, 65, SCHED_GROUP_UPMIGRATE, 80 -->
+ <!-- TO BE REPLACED: SCHED_BUSY_HYSTERSIS_CPU_MASK, 0xf0, LPM_BIAS_HYST, 99-->
+ <Profile>
+ <DEFAULT_PROF>
+ 0x40C78000, 0, 0x40C7C000, 0,
+ 0x41448000, 79000, 0x41448100, 79000,
+ 0x43000000, 30, 0x41800000, 90, 0x43400000, 9000,
+ 0x40800200, 1000, 0x40800000, 1000, 0x40800100, 1000,
+ 0x40C58000, 65, 0x40C54000, 80,
+ 0x40C74000, 0xf0, 0x40408000, 99
+ </DEFAULT_PROF>
+ </Profile>
+ <Profile>
+ <!-- Colocation v3 1 GHz, Core-CTL 3 -->
+ <DEFAULT>0x4144C100,1000000,0x41000000,3</DEFAULT>
+ <!-- Colocation v3 1 GHz, Core-CTL 3 -->
+ <SKEW2>0x4144C100,1000000,0x41000000,3</SKEW2>
+ </Profile>
+ </Profiles>
+
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+
+ <Meter>
+ <Name>Fps</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+
+ <Configs>
+ <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE>
+ <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+
+ <Meter>
+ <Name>SchedParams</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+ <Samples>100</Samples>
+ </Meter>
+ </Meters>
+ <IgnoredApps>
+ <App>com.google.android.gms</App>
+ <App>com.android.vending</App>
+ <App>com.google.android.projection.gearhead</App>
+ </IgnoredApps>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_THERMAL_UPDATE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/kona/msm_irqbalance.conf b/perf/configs/kona/msm_irqbalance.conf
new file mode 100644
index 0000000..bf4d7b1
--- /dev/null
+++ b/perf/configs/kona/msm_irqbalance.conf
@@ -0,0 +1,2 @@
+PRIO=1,1,1,1,0,0,0,0
+IGNORED_IRQ=27,23,38
diff --git a/perf/configs/kona/perf/perfboostsconfig.xml b/perf/configs/kona/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..e6cced6
--- /dev/null
+++ b/perf/configs/kona/perf/perfboostsconfig.xml
@@ -0,0 +1,337 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017-2019 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-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBW_MAX_FREQ resource opcode, value-->
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- LLCC DDR LAT CPU0 MIN FREQ resource opcode, value-->
+ <!-- L3 resource opcode, value-->
+ <!-- GPU DISABLE resource opcode, value-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="kona"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x41818000, 0xFF,
+ 0x41800000, 0xFF, 0x40400000, 0x1, 0x42C10000, 0x1, 0x43430100, 0x28C5,
+ 0x43400000, 0xFFFF, 0x4281C000, 2000" />
+
+ <!--app lauch boost (disabling packing)-->
+
+ <!-- Type="2", launch boost for disable packing 1.5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="kona"
+ Resources="" />
+
+ <!-- config_enableLaunchBoostv2-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED DOWNMIGRATE resource opcode, value -->
+ <!-- SCHED UPMIGRATE resource opcode, value -->
+ <!-- SCHED DOWNMIGRATE PRIME resource opcode, value -->
+ <!-- SCHED UPMIGRATE PRIME resource opcode, value -->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="kona"
+ Resources="0x40C00000, 0x3, 0x40C58000, 0x2D, 0x40C54000, 0x41,
+ 0x40C74000, 0xF0, 0x40408000, 0x63, 0x40C20000, 0x28,
+ 0x40C1C000, 0x3C, 0x40C20200, 0x28, 0x40C1C200, 0x3C" />
+
+ <!-- config_gameBoost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED DOWNMIGRATE resource opcode, value -->
+ <!-- SCHED UPMIGRATE resource opcode, value -->
+ <!-- SCHED DOWNMIGRATE PRIME resource opcode, value -->
+ <!-- SCHED UPMIGRATE PRIME resource opcode, value -->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME 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-->
+ <!-- LLCCBW resource opcode, value-->
+ <!-- L3 resource opcode, value-->
+
+ <!-- Type="4", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="kona"
+ Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41,
+ 0x40C74000, 0xF0, 0x40408000, 0x63, 0x40C20000, 0x28,
+ 0x40C1C000, 0x3C, 0x40C20200, 0x28, 0x40C1C200, 0x3C,
+ 0x42C10000, 0x1, 0x40800200, 0x76C, 0x40800000, 0x76C,
+ 0x40800100, 0x4B0, 0x41800000, 0x50, 0x43000000, 0x3A,
+ 0x43400000, 0x3480" />
+
+ <!--app launch boost (attach application) -->
+ <!-- SCHED_TASK_BOOST resource opcode, value-->
+ <Config
+ Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="kona"
+ Resources="0x40C80000, 0x0" />
+
+ <!--Animation boost -->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <Config
+ Id="0x00001083" Enable="true" Timeout="400" Target="kona"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF" />
+
+ <!--Vertical Scroll boost-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- Below additional resources for 120+fps-->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="kona" Fps="60"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="kona" Fps="90"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="kona" Fps="120"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40CA8000, 2" />
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="kona" Fps="144"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40CA8000, 2" />
+
+ <!--Prefling Scroll boost-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- Below additional resources for 120+fps-->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- TIMEOUT 80ms -->
+ <!-- Type="4", Prefling boost -->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="kona" Fps="60"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="kona" Fps="90"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="kona" Fps="120"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40CA8000, 2" />
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="kona" Fps="144"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40CA8000, 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-->
+
+ <!-- Type="", MTP boost -->
+ <Config
+ Id="0x00001086" Enable="true" Target="kona"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800,
+ 0x40800100, 1400" />
+
+ <!--Drag boost-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- Below additional resources for 120+fps-->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- Type="1", Drag boost -->
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="kona" Fps="60"
+ Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="kona" Fps="90"
+ Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="kona" Fps="120"
+ Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40CA8000, 2" />
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="kona" Fps="144"
+ Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40CA8000, 2" />
+
+ <!--PackageInstall boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value -->
+ <!-- SCHED_FORCE_LB_ENABLE opcode, value-->
+ <!-- Type="", Package Install boost -->
+
+ <Config
+ Id="0x00001088" Enable="true" Target="kona"
+ Resources="0x40C00000, 0x2, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200, 0xFFF, 0x40CA0000, 0,
+ 0x40CCC000, 0" />
+
+ <!--Rotation latency boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- Type="", Rotation latency boost -->
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="kona"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF" />
+
+ <!--Rotation animation boost-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- GPU_MIN_POWER_LEVEL resource opcode,value-->
+ <!-- Type="", Rotation animation boost -->
+
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="kona"
+ Resources="0x40800100, 1000, 0x42804000, 0" />
+
+ <!--Performance mode-->
+ <!-- SCHEDTUNE_BOOST -->
+ <!-- SCHED_WINDOW_TICKS_UPDATE -->
+ <!-- TASK_UNFILTER_NR_WINDOWS -->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM_BIAS_HYST resource opcode, value-->
+ <!-- Type="", Performance mode -->
+ <Config
+ Id="0x00001091" Enable="true" Target="kona"
+ Resources="0x40C70000, 20, 0x40CA4000, 2, 0x40C88000, 25, 0x40800000, 1574, 0x40800100, 691, 0x40800200, 1632,
+ 0x40C74000, 0xFF, 0x40408000, 0x63" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="kona"
+ Resources="0x40000000, 1" />
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="kona"
+ Resources="0x40000000, 0x0" />
+
+ <!--FPS Update from Framework-->
+ <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
+ <!-- Below additional resources for 120fps, 144fps-->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- Type indicates FPS -->
+ <!-- 30fps -->
+ <Config
+ Id="0x00001094" Type="30" Enable="true" Target="kona" Timeout="0"
+ Resources="0x40CA4000, 8" />
+ <!-- 45fps -->
+ <Config
+ Id="0x00001094" Type="45" Enable="true" Target="kona" Timeout="0"
+ Resources="0x40CA4000, 5" />
+ <!-- 60fps -->
+ <Config
+ Id="0x00001094" Type="60" Enable="true" Target="kona" Timeout="0"
+ Resources="0x40CA4000, 4" />
+ <!-- 90fps -->
+ <Config
+ Id="0x00001094" Type="90" Enable="true" Target="kona" Timeout="0"
+ Resources="0x40CA4000, 3" />
+ <!-- 120fps -->
+ <Config
+ Id="0x00001094" Type="120" Enable="true" Target="kona" Timeout="0"
+ Resources="0x40CA4000, 2, 0x40CA8000, 1" />
+ <!-- 144fps -->
+ <Config
+ Id="0x00001094" Type="144" Enable="true" Target="kona" Timeout="0"
+ Resources="0x40CA4000, 2, 0x40CA8000, 1" />
+ <!-- 180fps -->
+ <Config
+ Id="0x00001094" Type="180" Enable="true" Target="kona" Timeout="0"
+ Resources="0x40CA4000, 2" />
+ <!-- 240fps -->
+ <Config
+ Id="0x00001094" Type="240" Enable="true" Target="kona" Timeout="0"
+ Resources="0x40CA4000, 2" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/kona/perf/perfconfigstore.xml b/perf/configs/kona/perf/perfconfigstore.xml
new file mode 100644
index 0000000..bfa51f6
--- /dev/null
+++ b/perf/configs/kona/perf/perfconfigstore.xml
@@ -0,0 +1,45 @@
+<?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.iop.enable_uxe" Value="1" />
+ <Prop Name="vendor.debug.enable.lm" Value="true" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="true" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" />
+ <Prop Name="vendor.enable.prefetch" Value="false" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="false" />
+ <Prop Name="ro.vendor.perf.gfl.tap_ignore_enable" Value="true"/>
+
+ <!--System Properties -->
+ <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" />
+ <Prop Name="ro.lmk.enhance_batch_kill" Value="false" />
+ <Prop Name="ro.lmk.enable_watermark_check" Value="true" />
+ <Prop Name="ro.lmk.enable_preferred_apps" Value="true" />
+ <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" />
+ <Prop Name="ro.lmk.super_critical" Value="606" />
+ <Prop Name="ro.lmk.direct_reclaim_pressure" Value="45" />
+ <Prop Name="ro.lmk.reclaim_scan_threshold" Value="0" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+ <Prop Name="vendor.perf.performancemode.support" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="vendor.perf.topAppRenderThreadBoost.enable" Value="false" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/kona/perf/targetconfig.xml b/perf/configs/kona/perf/targetconfig.xml
new file mode 100644
index 0000000..412e8bf
--- /dev/null
+++ b/perf/configs/kona/perf/targetconfig.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-2019 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="kona"
+ NumClusters="3"
+ TotalNumCores="8"
+ SocIds="356"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0"
+ CpufreqGov="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="3" Type="big" />
+ <ClustersInfo Id="2" NumCores="1" Type="prime" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/kona/perf/targetresourceconfigs.xml b/perf/configs/kona/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..1a8772d
--- /dev/null
+++ b/perf/configs/kona/perf/targetresourceconfigs.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-2019 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="0x1" MinorValue="0x2" Node="/proc/sys/kernel/sched_busy_hyst_ns" />
+
+ <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="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent -->
+ <Config MajorValue="0x6" MinorValue="0xA" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0xB" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0xC" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0xD" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0xE" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0xF" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0x10" Supported="no"/>
+
+ <Config MajorValue="0x6" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/min_freq" />
+ <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/decay_rate" />
+ <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/io_percent" />
+ <Config MajorValue="0x6" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/low_power_ceil_mbps" />
+ <Config MajorValue="0x6" MinorValue="0x5" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/low_power_io_percent" />
+ <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/max_freq" />
+ <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/polling_interval" />
+ <Config MajorValue="0x6" MinorValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/sample_ms" />
+ <Config MajorValue="0x6" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/idle_mbps" />
+
+ <Config MajorValue="0xB" MinorValue="0x2" Node="/sys/devices/system/cpu/cpu_boost/input_boost_freq"/>
+
+ <!-- llcbw L3 and DDR major end -->
+ <Config MajorValue="0xC" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/min_freq" />
+ <Config MajorValue="0xC" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/io_percent" />
+ <Config MajorValue="0xC" MinorValue="0x3" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/sample_ms" />
+ <Config MajorValue="0xC" MinorValue="0x4" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0x5" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0x6" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0x7" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0x8" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0x9" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0xA" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0xB" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0xC" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0xD" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0xE" Supported="no" />
+
+ <Config MajorValue="0xD" MinorValue="0x0" Node="/sys/class/devfreq/18590000.qcom,devfreq-l3:qcom,cpu%d-cpu-l3-lat/min_freq" />
+ <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/class/devfreq/18590000.qcom,devfreq-l3:qcom,cpu0-cpu-l3-lat/mem_latency/ratio_ceil" />
+ <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/18590000.qcom,devfreq-l3:qcom,cpu4-cpu-l3-lat/mem_latency/ratio_ceil" />
+ <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/class/devfreq/18590000.qcom,devfreq-l3:qcom,cpu0-cpu-l3-lat/mem_latency/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/18590000.qcom,devfreq-l3:qcom,cpu4-cpu-l3-lat/mem_latency/stall_floor" />
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/lahaina/lm/AdaptLaunchFeature.xml b/perf/configs/lahaina/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..b46eaf3
--- /dev/null
+++ b/perf/configs/lahaina/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,69 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2019-2021 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>300</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+ <SpuriousHintApps>
+ <App>com.android.permissioncontroller</App>
+ </SpuriousHintApps>
+</Feature>
diff --git a/perf/configs/lahaina/lm/AppClassifierFeature.xml b/perf/configs/lahaina/lm/AppClassifierFeature.xml
new file mode 100644
index 0000000..1f3d2e1
--- /dev/null
+++ b/perf/configs/lahaina/lm/AppClassifierFeature.xml
@@ -0,0 +1,36 @@
+<!--
+/******************************************************************************
+ @file AppClassifierFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2017-2020 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AppClassifier</Name>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Libname>libappclassifier.so</Libname>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/lahaina/lm/GameOptimizationFeature.xml b/perf/configs/lahaina/lm/GameOptimizationFeature.xml
new file mode 100644
index 0000000..c437a0a
--- /dev/null
+++ b/perf/configs/lahaina/lm/GameOptimizationFeature.xml
@@ -0,0 +1,427 @@
+<!--
+/******************************************************************************
+ @file GameOptimizationFeature.xml
+ @brief Game Optimization feature xml
+
+ DESCRIPTION
+ Each feature has an xml file to define the feature components
+
+ ===========================================================================
+ Copyright (c) 2017-2020 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+
+<Feature>
+ <Name>GameOptimization</Name>
+ <Libname>libgameoptfeature.so</Libname>
+ <Configs target="lahaina">
+ <Enable>1</Enable>
+ <STATIC_L0>1</STATIC_L0>
+ <AGPE>1</AGPE>
+ <GFAR>1</GFAR>
+ <STUTTER_SCALE>10</STUTTER_SCALE>
+ <PICARD>1</PICARD>
+ <IDLE_SENSE>0</IDLE_SENSE>
+ <THERMAL_MONITOR>1</THERMAL_MONITOR>
+ <THERMAL_MONITOR_RULES>GAME_OPT_TSENS_RULE1,GAME_OPT_TSENS_RULE2,GAME_OPT_TSENS_RULE3</THERMAL_MONITOR_RULES>
+ <!-- AGPE threshold values in the order: Increase, Aggressive Increase, Decrease -->
+ <AGPE_FPS_30_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_30_THRESHOLD>
+ <AGPE_FPS_35_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_35_THRESHOLD>
+ <AGPE_FPS_40_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_40_THRESHOLD>
+ <AGPE_FPS_48_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_48_THRESHOLD>
+ <AGPE_FPS_60_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_60_THRESHOLD>
+ <AGPE_FPS_90_THRESHOLD>2.0, 5.0, 1.0</AGPE_FPS_90_THRESHOLD>
+ <AGPE_FPS_120_THRESHOLD>2.0, 5.0, 1.0</AGPE_FPS_120_THRESHOLD>
+ <AGPE_FPS_144_THRESHOLD>2.0, 5.0, 1.0</AGPE_FPS_144_THRESHOLD>
+ </Configs>
+ <Configs target="shima">
+ <Enable>1</Enable>
+ <ATML1>1</ATML1>
+ <ATML2>1</ATML2>
+ <ATML3>0</ATML3>
+ <GFAR>1</GFAR>
+ <PICARD>0</PICARD>
+ <IDLE_SENSE>0</IDLE_SENSE>
+ <GROUP_UPMIGRATE_PATH>/proc/sys/kernel/sched_group_upmigrate</GROUP_UPMIGRATE_PATH>
+ <GROUP_DOWNMIGRATE_PATH>/proc/sys/kernel/sched_group_downmigrate</GROUP_DOWNMIGRATE_PATH>
+ <BIG_CLUSTER_ID>4,5,6,7</BIG_CLUSTER_ID>
+ <BIG_SLB_OPCODE>0x40C68000,0x40C68010,0x40C68020,0x40C680200</BIG_SLB_OPCODE>
+ <LITTLE_SLB_OPCODE>0x40C68100,0x40C68110,0x40C68120,0x40C68130</LITTLE_SLB_OPCODE>
+ <!-- SLBval, TADemand, Jank-->
+ <SLB_MAP>14,200,40,6,150,30,4,125,25,2,100,15,0</SLB_MAP>
+ <STUTTER_SCALE>10</STUTTER_SCALE>
+ <ENABLE_DB_L2_L3>0</ENABLE_DB_L2_L3>
+ <!-- This will enbale SLB clamping if Janks are zero in consistent learning window-->
+ <ENABLE_SLB_CLAMPER>1</ENABLE_SLB_CLAMPER>
+ <L3_JANK_THRESHOLD>2,12</L3_JANK_THRESHOLD>
+ <!-- Janky vector threshold, Total no. of Janks Threshold-->
+ <L1_JANK_THRESHOLD>4,8</L1_JANK_THRESHOLD>
+ <!-- Default slb little, Default slb big-->
+ <ATM_L3_DEFAULTS>0,-6</ATM_L3_DEFAULTS>
+ </Configs>
+ <Configs target="yupik">
+ <Enable>1</Enable>
+ <ATML1>1</ATML1>
+ <ATML2>1</ATML2>
+ <ATML3>0</ATML3>
+ <GFAR>1</GFAR>
+ <PICARD>1</PICARD>
+ <IDLE_SENSE>0</IDLE_SENSE>
+ <GROUP_UPMIGRATE_PATH>/proc/sys/kernel/sched_group_upmigrate</GROUP_UPMIGRATE_PATH>
+ <GROUP_DOWNMIGRATE_PATH>/proc/sys/kernel/sched_group_downmigrate</GROUP_DOWNMIGRATE_PATH>
+ <BIG_CLUSTER_ID>4,5,6,7</BIG_CLUSTER_ID>
+ <BIG_SLB_OPCODE>0x40C68000,0x40C68010,0x40C68020,0x40C680200</BIG_SLB_OPCODE>
+ <LITTLE_SLB_OPCODE>0x40C68100,0x40C68110,0x40C68120,0x40C68130</LITTLE_SLB_OPCODE>
+ <!-- SLBval, TADemand, Jank-->
+ <SLB_MAP>14,200,40,6,150,30,4,125,25,2,100,15,0</SLB_MAP>
+ <STUTTER_SCALE>10</STUTTER_SCALE>
+ <ENABLE_DB_L2_L3>0</ENABLE_DB_L2_L3>
+ <!-- This will enbale SLB clamping if Janks are zero in consistent learning window-->
+ <ENABLE_SLB_CLAMPER>1</ENABLE_SLB_CLAMPER>
+ <L3_JANK_THRESHOLD>2,12</L3_JANK_THRESHOLD>
+ <!-- Janky vector threshold, Total no. of Janks Threshold-->
+ <L1_JANK_THRESHOLD>4,8</L1_JANK_THRESHOLD>
+ <!-- Default slb little, Default slb big-->
+ <ATM_L3_DEFAULTS>0,-6</ATM_L3_DEFAULTS>
+ </Configs>
+ <Profiles>
+ <!-- Heavy Game Default -->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, 0, SCHED_MIN_TASK_UTIL_FOR_BOOST, 0 -->
+ <!-- MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_BIG, 19000, MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_LITTLE, 19000 -->
+ <!-- SCHED_GROUP_DOWNMIGRATE, 75, SCHED_GROUP_UPMIGRATE, 90 -->
+ <Profile target="lahaina">
+ <DEFAULT_PROF>
+ 0x40C78000, 0, 0x40C7C000, 0,
+ 0x41448000, 19000, 0x41448100, 19000,
+ 0x40C58000, 75, 0x40C54000, 90
+ </DEFAULT_PROF>
+ </Profile>
+ <!-- Agressive Profile - Junk detected -->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, 0, SCHED_MIN_TASK_UTIL_FOR_BOOST, 0 -->
+ <!-- MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_BIG, 79000, MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_LITTLE, 79000-->
+ <!-- CPUBW_HWMON_MIN_FREQ, 30, LLCBW_HWMON_MIN_FREQ, 90, L3_MEMLAT_MIN_FREQ, 9000 -->
+ <!-- MIN_FREQ_CLUSTER_PRIME_CORE_0, 1000, MIN_FREQ_CLUSTER_BIG_CORE_0, 1000, MIN_FREQ_CLUSTER_LITTLE_CORE_0, 1000 -->
+ <!-- SCHED_GROUP_DOWNMIGRATE, 65, SCHED_GROUP_UPMIGRATE, 80 -->
+ <!-- TO BE REPLACED: SCHED_BUSY_HYSTERSIS_CPU_MASK, 0xf0, LPM_BIAS_HYST, 99-->
+ <Profile target="lahaina">
+ <DEFAULT_PROF>
+ 0x40C78000, 0, 0x40C7C000, 0,
+ 0x41448000, 79000, 0x41448100, 79000,
+ 0x43010000, 30, 0x41828000, 90, 0x43400000, 9000,
+ 0x40800200, 1000, 0x40800000, 1000, 0x40800100, 1000,
+ 0x40C58000, 65, 0x40C54000, 80,
+ 0x40C74000, 0xf0, 0x40408000, 99
+ </DEFAULT_PROF>
+ </Profile>
+ <Profile target="lahaina">
+ <!-- Colocation v3 1 GHz -->
+ <DEFAULT>0x4144C100,1000000</DEFAULT>
+ <!-- Colocation v3 1 GHz -->
+ <SKEW2>0x4144C100,1000000</SKEW2>
+ </Profile>
+ <Profile target="shima">
+ <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 ,LPM IPI Prediction 0, MIN_TASK_UTIL_FOR_COLOCATION 19 -->
+ <DEFAULT>0x4144C100,860000,0x41444000,1,0x41444200,1,0x40C9C000,4,0x40414000,0,0x40C78000,19</DEFAULT>
+ <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4, LPM IPI Prediction 0, MIN_TASK_UTIL_FOR_COLOCATION 19 -->
+ <SKEW2>0x4144C100,860000,0x41444000,1,0x41444200,1,0x40C9C000,4,0x40414000,0,0x40C78000,19</SKEW2>
+ </Profile>
+ <Profile target="yupik">
+ <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 ,LPM IPI Prediction 0, MIN_TASK_UTIL_FOR_COLOCATION 19 -->
+ <DEFAULT>0x4144C100,860000,0x41444000,1,0x41444200,1,0x40C9C000,4,0x40414000,0,0x40C78000,19</DEFAULT>
+ <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4, LPM IPI Prediction 0, MIN_TASK_UTIL_FOR_COLOCATION 19 -->
+ <SKEW2>0x4144C100,860000,0x41444000,1,0x41444200,1,0x40C9C000,4,0x40414000,0,0x40C78000,19</SKEW2>
+ </Profile>
+ </Profiles>
+
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+
+ <Meter>
+ <Name>Fps</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+
+ <Configs>
+ <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE>
+ <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+
+ <Meter>
+ <Name>SchedParams</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+ <Samples>100</Samples>
+ </Meter>
+
+ <Meter>
+ <Name>Gpu</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+
+ <Configs>
+ <GPU_AVAILABLE_FREQUENCIES>/sys/class/kgsl/kgsl-3d0/gpu_available_frequencies</GPU_AVAILABLE_FREQUENCIES>
+ <GPU_CLOCK_STATS>/sys/class/kgsl/kgsl-3d0/gpu_clock_stats</GPU_CLOCK_STATS>
+ <GPU_CLK>/sys/class/kgsl/kgsl-3d0/gpuclk</GPU_CLK>
+ <GPU_BUSY_PERCENTAGE>/sys/class/kgsl/kgsl-3d0/gpu_busy_percentage</GPU_BUSY_PERCENTAGE>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+ </Meters>
+ <IgnoredApps target="lahaina">
+ <App>com.google.android.gms</App>
+ <App>com.android.vending</App>
+ <App>com.google.android.projection.gearhead</App>
+ <App>com.vectorunit.silver.googleplay</App>
+ <App>com.kiloo.subwaysurf</App>
+ <App>com.imangi.templerun2</App>
+ <App>com.ogien.trainsim</App>
+ </IgnoredApps>
+ <IgnoredApps target="shima">
+ <App>com.google.android.gms</App>
+ <App>com.android.vending</App>
+ <App>com.google.android.projection.gearhead</App>
+ </IgnoredApps>
+ <IgnoredApps target="yupik">
+ <App>com.google.android.gms</App>
+ <App>com.android.vending</App>
+ <App>com.google.android.projection.gearhead</App>
+ </IgnoredApps>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_THERMAL_UPDATE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/lahaina/lm/PreKillFeature.xml b/perf/configs/lahaina/lm/PreKillFeature.xml
new file mode 100644
index 0000000..f7cfdbf
--- /dev/null
+++ b/perf/configs/lahaina/lm/PreKillFeature.xml
@@ -0,0 +1,82 @@
+<!--
+/******************************************************************************
+ @file PreKillMeter.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ =========================================================================
+ Copyright (c) 2020 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ =========================================================================
+******************************************************************************/
+-->
+
+<Feature>
+ <Name>PreKill</Name>
+ <Libname>libprekill.so</Libname>
+ <Meters>
+ <SamplesRequired>3</SamplesRequired>
+ <Meter>
+ <Name>Memory</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>2</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>101</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>102</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_KILL</AsyncId>
+ <AsyncType>0</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_UPDATE</AsyncId>
+ <AsyncType>0</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_DRAW</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>1</Samples>
+ <Configs>
+ <TotalSamplesToRun>120</TotalSamplesToRun>
+ </Configs>
+ <Fields>
+ <Field>ion_kgsl</Field>
+ <Field>rss_swap</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/lahaina/lm/gPLAFFeature.xml b/perf/configs/lahaina/lm/gPLAFFeature.xml
new file mode 100644
index 0000000..3f130fd
--- /dev/null
+++ b/perf/configs/lahaina/lm/gPLAFFeature.xml
@@ -0,0 +1,73 @@
+<!--
+/******************************************************************************
+ @file gPLAFFeature.xml
+ @brief Game Peak Load AR Filter(gPLAF) xml
+
+ DESCRIPTION
+ Each feature has an xml file to define the feature components
+
+ ===========================================================================
+ Copyright (c) 2020 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+
+<Feature>
+ <Name>gPLAFFeature</Name>
+ <Libname>libgplaf.so</Libname>
+ <Configs target="shima">
+ <Resources_Big>0x40800200,0x40800000</Resources_Big>
+ <Resources_Lil>0x40800100</Resources_Lil>
+ <Boost_Heavy>2246,1804</Boost_Heavy>
+ <Boost_Light>1651,1324</Boost_Light>
+ </Configs>
+ <Configs target="yupik">
+ <Resources_Big>0x40800200,0x40800000</Resources_Big>
+ <Resources_Lil>0x40800100</Resources_Lil>
+ <Boost_Heavy>2131,1804</Boost_Heavy>
+ <Boost_Light>1651,1324</Boost_Light>
+ </Configs>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+ </Triggers>
+ <IgnoredApps target="shima">
+ <App>com.google.android.gms</App>
+ <App>com.android.vending</App>
+ <App>com.google.android.projection.gearhead</App>
+ </IgnoredApps>
+ <IgnoredApps target="yupik">
+ <App>com.google.android.gms</App>
+ <App>com.android.vending</App>
+ <App>com.google.android.projection.gearhead</App>
+ </IgnoredApps>
+ <SpuriousHintApps>
+ <App>PermissionGrantActivity</App>
+ </SpuriousHintApps>
+</Feature>
diff --git a/perf/configs/lahaina/lm/prekill/prekill_2GB.data b/perf/configs/lahaina/lm/prekill/prekill_2GB.data
new file mode 100644
index 0000000..fce8a00
--- /dev/null
+++ b/perf/configs/lahaina/lm/prekill/prekill_2GB.data
Binary files differ
diff --git a/perf/configs/lahaina/lm/prekill/prekill_4GB.data b/perf/configs/lahaina/lm/prekill/prekill_4GB.data
new file mode 100644
index 0000000..f052cd5
--- /dev/null
+++ b/perf/configs/lahaina/lm/prekill/prekill_4GB.data
Binary files differ
diff --git a/perf/configs/lahaina/lm/prekill/prekill_6GB.data b/perf/configs/lahaina/lm/prekill/prekill_6GB.data
new file mode 100644
index 0000000..c5db16f
--- /dev/null
+++ b/perf/configs/lahaina/lm/prekill/prekill_6GB.data
Binary files differ
diff --git a/perf/configs/lahaina/lm/sPLHFeature.xml b/perf/configs/lahaina/lm/sPLHFeature.xml
new file mode 100644
index 0000000..54a8873
--- /dev/null
+++ b/perf/configs/lahaina/lm/sPLHFeature.xml
@@ -0,0 +1,53 @@
+<!--
+/******************************************************************************
+ @file sPLHFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2020 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ Specify ipc threashold and freq threashold for 60,90,120,144::
+ <Configs>
+ <FPS60>IPC1,FREQ1,IPC2,FREQ2,IPC3,FREQ3</FPS60>
+ </Configs>
+-->
+<Feature>
+ <Name>sPLH</Name>
+ <Configs target="shima">
+ <FPS>60,90,120,144</FPS>
+ <FPS60>0,650,150,1200,200,1700,250,2200</FPS60>
+ <FPS90>0,650,150,1200,200,1700,250,2200</FPS90>
+ <FPS120>0,1497,200,1700,250,2200</FPS120>
+ <FPS144>0,1497,200,1700,250,2200</FPS144>
+ </Configs>
+ <Configs target="yupik">
+ <FPS>60,90,120,144</FPS>
+ <FPS60>0,690,80,1600,120,2000</FPS60>
+ <FPS90>0,690,80,1600,120,2000</FPS90>
+ <FPS120>0,690,80,1600,120,2000</FPS120>
+ <FPS144>0,690,80,1600,120,2000</FPS144>
+ </Configs>
+ <Libname>libsplh.so</Libname>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_SCROLL_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_SCROLL_BOOST</AsyncId>
+ <AsyncType>2</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/lahaina/msm_irqbalance.conf b/perf/configs/lahaina/msm_irqbalance.conf
new file mode 100644
index 0000000..7625005
--- /dev/null
+++ b/perf/configs/lahaina/msm_irqbalance.conf
@@ -0,0 +1,9 @@
+################################################################################################################################
+# Copyright (c) 2019 Qualcomm Technologies, Inc.
+# All Rights Reserved.
+# Confidential and Proprietary - Qualcomm Technologies, Inc.
+################################################################################################################################
+
+PRIO=1,1,1,1,0,0,0,0
+#arch_timer, arm-pmu, arch_mem_timer
+IGNORED_IRQ=27,23,38 \ No newline at end of file
diff --git a/perf/configs/lahaina/perf/perfboostsconfig.xml b/perf/configs/lahaina/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..599b225
--- /dev/null
+++ b/perf/configs/lahaina/perf/perfboostsconfig.xml
@@ -0,0 +1,1104 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017-2020 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-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBW_MAX_FREQ resource opcode, value-->
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- LLCC DDR LAT CPU0 MIN FREQ resource opcode, value-->
+ <!-- L3 resource opcode, value-->
+ <!-- GPU DISABLE resource opcode, value-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="lahaina"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x43018000, 0xFF,
+ 0x43010000, 0xFF, 0x40400000, 0x1, 0x42C10000, 0x1, 0x43430100, 0x28C5,
+ 0x43400000, 0xFFFF, 0x4281C000, 2000" />
+
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="shima"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 1497, 0x40800100, 1516, 0x40800200, 1766" />
+
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="yupik"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 1497, 0x40800100, 1497, 0x40800200, 1766" />
+
+ <!--app lauch boost (disabling packing)-->
+
+ <!-- Type="2", launch boost for disable packing 1.5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="lahaina"
+ Resources="" />
+
+ <!-- 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="shima"
+ Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59,
+ 0x41828000, 806, 0x43400000, 0x2E80, 0x4281C000, 1500" />
+
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="yupik"
+ Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59,
+ 0x41828000, 806, 0x43400000, 0x2E80, 0x4281C000, 1500" />
+
+ <!-- config_enableLaunchBoostv3-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED DOWNMIGRATE resource opcode, value -->
+ <!-- SCHED UPMIGRATE resource opcode, value -->
+ <!-- SCHED DOWNMIGRATE PRIME resource opcode, value -->
+ <!-- SCHED UPMIGRATE PRIME resource opcode, value -->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="lahaina"
+ Resources="0x40C00000, 0x3, 0x40C58000, 0x2D, 0x40C54000, 0x41,
+ 0x40C74000, 0xF0, 0x40408000, 0x63, 0x40C20000, 0x28,
+ 0x40C1C000, 0x3C, 0x40C20200, 0x28, 0x40C1C200, 0x3C" />
+
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="shima"
+ Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5,
+ 0x40C74000, 0xF0" />
+
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="yupik"
+ Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5,
+ 0x40C74000, 0xF0" />
+
+ <!-- config_gameBoost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+
+ <!-- Type="4", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="shima"
+ Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5,
+ 0x40C74000, 0xF0" />
+
+ <Config
+ Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="yupik"
+ Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5,
+ 0x40C74000, 0xF0" />
+
+ <!-- config_gameBoost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED DOWNMIGRATE resource opcode, value -->
+ <!-- SCHED UPMIGRATE resource opcode, value -->
+ <!-- SCHED DOWNMIGRATE PRIME resource opcode, value -->
+ <!-- SCHED UPMIGRATE PRIME resource opcode, value -->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBW_MAX_FREQ resource opcode, value-->
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- LLCCBW resource opcode, value-->
+ <!-- L3 resource opcode, value-->
+
+ <!-- Type="6", FA launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="lahaina"
+ Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41,
+ 0x40C74000, 0xF0, 0x40408000, 0x63, 0x40C20000, 0x28,
+ 0x40C1C000, 0x3C, 0x40C20200, 0x28, 0x40C1C200, 0x3C,
+ 0x42C10000, 0x1, 0x40800200, 0x76C, 0x40800000, 0x76C,
+ 0x40800100, 0x4B0, 0x43018000, 0xFF, 0x43010000, 0x50,
+ 0x41828000, 0x3A, 0x43400000, 0x3480" />
+
+ <!-- config_enableLaunchBoost6-->
+ <!-- SLB_BIG_CORE_1, val-->
+ <!-- SLB_BIG_CORE_2, val-->
+ <!-- SLB_BIG_CORE_3, val-->
+ <!-- SLB_PRIME, val-->
+ <!-- MIN_FREQ_BIG, val MHz -->
+ <!-- MIN_FREQ_PRIME, val MHz -->
+ <!-- CPU_DOWN_FREQ_THRESHOLD_US BIG, val us -->
+ <!-- CPU_DOWN_FREQ_THRESHOLD_US PRIME, val us -->
+ <!-- LPM_BIAS resource opcode, val ms-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+
+ <!-- Type="6", Game Launch boost -->
+ <Config
+ Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="shima"
+ Resources="0x40C68000, 60,
+ 0x40C68010, 60,
+ 0x40C68020, 60,
+ 0x40C68200, 60,
+ 0x40800000, 1209,
+ 0x40800200, 1267,
+ 0x41448000, 20000,
+ 0x41448200, 20000,
+ 0x40408000, 0x63,
+ 0x40C74000, 0xF0" />
+
+ <Config
+ Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="yupik"
+ Resources="0x40C68000, 60,
+ 0x40C68010, 60,
+ 0x40C68020, 60,
+ 0x40C68200, 60,
+ 0x40800000, 1228,
+ 0x40800200, 1324,
+ 0x41448000, 20000,
+ 0x41448200, 20000,
+ 0x40408000, 0x63,
+ 0x40C74000, 0xF0" />
+
+ <!--app launch boost (attach application) -->
+ <!-- SCHED_TASK_BOOST resource opcode, value-->
+ <Config
+ Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="lahaina"
+ Resources="0x40C80000, 0x0" />
+
+ <Config
+ Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="shima"
+ Resources="0x40C80000, 0x0" />
+
+ <Config
+ Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="yupik"
+ Resources="0x40C80000, 0x0" />
+
+ <!--Animation boost -->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <Config
+ Id="0x00001083" Enable="true" Timeout="400" Target="lahaina"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF" />
+
+ <Config
+ Id="0x00001083" Enable="true" Timeout="400" Target="shima"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF" />
+
+ <Config
+ Id="0x00001083" Enable="true" Timeout="400" Target="yupik"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF" />
+
+ <!--Vertical Scroll boost-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- Below additional resources for 120+fps-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- MIN_ONLINE_CPU_CLUSTER_PRIME opcode, value-->
+ <!-- SCHED DOWNMIGRATE PRIME resource opcode, value -->
+ <!-- SCHED UPMIGRATE PRIME resource opcode, value -->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="lahaina" Fps="60"
+ Resources="0x41828000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="lahaina" Fps="90"
+ Resources="0x41828000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="lahaina" Fps="120"
+ Resources="0x41828000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x40CA8000, 4,
+ 0x41000200, 1, 0x40C20200, 0xA, 0x40C1C200, 0x23" />
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="lahaina" Fps="144"
+ Resources="0x41828000, 0x19, 0x40800000, 1300, 0x40800100, 1100, 0x40800200, 1300,
+ 0x40C00000, 0x2, 0x43400000, 0x2AF8, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x40CA8000, 4,
+ 0x41000200, 1, 0x40C20200, 0xA, 0x40C1C200, 0x23" />
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="shima" Fps="60"
+ Resources="0x43010000, 0x26, 0x40800000, 1209, 0x40800100, 1171, 0x40800200, 1094,
+ 0x40C00000, 2" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="yupik" Fps="60"
+ Resources="0x43010000, 0x26, 0x40800000, 1228, 0x40800100, 1152, 0x40800200, 1056,
+ 0x40C00000, 2" />
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="shima" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 1324, 0x40800200, 1766,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="yupik" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 1324, 0x40800200, 1766,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27" />
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="shima" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
+ 0x40C78000, 0, 0x40C7C000, 0" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="yupik" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
+ 0x40C78000, 0, 0x40C7C000, 0" />
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="shima" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
+ 0x40C78000, 0, 0x40C7C000, 0, 0x43010000, 0x11, 0x43400000, 0x1F40" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="yupik" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
+ 0x40C78000, 0, 0x40C7C000, 0, 0x43010000, 0x11, 0x43400000, 0x1F40" />
+
+
+ <!--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 -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="shima" Fps="60"
+ Resources="0x43010000, 0x26, 0x40800000, 1209, 0x40800100, 1171, 0x40800200, 1094,
+ 0x40C00000, 2" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="yupik" Fps="60"
+ Resources="0x43010000, 0x26, 0x40800000, 1228, 0x40800100, 1152, 0x40800200, 1056,
+ 0x40C00000, 2" />
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="shima" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 1324, 0x40800200, 1766,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="yupik" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 1324, 0x40800200, 1766,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27" />
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="shima" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
+ 0x40C78000, 0, 0x40C7C000, 0" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="yupik" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
+ 0x40C78000, 0, 0x40C7C000, 0" />
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="shima" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
+ 0x40C78000, 0, 0x40C7C000, 0, 0x43010000, 0x11, 0x43400000, 0x1F40" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="yupik" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
+ 0x40C78000, 0, 0x40C7C000, 0, 0x43010000, 0x11, 0x43400000, 0x1F40" />
+
+ <!--Prefling Scroll boost-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- Below additional resources for 120+fps-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- MIN_ONLINE_CPU_CLUSTER_PRIME opcode, value-->
+ <!-- SCHED DOWNMIGRATE PRIME resource opcode, value -->
+ <!-- SCHED UPMIGRATE PRIME resource opcode, value -->
+ <!-- TIMEOUT 80ms -->
+ <!-- Type="4", Prefling boost -->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="lahaina" Fps="60"
+ Resources="0x41828000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="lahaina" Fps="90"
+ Resources="0x41828000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="lahaina" Fps="120"
+ Resources="0x41828000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x40CA8000, 4,
+ 0x41000200, 1, 0x40C20200, 0xA, 0x40C1C200, 0x23" />
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="lahaina" Fps="144"
+ Resources="0x41828000, 0x19, 0x40800000, 1300, 0x40800100, 1100, 0x40800200, 1300,
+ 0x40C00000, 0x2, 0x43400000, 0x2AF8, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x40CA8000, 4,
+ 0x41000200, 1, 0x40C20200, 0xA, 0x40C1C200, 0x23" />
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+
+ <!-- Type="4", Pre-Fling boost -->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="shima" Fps="60"
+ Resources="0x43010000, 0x26, 0x40800000, 1209, 0x40800100, 1171, 0x40800200, 1094,
+ 0x40C00000, 2" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="yupik" Fps="60"
+ Resources="0x43010000, 0x26, 0x40800000, 1228, 0x40800100, 1152, 0x40800200, 1056,
+ 0x40C00000, 2" />
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="shima" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 1324, 0x40800200, 1766,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="yupik" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 1324, 0x40800200, 1766,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27" />
+
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="shima" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
+ 0x40C78000, 0, 0x40C7C000, 0" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="yupik" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
+ 0x40C78000, 0, 0x40C7C000, 0" />
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="shima" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
+ 0x40C78000, 0, 0x40C7C000, 0, 0x43010000, 0x11, 0x43400000, 0x1F40" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="yupik" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862,
+ 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3,
+ 0x40C78000, 0, 0x40C7C000, 0, 0x43010000, 0x11, 0x43400000, 0x1F40" />
+
+ <!--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-->
+
+ <!-- Type="", MTP boost -->
+ <Config
+ Id="0x00001086" Enable="true" Target="lahaina"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800,
+ 0x40800100, 1400" />
+
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+
+ <!-- Type="", MTP boost -->
+ <Config
+ Id="0x00001086" Enable="true" Target="shima"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 1497, 0x40800100, 1324, 0x40800200, 1766, 0x42C10000, 0x1" />
+
+ <Config
+ Id="0x00001086" Enable="true" Target="yupik"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 1516, 0x40800100, 1324, 0x40800200, 1766, 0x42C10000, 0x1" />
+
+ <!--Drag boost-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- Below additional resources for 120+fps-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- MIN_ONLINE_CPU_CLUSTER_PRIME opcode, value-->
+ <!-- SCHED DOWNMIGRATE PRIME resource opcode, value -->
+ <!-- SCHED UPMIGRATE PRIME resource opcode, value -->
+ <!-- Type="1", Drag boost -->
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lahaina" Fps="60"
+ Resources="0x41828000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lahaina" Fps="90"
+ Resources="0x41828000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lahaina" Fps="120"
+ Resources="0x41828000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x40CA8000, 4,
+ 0x41000200, 1, 0x40C20200, 0xA, 0x40C1C200, 0x23" />
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lahaina" Fps="144"
+ Resources="0x41828000, 0x11, 0x40800000, 1300, 0x40800100, 1100, 0x40800200, 1300,
+ 0x40C00000, 0x2, 0x43400000, 0x2AF8, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x40CA8000, 4,
+ 0x41000200, 1, 0x40C20200, 0xA, 0x40C1C200, 0x23" />
+
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+
+ <!-- Type="1", Drag boost -->
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="shima"
+ Resources="0x40800000, 1209, 0x40800100, 1171, 0x40800200, 1094" />
+
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="yupik"
+ Resources="0x40800000, 1228, 0x40800100, 1152, 0x40800200, 1056" />
+
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="shima" Fps="120"
+ Resources="0x40800000, 1209, 0x40800100, 1171, 0x40800200, 1094, 0x40C00000, 2,
+ 0x43010000, 0x11, 0x43400000, 0x1F40" />
+
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="shima" Fps="144"
+ Resources="0x40800000, 1209, 0x40800100, 1171, 0x40800200, 1094, 0x40C00000, 2,
+ 0x43010000, 0x11, 0x43400000, 0x2AF8" />
+
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="yupik" Fps="120"
+ Resources="0x40800000, 1228, 0x40800100, 1152, 0x40800200, 1056, 0x40C00000, 2,
+ 0x43010000, 0x11, 0x43400000, 0x1F40" />
+
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="yupik" Fps="144"
+ Resources="0x40800000, 1228, 0x40800100, 1152, 0x40800200, 1056, 0x40C00000, 2,
+ 0x43010000, 0x11, 0x43400000, 0x2AF8" />
+
+ <!--PackageInstall boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value-->
+ <!-- SCHED_FORCE_LB_ENABLE resource opcode, value-->
+ <!-- Type="", Package Install boost -->
+
+ <Config
+ Id="0x00001088" Enable="true" Target="lahaina"
+ Resources="0x40C00000, 0x2, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200, 0xFFF, 0x40CA0000, 0,
+ 0x40CCC000, 0" />
+
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_FORCE_LB_ENABLE resource opcode, value-->
+ <!-- Type="", Package Install boost -->
+ <Config
+ Id="0x00001088" Enable="true" Target="shima"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x40CA0000, 0, 0x40C00000, 2,
+ 0x40CCC000, 0" />
+
+ <Config
+ Id="0x00001088" Enable="true" Target="yupik"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x40CA0000, 0, 0x40C00000, 2,
+ 0x40CCC000, 0" />
+
+ <!--Rotation latency boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- Type="", Rotation latency boost -->
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="lahaina"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF" />
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="shima"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF" />
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="yupik"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF" />
+
+ <!--Rotation animation boost-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- GPU_MIN_POWER_LEVEL resource opcode,value-->
+ <!-- Type="", Rotation animation boost -->
+
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="lahaina"
+ Resources="0x40800100, 1000, 0x42804000, 0" />
+
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="shima"
+ Resources="0x40800100, 1324, 0x42804000, 0" />
+
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="yupik"
+ Resources="0x40800100, 1324, 0x42804000, 0" />
+
+ <!--Performance mode-->
+ <!-- UCLAMP_BOOST -->
+ <!-- SCHED_WINDOW_TICKS_UPDATE -->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM_BIAS_HYST resource opcode, value-->
+ <!-- DISABLE_PASR, value-->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- Type="", Performance mode -->
+ <Config
+ Id="0x00001091" Enable="true" Target="lahaina"
+ Resources="0x40CAC000, 20, 0x40CA4000, 2, 0x40800000, 1555, 0x40800100, 800, 0x40800200, 1670,
+ 0x40C74000, 0xFF, 0x40408000, 0x63, 0x42C1C000, 1, 0x40CA8000, 3" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="lahaina"
+ Resources="0x40000000, 1" />
+
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="shima"
+ Resources="0x40000000, 1" />
+
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="yupik"
+ Resources="0x40000000, 1" />
+
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="lahaina"
+ Resources="0x40000000, 0x0" />
+
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="shima"
+ Resources="0x40000000, 0x0" />
+
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="yupik"
+ Resources="0x40000000, 0x0" />
+
+ <!--FPS Update from Framework-->
+ <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
+ <!-- Below additional resources for 120fps, 144fps-->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- 144Hz only: CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- Type indicates FPS -->
+ <!-- 30fps -->
+ <Config
+ Id="0x00001094" Type="30" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 8" />
+ <!-- 45fps -->
+ <Config
+ Id="0x00001094" Type="45" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 5" />
+ <!-- 60fps -->
+ <Config
+ Id="0x00001094" Type="60" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 4" />
+ <!-- 90fps -->
+ <Config
+ Id="0x00001094" Type="90" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 3" />
+ <!-- 120fps -->
+ <Config
+ Id="0x00001094" Type="120" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 2, 0x40CA8000, 3, 0x40C74000, 15, 0x40408000, 3,
+ 0x40CC8000, 119" />
+ <!-- 144fps -->
+ <Config
+ Id="0x00001094" Type="144" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 2, 0x40CA8000, 3, 0x40C74000, 15, 0x40408000, 3,
+ 0x40800100, 800, 0x40CC8000, 119" />
+ <!-- 180fps -->
+ <Config
+ Id="0x00001094" Type="180" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 2" />
+ <!-- 240fps -->
+ <Config
+ Id="0x00001094" Type="240" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 2" />
+
+ <!--FPS Immediate Update from within Perfd-->
+ <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
+ <!-- Below additional resources for 120fps, 144fps-->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- 144Hz only: CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- Type indicates FPS -->
+ <!-- 30fps -->
+ <Config
+ Id="0x0000109B" Type="30" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 8" />
+ <!-- 45fps -->
+ <Config
+ Id="0x0000109B" Type="45" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 5" />
+ <!-- 60fps -->
+ <Config
+ Id="0x0000109B" Type="60" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 4" />
+ <!-- 90fps -->
+ <Config
+ Id="0x0000109B" Type="90" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 3" />
+ <!-- 120fps -->
+ <Config
+ Id="0x0000109B" Type="120" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 2, 0x40CA8000, 3, 0x40C74000, 15, 0x40408000, 3" />
+ <!-- 144fps -->
+ <Config
+ Id="0x0000109B" Type="144" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 2, 0x40CA8000, 3, 0x40C74000, 15, 0x40408000, 3,
+ 0x40800100, 800" />
+ <!-- 180fps -->
+ <Config
+ Id="0x0000109B" Type="180" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 2" />
+ <!-- 240fps -->
+ <Config
+ Id="0x0000109B" Type="240" Enable="true" Target="lahaina" Timeout="0"
+ Resources="0x40CA4000, 2" />
+
+ <!-- FPS Immediate Update from within Perfd Shima, yupik-->
+ <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
+ <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
+ <!-- PREDECITIVE_LOAD PRIME CORE resource opcode, value -->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
+
+ <!-- Type="60" -->
+ <Config
+ Id="0x0000109B" Type="60" Enable="true" Target="shima" Timeout="0"
+ Resources="0x41444000, 0, 0x41444100, 0, 0x41444200, 0, 0x40CA8000, 0, 0x40CA4000, 5" />
+
+ <Config
+ Id="0x0000109B" Type="60" Enable="true" Target="yupik" Timeout="0"
+ Resources="0x41444000, 0, 0x41444100, 0, 0x41444200, 0, 0x40CA8000, 0, 0x40CA4000, 5" />
+
+ <!-- Type="90" -->
+ <Config
+ Id="0x0000109B" Type="90" Enable="true" Target="shima" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 3" />
+
+ <Config
+ Id="0x0000109B" Type="90" Enable="true" Target="yupik" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 3" />
+
+ <!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value -->
+ <!-- WALT_LOW_LATENCY_TASK_THRESHOLD resource opcode, value -->
+
+ <!-- Type="120" -->
+ <Config
+ Id="0x0000109B" Type="120" Enable="true" Target="shima" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2,
+ 0x40CC8000, 119, 0x40CD8000, 100" />
+
+ <Config
+ Id="0x0000109B" Type="120" Enable="true" Target="yupik" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2,
+ 0x40CC8000, 119, 0x40CD8000, 100" />
+
+ <!-- SLB_BIG_0, val-->
+ <!-- SLB_BIG_1, val-->
+ <!-- SLB_BIG_2, val-->
+ <!-- SLB_PRIME, val-->
+ <!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value -->
+ <!-- SCHED_COLOC_DOWNMIGRATE_NS resource opcode, value -->
+ <!-- WALT_LOW_LATENCY_TASK_THRESHOLD resource opcode, value -->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+ <!-- CPU min freq resource opcode, value -->
+ <!-- SCHED_BUSY_HYSTERESIS_ENABLE_COLOC_CPUS opcode, value -->
+
+ <!-- Type="144" -->
+ <Config
+ Id="0x0000109B" Type="144" Enable="true" Target="shima" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2,
+ 0x40C68000, 0, 0x40C68010, 0, 0x40C68020, 0, 0x40C68200, 0, 0x40CC8000, 119,
+ 0x40C8C000, 100000000, 0x40CD8000, 100, 0x41000000, 3, 0x40C78000, 0,
+ 0x40C7C000, 0, 0x40800100, 806, 0x40C90000, 0x70" />
+
+ <Config
+ Id="0x0000109B" Type="144" Enable="true" Target="yupik" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2,
+ 0x40C68000, 0, 0x40C68010, 0, 0x40C68020, 0, 0x40C68200, 0, 0x40CC8000, 119,
+ 0x40C8C000, 100000000, 0x40CD8000, 100, 0x41000000, 3, 0x40C78000, 0,
+ 0x40C7C000, 0, 0x40800100, 806, 0x40C90000, 0x70" />
+
+ <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
+ <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
+ <!-- PREDECITIVE_LOAD PRIME CORE resource opcode, value -->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
+
+ <!-- Type="60" -->
+ <Config
+ Id="0x00001094" Type="60" Enable="true" Target="shima" Timeout="0"
+ Resources="0x41444000, 0, 0x41444100, 0, 0x41444200, 0, 0x40CA8000, 0, 0x40CA4000, 5" />
+
+ <Config
+ Id="0x00001094" Type="60" Enable="true" Target="yupik" Timeout="0"
+ Resources="0x41444000, 0, 0x41444100, 0, 0x41444200, 0, 0x40CA8000, 0, 0x40CA4000, 5" />
+
+ <!-- Type="90" -->
+ <Config
+ Id="0x00001094" Type="90" Enable="true" Target="shima" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 3" />
+
+ <Config
+ Id="0x00001094" Type="90" Enable="true" Target="yupik" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 3" />
+
+ <!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value -->
+ <!-- WALT_LOW_LATENCY_TASK_THRESHOLD resource opcode, value -->
+
+ <!-- Type="120" -->
+ <Config
+ Id="0x00001094" Type="120" Enable="true" Target="shima" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2,
+ 0x40CC8000, 119, 0x40CD8000, 100" />
+
+ <Config
+ Id="0x00001094" Type="120" Enable="true" Target="yupik" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2,
+ 0x40CC8000, 119, 0x40CD8000, 100" />
+
+ <!-- SLB_BIG_0, val-->
+ <!-- SLB_BIG_1, val-->
+ <!-- SLB_BIG_2, val-->
+ <!-- SLB_PRIME, val-->
+ <!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value -->
+ <!-- SCHED_COLOC_DOWNMIGRATE_NS resource opcode, value -->
+ <!-- WALT_LOW_LATENCY_TASK_THRESHOLD resource opcode, value -->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+ <!-- CPU min freq resource opcode, value -->
+ <!-- SCHED_BUSY_HYSTERESIS_ENABLE_COLOC_CPUS opcode, value -->
+
+ <!-- Type="144" -->
+ <Config
+ Id="0x00001094" Type="144" Enable="true" Target="shima" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2,
+ 0x40C68000, 0, 0x40C68010, 0, 0x40C68020, 0, 0x40C68200, 0, 0x40CC8000, 119,
+ 0x40C8C000, 100000000, 0x40CD8000, 100, 0x41000000, 3, 0x40C78000, 0,
+ 0x40C7C000, 0, 0x40800100, 806, 0x40C90000, 0x70"/>
+
+ <Config
+ Id="0x00001094" Type="144" Enable="true" Target="yupik" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2,
+ 0x40C68000, 0, 0x40C68010, 0, 0x40C68020, 0, 0x40C68200, 0, 0x40CC8000, 119,
+ 0x40C8C000, 100000000, 0x40CD8000, 100, 0x41000000, 3, 0x40C78000, 0,
+ 0x40C7C000, 0, 0x40800100, 806, 0x40C90000, 0x70"/>
+
+ <!-- PiCard Early Wakeup both GPU and Display -->
+ <!-- GPU DISABLE resource opcode, value-->
+ <!-- DISPLAY EARLY WAKEUP opcode, value-->
+ <Config
+ Id="0x00001098" Type="0" Enable="true" Target="lahaina" Timeout="2000"
+ Resources="0x4281C000, 32, 0x41C0C000, 0" />
+
+ <Config
+ Id="0x00001098" Type="0" Enable="true" Target="shima" Timeout="2000"
+ Resources="0x4281C000, 32, 0x41C0C000, 0" />
+
+ <Config
+ Id="0x00001098" Type="0" Enable="true" Target="yupik" Timeout="2000"
+ Resources="0x4281C000, 32, 0x41C0C000, 0" />
+
+ <!-- PiCard Early Wakeup GPU only -->
+ <!-- GPU DISABLE resource opcode, value-->
+ <Config
+ Id="0x00001099" Type="0" Enable="true" Target="lahaina" Timeout="2000"
+ Resources="0x4281C000, 32" />
+
+ <Config
+ Id="0x00001099" Type="0" Enable="true" Target="shima" Timeout="2000"
+ Resources="0x4281C000, 32" />
+
+ <Config
+ Id="0x00001099" Type="0" Enable="true" Target="yupik" Timeout="2000"
+ Resources="0x4281C000, 32" />
+
+ <!-- PiCard Early Wakeup Display only -->
+ <!-- DISPLAY EARLY WAKEUP opcode, value-->
+ <Config
+ Id="0x0000109A" Type="0" Enable="true" Target="lahaina" Timeout="2000"
+ Resources="0x41C0C000, 0" />
+
+ <Config
+ Id="0x0000109A" Type="0" Enable="true" Target="shima" Timeout="2000"
+ Resources="0x41C0C000, 0" />
+
+ <Config
+ Id="0x0000109A" Type="0" Enable="true" Target="yupik" Timeout="2000"
+ Resources="0x41C0C000, 0" />
+
+ <!--Large Comp HInt -->
+ <!-- CPU min freq resource opcode, value -->
+ <!-- GPU MIN_FREQUENCY resource opcode,value -->
+ <!-- PID Affine opcode,value -->
+ <Config
+ Id="0x00001097" Type="0" Enable="true" Timeout="7" Target="shima" Fps="144"
+ Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" />
+
+ <Config
+ Id="0x00001097" Type="0" Enable="true" Timeout="7" Target="yupik" Fps="144"
+ Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" />
+
+ <!--Large Comp HInt -->
+ <!-- CPU min freq resource opcode, value -->
+ <!-- GPU MIN_FREQUENCY resource opcode,value -->
+ <!-- PID Affine opcode,value -->
+ <Config
+ Id="0x00001097" Type="0" Enable="true" Timeout="9" Target="lahaina" Fps="120"
+ Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" />
+
+ <Config
+ Id="0x00001097" Type="0" Enable="true" Timeout="7" Target="lahaina" Fps="144"
+ Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/lahaina/perf/perfconfigstore.xml b/perf/configs/lahaina/perf/perfconfigstore.xml
new file mode 100644
index 0000000..25217d9
--- /dev/null
+++ b/perf/configs/lahaina/perf/perfconfigstore.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2019-2020 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. -->
+
+<!--__________________________________Example format_______________________________________________
+<Prop Name="vendor.debug.enable.lm" Value="true" Target="lagoon" Variant="lito" Resolution="1080p"
+ Ram="3" Kernel="4.19"/>
+ Target: target code name (decided based on soc id, doesn't depend on lunch combo name)
+ ex: lito, lagoon, kona, etc
+ Variant: For Variants of Target go/32bit/64bit/nongo, examples below
+ Variant=bengal_32go -> bengal 32 bit go target
+ Variant=bengal_32 -> bengal 32 bit target
+ Variant=bengal -> bengal 64 bit target
+ Resolution="1080p", "2560", "720p", "HD+"
+ Kernel: kernel version, examples: "4.19", "5.4", etc
+ Ram: ram size in GB, examples: "1","2","3","4","6","8","10","12" (12 for target with >= 12GB of RAM as well)
+_______________________________________________________________________________________________ -->
+
+<PerfConfigsStore>
+ <PerfConfigs>
+
+ <!--Vendor Properties -->
+ <Prop Name="vendor.iop.enable_uxe" Value="1" />
+ <Prop Name="vendor.debug.enable.lm" Value="true" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="true" Target="lahaina" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" />
+ <Prop Name="vendor.enable.prefetch" Value="false" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="false" />
+ <Prop Name="vendor.iop.enable_speed" Value="true" />
+ <Prop Name="vendor.perf.fps_switch_hyst_time_secs" Value="10" />
+ <Prop Name="vendor.debug.enable.memperfd" Value="true" Target="shima" />
+ <Prop Name="vendor.debug.enable.memperfd" Value="true" Target="yupik" />
+ <Prop Name="vendor.perf.pfar.enable" Value="1" Target="shima" />
+ <Prop Name="vendor.perf.fps_switch.enable" Value="1" Target="shima" />
+ <Prop Name="ro.vendor.perf.gfl.tap_ignore_enable" Value="true" Target="shima" />
+ <Prop Name="ro.vendor.perf.wlc.heavygame" Value="true" Target="shima" />
+ <Prop Name="ro.vendor.perf.splh" Value="sw" Target="shima" />
+ <Prop Name="ro.vendor.perf.gplaf" Value="true" Target="shima" />
+ <Prop Name="vendor.debug.enable.memperfd" Value="true" Target="yupik" />
+ <Prop Name="vendor.perf.pfar.enable" Value="1" Target="yupik" />
+ <Prop Name="vendor.perf.fps_switch.enable" Value="1" Target="yupik" />
+ <Prop Name="ro.vendor.perf.gfl.tap_ignore_enable" Value="true" Target="yupik" />
+ <Prop Name="ro.vendor.perf.wlc.heavygame" Value="false" Target="yupik" />
+ <Prop Name="ro.vendor.perf.splh" Value="hw" Target="yupik" />
+ <Prop Name="ro.vendor.perf.gplaf" Value="true" Target="yupik" />
+ <Prop Name="ro.vendor.perf.enable.prekill" Value="false" Target="lahaina" />
+ <Prop Name="ro.vendor.perf.splh" Value="none" Target="lahaina" />
+
+ <!--System Properties -->
+ <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" />
+ <Prop Name="ro.lmk.kill_timeout_ms_dup" Value="100" />
+ <Prop Name="ro.lmk.thrashing_threshold" Value="30" />
+ <Prop Name="ro.lmk.thrashing_decay" Value="5" />
+ <Prop Name="ro.lmk.nstrat_low_swap" Value="10" />
+ <Prop Name="ro.lmk.nstrat_psi_partial_ms" Value="70" />
+ <Prop Name="ro.lmk.nstrat_psi_complete_ms" Value="70" />
+ <Prop Name="ro.lmk.psi_scrit_complete_stall_ms" Value="75" />
+ <Prop Name="ro.lmk.nstrat_wmark_boost_factor" Value="4" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="96" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" Target="shima" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" Target="yupik" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="vendor.perf.performancemode.support" Value="true" Target="lahaina" />
+ <Prop Name="ro.lmk.enable_preferred_apps" Value="true" />
+ <Prop Name="vendor.appcompact.enable_app_compact" Value="true" />
+ <Prop Name="vendor.appcompact.full_compact_type" Value="2" />
+ <Prop Name="vendor.appcompact.some_compact_type" Value="4" />
+ <Prop Name="vendor.appcompact.compact_throttle_somesome" Value="5000" />
+ <Prop Name="vendor.appcompact.compact_throttle_somefull" Value="10000" />
+ <Prop Name="vendor.appcompact.compact_throttle_fullsome" Value="500" />
+ <Prop Name="vendor.appcompact.compact_throttle_fullfull" Value="10000" />
+ <Prop Name="vendor.appcompact.compact_throttle_bfgs" Value="600000" />
+ <Prop Name="vendor.appcompact.compact_throttle_persistent" Value="600000" />
+ <Prop Name="vendor.appcompact.rss_throttle_kb" Value="12000" />
+ <Prop Name="vendor.appcompact.delta_rss_throttle_kb" Value="8000" />
+ <Prop Name="vendor.perf.topAppRenderThreadBoost.enable" Value="false" Target="lahaina" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" Target="shima" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" Target="shima" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" Target="shima" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" Target="shima" />
+ <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" Target="shima" />
+ <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" Target="shima" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" Target="shima" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" Target="shima" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" Target="yupik" />
+ <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" Target="shima" />
+ <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" Target="yupik" />
+ <Prop Name="ro.vendor.iocgrp.config" Value="1" Target="shima" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" Target="yupik" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" Target="yupik" />
+ <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" Target="yupik" />
+ <Prop Name="ro.vendor.iocgrp.config" Value="1" Target="yupik" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" />
+ <Prop Name="vendor.perf.phr.enable" Value="1" Target="lahaina"/>
+ <Prop Name="vendor.perf.phr.hr_min_rate" Value="0.5" Target="lahaina"/>
+ <Prop Name="vendor.perf.pfar2.enable" Value="1" Target="lahaina"/>
+ <Prop Name="vendor.perf.pfar2.boost_level" Value="1" Target="lahaina"/>
+ <Prop Name="vendor.perf.pfar2.disable_pl" Value="1" Target="lahaina"/>
+ <Prop Name="vendor.perf.pfar2.disable_core_ctl" Value="1" Target="lahaina"/>
+ <Prop Name="vendor.perf.phr.enable" Value="1" Target="shima"/>
+ <Prop Name="vendor.perf.phr.hr_min_rate" Value="0.5" Target="shima"/>
+ <Prop Name="vendor.perf.pfar2.enable" Value="1" Target="shima"/>
+ <Prop Name="vendor.perf.pfar2.boost_level" Value="1" Target="shima"/>
+ <Prop Name="vendor.perf.pfar2.disable_pl" Value="1" Target="shima"/>
+ <Prop Name="vendor.perf.pfar2.disable_core_ctl" Value="1" Target="shima"/>
+ <Prop Name="vendor.perf.phr.enable" Value="1" Target="yupik"/>
+ <Prop Name="vendor.perf.phr.hr_min_rate" Value="0.5" Target="yupik"/>
+ <Prop Name="vendor.perf.pfar2.enable" Value="1" Target="yupik"/>
+ <Prop Name="vendor.perf.pfar2.boost_level" Value="1" Target="yupik"/>
+ <Prop Name="vendor.perf.pfar2.disable_pl" Value="1" Target="yupik"/>
+ <Prop Name="vendor.perf.pfar2.disable_core_ctl" Value="1" Target="yupik"/>
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/lahaina/perf/targetconfig.xml b/perf/configs/lahaina/perf/targetconfig.xml
new file mode 100644
index 0000000..5e5d27e
--- /dev/null
+++ b/perf/configs/lahaina/perf/targetconfig.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-2020 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="lahaina"
+ NumClusters="3"
+ TotalNumCores="8"
+ SocIds="415,439,456,501,502"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0"
+ CpufreqGov="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="3" Type="big" />
+ <ClustersInfo Id="2" NumCores="1" Type="prime" />
+
+ </Config1>
+
+ <Config2>
+ <TargetInfo
+ Target="shima"
+ NumClusters="3"
+ TotalNumCores="8"
+ SocIds="450"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0"
+ CpufreqGov="1"
+ MinFpsForTuning="60" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="3" Type="big" />
+ <ClustersInfo Id="2" NumCores="1" Type="prime" />
+
+ </Config2>
+
+ <Config3>
+ <TargetInfo
+ Target="yupik"
+ NumClusters="3"
+ TotalNumCores="8"
+ SocIds="475,497,498,499,515"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0"
+ CpufreqGov="1"
+ MinFpsForTuning="60" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="3" Type="big" />
+ <ClustersInfo Id="2" NumCores="1" Type="prime" />
+
+ </Config3>
+
+</TargetConfig>
diff --git a/perf/configs/lahaina/perf/targetresourceconfigs.xml b/perf/configs/lahaina/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..f919180
--- /dev/null
+++ b/perf/configs/lahaina/perf/targetresourceconfigs.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-2020 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="0x1" MinorValue="0x2" Node="/proc/sys/kernel/sched_busy_hyst_ns" />
+ <Config MajorValue="0x1" MinorValue="0x3" Supported="no" Target="shima" /> <!-- lpm_ref_stddev -->
+ <Config MajorValue="0x1" MinorValue="0x4" Supported="no" Target="shima" /> <!-- lpm_tmr_add -->
+ <Config MajorValue="0x1" MinorValue="0x3" Supported="no" Target="yupik" /> <!-- lpm_ref_stddev -->
+ <Config MajorValue="0x1" MinorValue="0x4" Supported="no" Target="yupik" /> <!-- lpm_tmr_add -->
+
+ <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="0x3" MinorValue="0x22" Supported="no" Target="shima" /> <!-- sched_task_unfilter_nr_windows -->
+ <Config MajorValue="0x3" MinorValue="0x22" Supported="no" Target="yupik" /> <!-- sched_task_unfilter_nr_windows -->
+ <Config MajorValue="0x3" MinorValue="0x37" Supported="no" /> <!-- Enabled till Kernel 4.19 -->
+ <Config MajorValue="0x3" MinorValue="0x39" Supported="no" /> <!-- Enabled till Kernel 4.19 -->
+
+ <Config MajorValue="0x6" MinorValue="0x0" Supported="no" Target="lahaina" />
+ <Config MajorValue="0x6" MinorValue="0x1" Supported="no" Target="lahaina" />
+ <Config MajorValue="0x6" MinorValue="0x2" Supported="no" Target="lahaina" />
+ <Config MajorValue="0x6" MinorValue="0x3" Supported="no" Target="lahaina" />
+ <Config MajorValue="0x6" MinorValue="0x4" Supported="no" Target="lahaina" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" Target="lahaina" /> <!-- cpubw_hmon_low_power_io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x6" Supported="no" Target="lahaina" />
+ <Config MajorValue="0x6" MinorValue="0x7" Supported="no" Target="lahaina" />
+ <Config MajorValue="0x6" MinorValue="0x8" Supported="no" Target="lahaina" />
+ <Config MajorValue="0x6" MinorValue="0x9" Supported="no" Target="lahaina" />
+
+ <Config MajorValue="0x6" MinorValue="0x0" Supported="no" Target="shima" />
+ <Config MajorValue="0x6" MinorValue="0x1" Supported="no" Target="shima" />
+ <Config MajorValue="0x6" MinorValue="0x2" Supported="no" Target="shima" />
+ <Config MajorValue="0x6" MinorValue="0x3" Supported="no" Target="shima" />
+ <Config MajorValue="0x6" MinorValue="0x4" Supported="no" Target="shima" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" Target="shima" /> <!-- cpubw_hmon_low_power_io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x6" Supported="no" Target="shima" />
+ <Config MajorValue="0x6" MinorValue="0x7" Supported="no" Target="shima" />
+ <Config MajorValue="0x6" MinorValue="0x8" Supported="no" Target="shima" />
+ <Config MajorValue="0x6" MinorValue="0x9" Supported="no" Target="shima" />
+
+ <Config MajorValue="0x6" MinorValue="0x0" Supported="no" Target="yupik" />
+ <Config MajorValue="0x6" MinorValue="0x1" Supported="no" Target="yupik" />
+ <Config MajorValue="0x6" MinorValue="0x2" Supported="no" Target="yupik" />
+ <Config MajorValue="0x6" MinorValue="0x3" Supported="no" Target="yupik" />
+ <Config MajorValue="0x6" MinorValue="0x4" Supported="no" Target="yupik" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" Target="yupik" /> <!-- cpubw_hmon_low_power_io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x6" Supported="no" Target="yupik" />
+ <Config MajorValue="0x6" MinorValue="0x7" Supported="no" Target="yupik" />
+ <Config MajorValue="0x6" MinorValue="0x8" Supported="no" Target="yupik" />
+ <Config MajorValue="0x6" MinorValue="0x9" Supported="no" Target="yupik" />
+
+ <Config MajorValue="0xB" MinorValue="0x2" Node="/sys/devices/system/cpu/cpu_boost/input_boost_freq" />
+ <Config MajorValue="0xB" MinorValue="0x6" Supported="no" Target="lahaina" /><!-- disable_ppr -->
+
+ <!-- llcbw L3 and DDR major end -->
+
+ <Config MajorValue="0xC" MinorValue="0x0" Supported="no" Target="lahaina" />
+ <Config MajorValue="0xC" MinorValue="0x1" Supported="no" Target="lahaina" />
+ <Config MajorValue="0xC" MinorValue="0x2" Supported="no" Target="lahaina" />
+ <Config MajorValue="0xC" MinorValue="0x3" Supported="no" Target="lahaina" />
+
+ <Config MajorValue="0xC" MinorValue="0x0" Supported="no" Target="shima" />
+ <Config MajorValue="0xC" MinorValue="0x1" Supported="no" Target="shima" />
+ <Config MajorValue="0xC" MinorValue="0x2" Supported="no" Target="shima" />
+ <Config MajorValue="0xC" MinorValue="0x3" Supported="no" Target="shima" />
+ <Config MajorValue="0xC" MinorValue="0xA" Supported="no" Target="shima" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0xC" MinorValue="0xB" Supported="no" Target="shima" /> <!-- cpubw_hmon_low_power_io_percent -->
+ <Config MajorValue="0xC" MinorValue="0x0" Supported="no" Target="yupik" />
+ <Config MajorValue="0xC" MinorValue="0x1" Supported="no" Target="yupik" />
+ <Config MajorValue="0xC" MinorValue="0x2" Supported="no" Target="yupik" />
+ <Config MajorValue="0xC" MinorValue="0x3" Supported="no" Target="yupik" />
+ <Config MajorValue="0xC" MinorValue="0xA" Supported="no" Target="yupik" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0xC" MinorValue="0xB" Supported="no" Target="yupik" /> <!-- cpubw_hmon_low_power_io_percent -->
+
+ <Config MajorValue="0xD" MinorValue="0x0" Node="/sys/class/devfreq/18590100.qcom,cpu%d-cpu-l3-lat/min_freq" />
+ <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/class/devfreq/18590100.qcom,cpu0-cpu-l3-lat/mem_latency/ratio_ceil" />
+ <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/18590100.qcom,cpu4-cpu-l3-lat/mem_latency/ratio_ceil" />
+ <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/class/devfreq/18590100.qcom,cpu0-cpu-l3-lat/mem_latency/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/18590100.qcom,cpu4-cpu-l3-lat/mem_latency/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0x11" Node="/sys/class/devfreq/18590100.qcom,cpu%d-cpu-l3-lat/max_freq" />
+ <Config MajorValue="0xD" MinorValue="0x0" Node="/sys/devices/system/cpu/memlat/c%d_memlat/cpu%d-cpu-l3-lat/min_freq" Target="yupik"/>
+ <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/devices/system/cpu/memlat/c0_memlat/cpu0-cpu-l3-lat/ratio_ceil" Target="yupik" />
+ <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/devices/system/cpu/memlat/c4_memlat/cpu4-cpu-l3-lat/ratio_ceil" Target="yupik" />
+ <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/devices/system/cpu/memlat/c0_memlat/cpu0-cpu-l3-lat/stall_floor" Target="yupik" />
+ <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/devices/system/cpu/memlat/c4_memlat/cpu4-cpu-l3-lat/stall_floor" Target="yupik" />
+ <Config MajorValue="0xD" MinorValue="0x11" Node="/sys/devices/system/cpu/memlat/c%d_memlat/cpu%d-cpu-l3-lat/max_freq" Target="yupik" />
+ <Config MajorValue="0xD" MinorValue="0x5" Supported="no" Target="shima" />
+ <Config MajorValue="0xD" MinorValue="0x6" Supported="no" Target="shima" />
+ <Config MajorValue="0xD" MinorValue="0x5" Supported="no" Target="yupik" />
+ <Config MajorValue="0xD" MinorValue="0x6" Supported="no" Target="yupik" />
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/lito/lm/AdaptLaunchFeature.xml b/perf/configs/lito/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..dabc191
--- /dev/null
+++ b/perf/configs/lito/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,69 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>300</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+ <SpuriousHintApps>
+ <App>com.android.permissioncontroller</App>
+ </SpuriousHintApps>
+</Feature>
diff --git a/perf/configs/lito/lm/AppClassifierFeature.xml b/perf/configs/lito/lm/AppClassifierFeature.xml
new file mode 100644
index 0000000..934e8b6
--- /dev/null
+++ b/perf/configs/lito/lm/AppClassifierFeature.xml
@@ -0,0 +1,36 @@
+<!--
+/******************************************************************************
+ @file AppClassifierFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AppClassifier</Name>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Libname>libappclassifier.so</Libname>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/lito/lm/GameOptimizationFeature.xml b/perf/configs/lito/lm/GameOptimizationFeature.xml
new file mode 100644
index 0000000..38ca5d0
--- /dev/null
+++ b/perf/configs/lito/lm/GameOptimizationFeature.xml
@@ -0,0 +1,203 @@
+<!--
+/******************************************************************************
+ @file GameOptimizationFeature.xml
+ @brief Game Optimization feature xml
+
+ DESCRIPTION
+ Each feature has an xml file to define the feature components
+
+ ===========================================================================
+ Copyright (c) 2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+
+<Feature>
+ <Name>GameOptimization</Name>
+ <Libname>libgameoptfeature.so</Libname>
+ <Configs target="lito">
+ <Enable>1</Enable>
+ <ATML1>1</ATML1>
+ <ATML2>1</ATML2>
+ <ATML3>1</ATML3>
+ <GFAR>1</GFAR>
+ <AGPE>0</AGPE>
+ <IDLE_SENSE>0</IDLE_SENSE>
+ <GROUP_UPMIGRATE_PATH>/proc/sys/kernel/sched_group_upmigrate</GROUP_UPMIGRATE_PATH>
+ <GROUP_DOWNMIGRATE_PATH>/proc/sys/kernel/sched_group_downmigrate</GROUP_DOWNMIGRATE_PATH>
+ <BIG_CLUSTER_ID>6,7</BIG_CLUSTER_ID>
+ <BIG_SLB_OPCODE>0x40C68000,0x40C68200</BIG_SLB_OPCODE>
+ <LITTLE_SLB_OPCODE>0x40C68100,0x40C68110,0x40C68120,0x40C68130,0x40C68140,0x40C68150</LITTLE_SLB_OPCODE>
+ <!-- SLBval, TADemand, Jank-->
+ <SLB_MAP>14,200,40,6,150,30,4,125,25,2,100,15,0</SLB_MAP>
+ <STUTTER_SCALE>10</STUTTER_SCALE>
+ <ENABLE_DB_L2_L3>0</ENABLE_DB_L2_L3>
+ <!-- This will enbale SLB clamping if Janks are zero in consistent learning window-->
+ <ENABLE_SLB_CLAMPER>1</ENABLE_SLB_CLAMPER>
+ <L3_JANK_THRESHOLD>2,12</L3_JANK_THRESHOLD>
+ <!-- Janky vector threshold, Total no. of Janks Threshold-->
+ <L1_JANK_THRESHOLD>4,8</L1_JANK_THRESHOLD>
+ <!-- Default slb little, Default slb big-->
+ <ATM_L3_DEFAULTS>0,-6</ATM_L3_DEFAULTS>
+ </Configs>
+ <Configs target="lagoon">
+ <Enable>1</Enable>
+ <ATML1>1</ATML1>
+ <ATML2>1</ATML2>
+ <ATML3>1</ATML3>
+ <GFAR>1</GFAR>
+ <AGPE>0</AGPE>
+ <IDLE_SENSE>0</IDLE_SENSE>
+ <GROUP_UPMIGRATE_PATH>/proc/sys/kernel/sched_group_upmigrate</GROUP_UPMIGRATE_PATH>
+ <GROUP_DOWNMIGRATE_PATH>/proc/sys/kernel/sched_group_downmigrate</GROUP_DOWNMIGRATE_PATH>
+ <BIG_CLUSTER_ID>6,7</BIG_CLUSTER_ID>
+ <BIG_SLB_OPCODE>0x40C68000,0x40C68010</BIG_SLB_OPCODE>
+ <LITTLE_SLB_OPCODE>0x40C68100,0x40C68110,0x40C68120,0x40C68130,0x40C68140,0x40C68150</LITTLE_SLB_OPCODE>
+ <!-- SLBval, TADemand, Jank-->
+ <SLB_MAP>14,200,40,6,150,30,4,125,25,2,100,15,0</SLB_MAP>
+ <STUTTER_SCALE>10</STUTTER_SCALE>
+ <ENABLE_DB_L2_L3>0</ENABLE_DB_L2_L3>
+ <!-- This will enbale SLB clamping if Janks are zero in consistent learning window-->
+ <ENABLE_SLB_CLAMPER>1</ENABLE_SLB_CLAMPER>
+ <L3_JANK_THRESHOLD>2,12</L3_JANK_THRESHOLD>
+ <!-- Janky vector threshold, Total no. of Janks Threshold-->
+ <L1_JANK_THRESHOLD>4,8</L1_JANK_THRESHOLD>
+ <!-- Default slb little, Default slb big-->
+ <ATM_L3_DEFAULTS>0,-6</ATM_L3_DEFAULTS>
+ </Configs>
+ <Profiles>
+ <Profile target="lito">
+ <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 ,LPM IPI Prediction 0 -->
+ <DEFAULT>0x4144C100,860000,0x41444000,1,0x41444200,1,0x40C9C000,4,0x40414000,0</DEFAULT>
+ <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4, LPM IPI Prediction 0-->
+ <SKEW2>0x4144C100,860000,0x41444000,1,0x41444200,1,0x40C9C000,4,0x40414000,0</SKEW2>
+ </Profile>
+ <Profile target="lagoon">
+ <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 ,LPM IPI Prediction 0 -->
+ <DEFAULT>0x4144C100,860000,0x41444000,1,0x40C9C000,4,0x40414000,0</DEFAULT>
+ <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4, LPM IPI Prediction 0-->
+ <SKEW2>0x4144C100,860000,0x41444000,1,0x40C9C000,4,0x40414000,0</SKEW2>
+ </Profile>
+ </Profiles>
+
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+
+ <Meter>
+ <Name>Fps</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+ <Configs>
+ <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE>
+ <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+
+ <Meter>
+ <Name>SchedParams</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+ <Samples>100</Samples>
+ </Meter>
+ </Meters>
+ <IgnoredApps>
+ <App>com.google.android.gms</App>
+ <App>com.android.vending</App>
+ <App>com.google.android.projection.gearhead</App>
+ </IgnoredApps>
+</Feature>
diff --git a/perf/configs/lito/msm_irqbalance.conf b/perf/configs/lito/msm_irqbalance.conf
new file mode 100644
index 0000000..58d8c94
--- /dev/null
+++ b/perf/configs/lito/msm_irqbalance.conf
@@ -0,0 +1,2 @@
+PRIO=1,1,0,0,0,0,0,0
+IGNORED_IRQ=19,21,38
diff --git a/perf/configs/lito/perf/perfboostsconfig.xml b/perf/configs/lito/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..fd0f8e0
--- /dev/null
+++ b/perf/configs/lito/perf/perfboostsconfig.xml
@@ -0,0 +1,613 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2019 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-->
+ <!-- SCHED DOWNMIGRATE PRIME resource opcode, value-->
+ <!-- SCHED UPMIGRATE PRIME resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="lito"
+ Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40C20200, 0x28, 0x40C1C200, 0x32,
+ 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, 0x40800000, 1478,
+ 0x40800100, 1363, 0x40800200, 1708" />
+
+ <!-- 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="lagoon"
+ Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF,
+ 0x40800000, 1555, 0x40800100, 1516" />
+
+ <!--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="lito"
+ Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59,
+ 0x41828000, 806, 0x43400000, 0x2E80, 0x4281C000, 1500" />
+
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="lagoon"
+ Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59,
+ 0x41828000, 806, 0x43400000, 0x2E80, 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-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="lito"
+ Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5,
+ 0x40C74000, 0xC0" />
+
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="lagoon"
+ Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5,
+ 0x40C74000, 0xC0" />
+
+ <!-- config_gameBoost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+
+ <!-- Type="4", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="lito"
+ Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5,
+ 0x40C74000, 0xC0" />
+
+ <Config
+ Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="lagoon"
+ Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5,
+ 0x40C74000, 0xC0" />
+
+ <!-- config_enableLaunchBoost6-->
+ <!-- SLB_BIG, val-->
+ <!-- SLB_PRIME, val-->
+ <!-- MIN_FREQ_BIG, val MHz -->
+ <!-- MIN_FREQ_PRIME, val MHz -->
+ <!-- CPU_DOWN_FREQ_THRESHOLD_US BIG, val us -->
+ <!-- CPU_DOWN_FREQ_THRESHOLD_US PRIME, val us -->
+ <!-- LPM_BIAS resource opcode, val ms-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+
+ <!-- Type="6", Game Launch boost -->
+ <Config
+ Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="lito"
+ Resources="0x40C68000, 60,
+ 0x40C68200, 60,
+ 0x40800000, 1152,
+ 0x40800200, 1228,
+ 0x41448000, 20000,
+ 0x41448200, 20000,
+ 0x40408000, 0x63,
+ 0x40C74000, 0xC0" />
+
+ <!-- LPM_BIAS resource opcode, val ms-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- SLB_BIG, val, SLB_BIG, 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="lagoon"
+ Resources="0x40408000, 0x5,
+ 0x40C74000, 0xC0,
+ 0x40C68000, 60, 0x40C68010, 60,
+ 0x40800000, 1248,
+ 0x41448000, 20000" />
+
+ <!--app launch boost (attach application) -->
+ <!-- SCHED_TASK_BOOST resource opcode, value-->
+ <Config
+ Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="lito"
+ Resources="0x40C80000, 0x0" />
+ <Config
+ Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="lagoon"
+ Resources="0x40C80000, 0x0" />
+
+
+ <!--Animation boost -->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+
+ <Config
+ Id="0x00001083" Enable="true" Timeout="400" Target="lito"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF" />
+
+ <!-- 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="lagoon"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100, 0xFFF" />
+
+ <!--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 -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="lito" Fps="60"
+ Resources="0x43010000, 0x26, 0x40800000, 1094, 0x40800100, 1075, 0x40800200, 1094,
+ 0x40C00000, 2" />
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="lito" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1728, 0x40800100, 1363, 0x40800200, 1766,
+ 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="lito" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 2092, 0x40800100, 1516, 0x40800200, 1996,
+ 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="lito" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 2092, 0x40800100, 1516, 0x40800200, 1996,
+ 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <!-- 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="lagoon" Fps="60"
+ Resources="0x43010000, 0x26, 0x40800000, 1036, 0x40800100, 1017, 0x40C00000, 2" />
+
+ <!-- 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-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="lagoon" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1766, 0x40800100, 1248, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="lagoon" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 2073, 0x40800100, 1516, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="lagoon" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 2073, 0x40800100, 1516, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <!--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 -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="lito" Fps="60"
+ Resources="0x43010000, 0x26, 0x40800000, 1094, 0x40800100, 1075, 0x40800200, 1094,
+ 0x40C00000, 2" />
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="lito" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1728, 0x40800100, 1363, 0x40800200, 1766,
+ 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="lito" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 2092, 0x40800100, 1516, 0x40800200, 1996,
+ 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="lito" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 2092, 0x40800100, 1516, 0x40800200, 1996,
+ 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <!-- 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="lagoon" Fps="60"
+ Resources="0x43010000, 0x26, 0x40800000, 1036, 0x40800100, 1017, 0x40C00000, 2" />
+
+ <!-- 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-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="lagoon" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1766, 0x40800100, 1248, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="lagoon" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 2073, 0x40800100, 1516, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="lagoon" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 2073, 0x40800100, 1516, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <!--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 -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+
+ <!-- Type="4", Pre-Fling boost -->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="lito" Fps="60"
+ Resources="0x43010000, 0x26, 0x40800000, 1094, 0x40800100, 1075, 0x40800200, 1094,
+ 0x40C00000, 2" />
+
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="lito" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1728, 0x40800100, 1363, 0x40800200, 1766,
+ 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="lito" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 2092, 0x40800100, 1516, 0x40800200, 1996,
+ 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="lito" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 2092, 0x40800100, 1516, 0x40800200, 1996,
+ 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <!-- 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="lagoon" Fps="60"
+ Resources="0x43010000, 0x26, 0x40800000, 1036, 0x40800100, 1017, 0x40C00000, 2" />
+
+ <!-- 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-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="lagoon" Fps="90"
+ Resources="0x43010000, 0x26, 0x40800000, 1766, 0x40800100, 1248, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="lagoon" Fps="120"
+ Resources="0x43010000, 0x26, 0x40800000, 2073, 0x40800100, 1516, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="lagoon" Fps="144"
+ Resources="0x43010000, 0x26, 0x40800000, 2073, 0x40800100, 1516, 0x40C00000, 2,
+ 0x40C74000, 0xC0, 0x40408000, 0x27" />
+
+ <!--MTP boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+
+ <!-- Type="", MTP boost -->
+ <Config
+ Id="0x00001086" Enable="true" Target="lito"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 1478, 0x40800100, 1363, 0x40800200, 1708, 0x42C10000, 0x1" />
+
+ <!-- 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-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- LPM Bias resource opcode, value -->
+ <!-- Type="", MTP boost -->
+ <Config
+ Id="0x00001086" Enable="true" Target="lagoon"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1555,
+ 0x40800100, 1516, 0x42C10000, 0x1, 0x40408000, 0x19" />
+
+ <!--PackageInstall boost-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED_FORCE_LB_ENABLE opcode, value-->
+ <!-- Type="", Package Install boost -->
+ <Config
+ Id="0x00001088" Enable="true" Target="lito"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x40CA0000, 0, 0x40C00000, 2,
+ 0x40CCC000, 0" />
+
+ <!-- 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-->
+ <!-- SCHED_FORCE_LB_ENABLE opcode, value-->
+ <!-- Type="", Package Install boost -->
+ <Config
+ Id="0x00001088" Enable="true" Target="lagoon"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100, 0xFFF, 0x40CA0000, 0, 0x40C00000, 2, 0x40CCC000, 0" />
+
+ <!--Rotation latency boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- Type="", Rotation latency boost -->
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="lito"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF" />
+
+ <!-- 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="lagoon"
+ 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="lito"
+ Resources="0x40800100, 1228, 0x42804000, 0" />
+
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="lagoon"
+ Resources="0x40800100, 1000, 0x42804000, 0" />
+
+ <!--Drag boost-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+
+ <!-- Type="1", Drag boost -->
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lito"
+ Resources="0x40800000, 1094, 0x40800100, 1075, 0x40800200, 1094" />
+
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lito" Fps="120"
+ Resources="0x40800000, 1094, 0x40800100, 1075, 0x40800200, 1094, 0x40C00000, 2" />
+
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lito" Fps="144"
+ Resources="0x40800000, 1094, 0x40800100, 1075, 0x40800200, 1094, 0x40C00000, 2" />
+
+
+ <!-- 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="lagoon"
+ Resources="0x40800000, 1036, 0x40800100, 1017" />
+
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lagoon" Fps="120"
+ Resources="0x40800000, 1036, 0x40800100, 1017, 0x40C00000, 2" />
+
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lagoon" Fps="144"
+ Resources="0x40800000, 1248, 0x40800100, 1017, 0x40C00000, 2" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="lito"
+ Resources="0x40000000, 1" />
+
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="lagoon"
+ Resources="0x40000000, 1" />
+
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="lito"
+ Resources="0x40000000, 0x0" />
+
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="lagoon"
+ Resources="0x40000000, 0x0" />
+
+ <!--FPS Update Resource-->
+ <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
+ <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
+ <!-- PREDECITIVE_LOAD PRIME CORE resource opcode, value -->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+
+ <!-- Type="60" -->
+ <Config
+ Id="0x00001094" Type="60" Enable="true" Target="lito" Timeout="0"
+ Resources="0x41444000, 0, 0x41444100, 0, 0x41444200, 0, 0x40CA8000, 0" />
+
+ <!-- Type="90" -->
+ <Config
+ Id="0x00001094" Type="90" Enable="true" Target="lito" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2" />
+
+ <!-- Type="120" -->
+ <Config
+ Id="0x00001094" Type="120" Enable="true" Target="lito" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2" />
+
+ <!-- Type="144" -->
+ <Config
+ Id="0x00001094" Type="144" Enable="true" Target="lito" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2" />
+
+ <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
+ <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- Type="60" -->
+ <Config
+ Id="0x00001094" Type="60" Enable="true" Target="lagoon" Timeout="0"
+ Resources="0x41444000, 0, 0x41444100, 0, 0x40CA8000, 0" />
+
+ <!-- Type="90" -->
+ <Config
+ Id="0x00001094" Type="90" Enable="true" Target="lagoon" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2" />
+
+ <!-- Type="120" -->
+ <Config
+ Id="0x00001094" Type="120" Enable="true" Target="lagoon" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2" />
+
+ <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
+ <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- SLB_BIG_0, val-->
+ <!-- SLB_BIG_1, val-->
+ <!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value -->
+ <!-- SCHED_COLOC_DOWNMIGRATE_NS resource opcode, value -->
+ <!-- Type="144" -->
+ <Config
+ Id="0x00001094" Type="144" Enable="true" Target="lagoon" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2,
+ 0x40C68000, 0, 0x40C68010, 0, 0x40CC8000, 119,
+ 0x40C8C000, 100000000" />
+
+ <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value -->
+ <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value -->
+ <!-- SCHED_PREFER_SPREAD resource opcode, value -->
+ <!-- SLB_BIG_0, val-->
+ <!-- SLB_PRIME, val-->
+ <!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value -->
+ <!-- SCHED_COLOC_DOWNMIGRATE_NS resource opcode, value -->
+ <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
+ <!-- Type="144" -->
+ <Config
+ Id="0x00001094" Type="144" Enable="true" Target="lito" Timeout="0"
+ Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2,
+ 0x40C68000, 0, 0x40C68200, 0, 0x40CC8000, 119,
+ 0x40C8C000, 100000000, 0x40CA4000, 2" />
+
+ <!--Large Comp HInt -->
+ <!-- CPU min freq resource opcode, value -->
+ <!-- GPU MIN_FREQUENCY resource opcode,value -->
+ <!-- PID Affine opcode,value -->
+ <Config
+ Id="0x00001097" Type="0" Enable="true" Timeout="7" Target="lito" Fps="144"
+ Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/lito/perf/perfconfigstore.xml b/perf/configs/lito/perf/perfconfigstore.xml
new file mode 100644
index 0000000..d9f94a2
--- /dev/null
+++ b/perf/configs/lito/perf/perfconfigstore.xml
@@ -0,0 +1,71 @@
+<?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. -->
+
+<!--__________________________________Example format_______________________________________________
+<Prop Name="vendor.debug.enable.lm" Value="true" Target="lagoon" Variant="lito" Resolution="1080p"
+ Ram="3" Kernel="4.19"/>
+ Target: target code name (decided based on soc id, doesn't depend on lunch combo name)
+ ex: lito, lagoon, kona, etc
+ Variant: For Variants of Target go/32bit/64bit/nongo, examples below
+ Variant=bengal_32go -> bengal 32 bit go target
+ Variant=bengal_32 -> bengal 32 bit target
+ Variant=bengal -> bengal 64 bit target
+ Resolution="1080p", "2560", "720p", "HD+"
+ Kernel: kernel version, examples: "4.19", "5.4", etc
+ Ram: ram size in GB, examples: "1","2","3","4","6","8","10","12" (12 for target with >= 12GB of RAM as well)
+_______________________________________________________________________________________________ -->
+
+<PerfConfigsStore>
+ <PerfConfigs>
+
+ <!--Vendor Properties -->
+ <Prop Name="vendor.debug.enable.lm" Value="true" />
+ <Prop Name="vendor.iop.enable_uxe" Value="1" />
+ <Prop Name="vendor.enable.prefetch" Value="false" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="false" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" />
+ <Prop Name="vendor.debug.enable.memperfd" Value="true" />
+ <Prop Name="vendor.perf.pfar.enable" Value="1"/>
+ <Prop Name="vendor.perf.fps_switch.enable" Value="1"/>
+ <Prop Name="ro.vendor.perf.gfl.tap_ignore_enable" Value="true"/>
+ <Prop Name="ro.vendor.perf.wlc.heavygame" Value="true"/>
+
+ <!--System Properties -->
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" />
+ <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" />
+ <Prop Name="ro.vendor.iocgrp.config" Value="1" />
+ <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" />
+ <Prop Name="ro.lmk.enhance_batch_kill" Value="false" />
+ <Prop Name="ro.lmk.enable_watermark_check" Value="true" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" />
+ <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" />
+ <Prop Name="ro.lmk.super_critical" Value="606" />
+ <Prop Name="ro.lmk.direct_reclaim_pressure" Value="45" />
+ <Prop Name="ro.lmk.reclaim_scan_threshold" Value="0" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/lito/perf/targetconfig.xml b/perf/configs/lito/perf/targetconfig.xml
new file mode 100644
index 0000000..29b5429
--- /dev/null
+++ b/perf/configs/lito/perf/targetconfig.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2019 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="lito"
+ NumClusters="3"
+ TotalNumCores="8"
+ SocIds="400,440,476"
+ SynCore="1"
+ CoreCtlCpu="0"
+ MinCoreOnline="0"
+ CpufreqGov="1"
+ MinFpsForTuning="60" />
+
+ <ClustersInfo Id="0" NumCores="6" Type="little" />
+ <ClustersInfo Id="1" NumCores="1" Type="big" />
+ <ClustersInfo Id="2" NumCores="1" Type="prime" />
+
+ </Config1>
+
+ <Config2>
+
+ <TargetInfo
+ Target="lagoon"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="434,459"
+ SynCore="1"
+ CoreCtlCpu="0"
+ MinCoreOnline="0"
+ CpufreqGov="1"
+ MinFpsForTuning="60" />
+
+ <ClustersInfo Id="0" NumCores="6" Type="little" />
+ <ClustersInfo Id="1" NumCores="2" Type="big" />
+
+ </Config2>
+
+</TargetConfig>
diff --git a/perf/configs/lito/perf/targetresourceconfigs.xml b/perf/configs/lito/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..9a64feb
--- /dev/null
+++ b/perf/configs/lito/perf/targetresourceconfigs.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2019 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="0x1" MinorValue="0x2" Node="/proc/sys/kernel/sched_busy_hyst_ns" />
+ <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev -->
+ <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add -->
+ <Config MajorValue="0x1" MinorValue="0x5" Supported="yes" /> <!-- lpm_ipi_prediction -->
+
+ <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="0x3" MinorValue="0x22" Supported="no" /> <!-- sched_task_unfilter_nr_windows -->
+ <Config MajorValue="0x3" MinorValue="0x37" Supported="no" Kernel="5.4" /> <!-- Enabled till Kernel 4.19 -->
+ <Config MajorValue="0x3" MinorValue="0x39" Supported="no" Kernel="5.4" /> <!-- Enabled till Kernel 4.19 -->
+
+ <!--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" />
+
+ <Config MajorValue="0xB" MinorValue="0x2" Node="/sys/devices/system/cpu/cpu_boost/parameters/input_boost_freq" Kernel="4.19" /> <!-- input_boost_freq on kernel 4.19 -->
+
+ <!--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/18321000.qcom,devfreq-l3:qcom,cpu%d-cpu-l3-lat/min_freq" />
+ <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/class/devfreq/18321000.qcom,devfreq-l3:qcom,cpu0-cpu-l3-lat/mem_latency/ratio_ceil" />
+ <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/18321000.qcom,devfreq-l3:qcom,cpu6-cpu-l3-lat/mem_latency/ratio_ceil" />
+ <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/class/devfreq/18321000.qcom,devfreq-l3:qcom,cpu0-cpu-l3-lat/mem_latency/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/18321000.qcom,devfreq-l3: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>
diff --git a/perf/configs/msm8909/perf/perfboostsconfig.xml b/perf/configs/msm8909/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..2134f7b
--- /dev/null
+++ b/perf/configs/msm8909/perf/perfboostsconfig.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017 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-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- KSM_RUN_STATUS resource opcode, valuei (old: disable ksm) -->
+ <!-- DISABLE_PPR resource opcode, value -->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8909"
+ Resources="0x40800000, 0x446, 0x40400000, 0x1, 0x42000000, 0x0, 0x42C18000, 0" />
+
+ <!--app lauch boost (disabling packing)-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+ <!-- SCHED_SMALL_TASK resource opcode, value-->
+ <!-- SCHED_MOSTLY_IDLE_NR_RUN resource opcode, value-->
+ <!-- SCHED_MOSTLY_IDLE_LOAD resource opcode, value-->
+ <!-- CLUSTR_0_CPUS_ON resource opcode, value (old: min cpus ON = 0x704) -->
+
+ <!-- Type="2", launch boost for disable packing and set 4 min_cpu in core_ctl of 5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8909"
+ Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1, 0x41000000, 0x4" />
+
+ <!-- config_enablePerfBoostForAnimation-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+
+ <!-- Type="1", Animation boost of 0.6sec -->
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600" Target="msm8909"
+ Resources="0x40800000, 0x446" />
+
+ <!--Vertical Scroll boost for HD-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="msm8909" Resolution="720p"
+ Resources="0x40800000, 0x446, 0x40C04000, 0x1, 0X4280C000, 456" />
+
+ <!--Horizontal Scroll boost for HD-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="msm8909" Resolution="720p"
+ Resources="0x40800000, 0x446, 0x40C04000, 0x1, 0X4280C000, 456" />
+
+ <!--Vertical Scroll boost-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="msm8909"
+ Resources="0x40800000, 0x446, 0x40C04000, 0x1" />
+
+ <!--Horizontal Scroll boost-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="msm8909"
+ Resources="0x40800000, 0x446, 0x40C04000, 0x1" />
+
+ <!--Rotation latency boost-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+ <!-- Type="", Rotation latency boost -->
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="msm8909"
+ Resources="0x40400000, 0x1, 0x40804000, 0xFFF, 0x40800000, 0xFFF, 0x40C04000, 0x1" />
+
+ <!--Rotation animation boost-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+ <!-- GPU MIN_FREQUENCY resource opcode,value-->
+ <!-- Type="", Rotation animation boost -->
+
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="msm8909"
+ Resources="0x40800000, 1000, 0x4280C000, 596" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="msm8909"
+ Resources="0x40000000, 1" />
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="msm8909"
+ Resources="0x40000000, 0x0" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/msm8909/perf/perfconfigstore.xml b/perf/configs/msm8909/perf/perfconfigstore.xml
new file mode 100644
index 0000000..b2488e8
--- /dev/null
+++ b/perf/configs/msm8909/perf/perfconfigstore.xml
@@ -0,0 +1,46 @@
+<?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>
+
+ <!--System Properties -->
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="5000" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="5" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="1073741824" />
+ <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+
+ <!--Vendor Properties -->
+ <Prop Name="vendor.iop.enable_uxe" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" />
+ <Prop Name="vendor.enable.prefetch" Value="0" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" />
+
+ <!--Mention all the target/kernel specific properties at the end of xml file
+ All the default valuea are kept above-->
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" Variant="msm8909go" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/msm8909/perf/targetconfig.xml b/perf/configs/msm8909/perf/targetconfig.xml
new file mode 100644
index 0000000..d2daa1a
--- /dev/null
+++ b/perf/configs/msm8909/perf/targetconfig.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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="msm8909"
+ NumClusters="1"
+ TotalNumCores="4"
+ SocIds="245,258,259,265,260,261,262"
+ SynCore="1"
+ CoreCtlCpu="0"
+ MinCoreOnline="1"
+ GovInstanceType="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="big" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/msm8909/perf/targetresourceconfigs.xml b/perf/configs/msm8909/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..3ea24ef
--- /dev/null
+++ b/perf/configs/msm8909/perf/targetresourceconfigs.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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 mention the resources which are not supported. -->
+
+<!-- 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 one
+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" Node="/sys/module/lpm_levels/system/l2-pc/idle_enabled" /> <!-- l2-pc_idle_enabled -->
+ <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst -->
+ <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev -->
+ <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add -->
+
+ <Config MajorValue="0x3" MinorValue="0x1" Node="/sys/devices/system/cpu/cpu0/sched_prefer_idle" /> <!-- sched_prefer_idle -->
+ <Config MajorValue="0x3" MinorValue="0x2" Supported="no" /> <!-- sched_migration_cost_ns -->
+ <Config MajorValue="0x3" MinorValue="0x4" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_load" /> <!-- sched_mostly_idle_load -->
+ <Config MajorValue="0x3" MinorValue="0x5" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run" /> <!-- sched_mostly_idle_nr_run -->
+ <Config MajorValue="0x3" MinorValue="0x9" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_freq" /> <!-- sched_mostly_idle_freq -->
+ <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill -->
+ <Config MajorValue="0x3" MinorValue="0xF" Supported="no" /> <!-- top-app_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x10" Supported="no" /> <!-- foreground_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x11" Supported="no" /> <!-- system_background_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x12" Supported="no" /> <!-- background_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_freq_aggregate -->
+ <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping -->
+ <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggregate_threshold -->
+ <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle -->
+
+
+ <Config MajorValue="0x4" MinorValue="0x0" Supported="yes" /> <!-- min_cpus -->
+ <Config MajorValue="0x4" MinorValue="0x1" Supported="yes" /> <!-- max_cpus -->
+
+ <!-- For INTERACTIVE major, all the interactive minors are not supported
+ by default as the recent target moved to schedutil. So, for older targets
+ where interactive minors are supported they need to be enabled and schedutil
+ minors are disabled. -->
+ <Config MajorValue="0x5" MinorValue="0x0" Node="/sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay" /> <!-- above_hispeed_delay -->
+ <Config MajorValue="0x5" MinorValue="0x1" Node="/sys/devices/system/cpu/cpufreq/interactive/boost" /> <!-- boost -->
+ <Config MajorValue="0x5" MinorValue="0x3" Node="/sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration" /> <!-- boostpulse_duration -->
+ <Config MajorValue="0x5" MinorValue="0x4" Node="/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load" /> <!-- go_hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x5" Node="/sys/devices/system/cpu/cpufreq/interactive/hispeed_freq" /> <!-- hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0x6" Node="/sys/devices/system/cpu/cpufreq/interactive/io_is_busy" /> <!-- io_is_busy -->
+ <Config MajorValue="0x5" MinorValue="0x7" Node="/sys/devices/system/cpu/cpufreq/interactive/min_sample_time" /> <!-- min_sample_time -->
+ <Config MajorValue="0x5" MinorValue="0x8" Node="/sys/devices/system/cpu/cpufreq/interactive/target_loads" /> <!-- target_loads -->
+ <Config MajorValue="0x5" MinorValue="0x9" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_rate" /> <!-- timer_rate -->
+ <Config MajorValue="0x5" MinorValue="0xA" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_slack" /> <!-- timer_slack -->
+ <Config MajorValue="0x5" MinorValue="0xB" Node="/sys/devices/system/cpu/cpufreq/interactive/max_freq_hysteresis" /> <!-- max_freq_hysteresis -->
+ <Config MajorValue="0x5" MinorValue="0xC" Node="/sys/devices/system/cpu/cpufreq/interactive/use_sched_load" /> <!-- use_sched_load -->
+ <Config MajorValue="0x5" MinorValue="0xF" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x10" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x11" Supported="no" />
+
+ <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate -->
+
+ <Config MajorValue="0xB" MinorValue="0x2" Supported="no" /> <!-- input_boost_freq -->
+
+ <!-- All the minors of LLCBW_HWMON MAJOR are not supported -->
+ <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="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq -->
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/msm8916/msm_irqbalance.conf b/perf/configs/msm8916/msm_irqbalance.conf
new file mode 100644
index 0000000..7902c27
--- /dev/null
+++ b/perf/configs/msm8916/msm_irqbalance.conf
@@ -0,0 +1,2 @@
+PRIO=0,0,0,0,1,1,1,1
+IGNORED_IRQ=20,39,200,203
diff --git a/perf/configs/msm8916/perf/perfboostsconfig.xml b/perf/configs/msm8916/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..394e174
--- /dev/null
+++ b/perf/configs/msm8916/perf/perfboostsconfig.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017 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>
+
+ <!--8916 app lauch boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- KSM_RUN_STATUS resource opcode, valuei (old: disable ksm) -->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8916"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x4B9, 0x40400000, 0x1, 0x42000000, 0x0" />
+
+ <!--8939 app lauch boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- KSM_RUN_STATUS resource opcode, valuei (old: disable ksm) -->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8939"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x4B9, 0x40400000, 0x1, 0x42000000, 0x0" />
+
+
+ <!--8916 app lauch boost (disabling packing)-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+ <!-- SCHED_SMALL_TASK resource opcode, value-->
+ <!-- SCHED_MOSTLY_IDLE_NR_RUN resource opcode, value-->
+ <!-- SCHED_MOSTLY_IDLE_LOAD resource opcode, value-->
+
+ <!-- Type="2", launch boost for disable packing 5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8916"
+ Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1" />
+
+ <!-- 8916 config_enablePerfBoostForAnimation-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+
+ <!-- Type="1", Animation boost of 0.6sec -->
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600" Target="msm8916"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x4B9" />
+
+ <!-- 8939 config_enablePerfBoostForAnimation-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+
+ <!-- Type="1", Animation boost of 0.6sec -->
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600" Target="msm8939"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x4B9" />
+
+ <!-- 8916 Vertical Scroll boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="msm8916"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x4B9, 0x40C04000, 0x1" />
+
+ <!-- 8939 Vertical Scroll boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="msm8939"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x4B9, 0x40C04000, 0x1" />
+
+
+ <!-- 8916 Horizontal Scroll boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="msm8916"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x4B9, 0x40C04000, 0x1" />
+
+ <!-- 8939 Horizontal Scroll boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ resource opcode, value-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="msm8939"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x4B9, 0x40C04000, 0x1" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/msm8916/perf/targetconfig.xml b/perf/configs/msm8916/perf/targetconfig.xml
new file mode 100644
index 0000000..c45f51f
--- /dev/null
+++ b/perf/configs/msm8916/perf/targetconfig.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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 target configs to consider. -->
+
+ <Config1>
+
+ <TargetInfo
+ Target="msm8916"
+ NumClusters="1"
+ TotalNumCores="4"
+ SocIds="206,247,248,249,250"
+ SynCore="1"
+ CoreCtlCpu="0"
+ MinCoreOnline="1"
+ GovInstanceType="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="big" />
+
+ </Config1>
+
+ <Config2>
+
+ <TargetInfo
+ Target="msm8939"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="239,263,241,268,269,270,271"
+ SynCore="1"
+ CoreCtlCpu="0"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="big" />
+ <ClustersInfo Id="1" NumCores="4" Type="little" />
+
+ </Config2>
+
+</TargetConfig>
diff --git a/perf/configs/msm8916/perf/targetresourceconfigs.xml b/perf/configs/msm8916/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..3b3a7a3
--- /dev/null
+++ b/perf/configs/msm8916/perf/targetresourceconfigs.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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 mention the resources which are not supported. -->
+
+<!-- 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 one
+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" Target="msm8939" Node="/sys/module/lpm_levels/system/performance/performance-l2-pc/idle_enabled" /> <!-- l2-pc_idle_enabled -->
+ <Config MajorValue="0x1" MinorValue="0x1" Target="msm8916" Node="/sys/module/lpm_levels/system/l2-pc/idle_enabled" /> <!-- l2-pc_idle_enabled -->
+ <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst -->
+ <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev -->
+ <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add -->
+
+ <Config MajorValue="0x3" MinorValue="0x1" Target="msm8939" Supported="yes" /> <!-- sched_prefer_idle -->
+ <Config MajorValue="0x3" MinorValue="0x4" Target="msm8939" Supported="yes" /> <!-- sched_mostly_idle_load -->
+ <Config MajorValue="0x3" MinorValue="0x5" Target="msm8939" Supported="yes" /> <!-- sched_mostly_idle_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="0xF" Supported="no" /> <!-- top-app_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x10" Supported="no" /> <!-- foreground_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x11" Supported="no" /> <!-- system_background_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x12" Supported="no" /> <!-- background_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_freq_aggregate -->
+ <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping -->
+ <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggregate_threshold -->
+ <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle -->
+
+ <Config MajorValue="0x4" MinorValue="0x0" Target="msm8939" Supported="yes" /> <!-- min_cpus -->
+ <Config MajorValue="0x4" MinorValue="0x1" Target="msm8939" Supported="yes" /> <!-- max_cpus -->
+
+
+ <!-- For INTERACTIVE major, all the interactive minors are not supported
+ by default as the recent target moved to schedutil. So, for older targets
+ where interactive minors are supported they need to be enabled and schedutil
+ minors are disabled. -->
+ <Config MajorValue="0x5" MinorValue="0x0" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay" /> <!-- above_hispeed_delay -->
+ <Config MajorValue="0x5" MinorValue="0x1" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/boost" /> <!-- boost -->
+ <Config MajorValue="0x5" MinorValue="0x3" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration" /> <!-- boostpulse_duration -->
+ <Config MajorValue="0x5" MinorValue="0x4" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load" /> <!-- go_hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x5" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/hispeed_freq" /> <!-- hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0x6" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/io_is_busy" /> <!-- io_is_busy -->
+ <Config MajorValue="0x5" MinorValue="0x7" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/min_sample_time" /> <!-- min_sample_time -->
+ <Config MajorValue="0x5" MinorValue="0x8" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/target_loads" /> <!-- target_loads -->
+ <Config MajorValue="0x5" MinorValue="0x9" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_rate" /> <!-- timer_rate -->
+ <Config MajorValue="0x5" MinorValue="0xA" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_slack" /> <!-- timer_slack -->
+ <Config MajorValue="0x5" MinorValue="0xB" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/max_freq_hysteresis" /> <!-- max_freq_hysteresis -->
+ <Config MajorValue="0x5" MinorValue="0xC" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/use_sched_load" /> <!-- use_sched_load -->
+
+ <Config MajorValue="0x5" MinorValue="0x0" Target="msm8939" Supported="yes" /> <!-- above_hispeed_delay -->
+ <Config MajorValue="0x5" MinorValue="0x1" Target="msm8939" Supported="yes" /> <!-- boost -->
+ <Config MajorValue="0x5" MinorValue="0x3" Target="msm8939" Supported="yes" /> <!-- boostpulse_duration -->
+ <Config MajorValue="0x5" MinorValue="0x4" Target="msm8939" Supported="yes" /> <!-- go_hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x5" Target="msm8939" Supported="yes" /> <!-- hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0x6" Target="msm8939" Supported="yes" /> <!-- io_is_busy -->
+ <Config MajorValue="0x5" MinorValue="0x7" Target="msm8939" Supported="yes" /> <!-- min_sample_time -->
+ <Config MajorValue="0x5" MinorValue="0x8" Target="msm8939" Supported="yes" /> <!-- target_loads -->
+ <Config MajorValue="0x5" MinorValue="0x9" Target="msm8939" Supported="yes" /> <!-- timer_rate -->
+ <Config MajorValue="0x5" MinorValue="0xA" Target="msm8939" Supported="yes" /> <!-- timer_slack -->
+ <Config MajorValue="0x5" MinorValue="0xB" Target="msm8939" Supported="yes" /> <!-- max_freq_hysteresis -->
+ <Config MajorValue="0x5" MinorValue="0xC" Target="msm8939" Supported="yes" /> <!-- use_sched_load -->
+ <Config MajorValue="0x5" MinorValue="0xD" Target="msm8939" Supported="yes" /> <!-- use_migration_notif -->
+ <Config MajorValue="0x5" MinorValue="0xF" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x10" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x11" Supported="no" />
+
+
+ <Config MajorValue="0x6" MinorValue="0x0" Target="msm8939" Node="/sys/class/devfreq/qcom,cpubw.64/min_freq" /> <!-- cpubw_min_freq -->
+ <Config MajorValue="0x6" MinorValue="0x0" Target="msm8916" Node="/sys/class/devfreq/qcom,cpubw.30/min_freq" /> <!-- cpubw_min_freq -->
+ <Config MajorValue="0x6" MinorValue="0x1" Target="msm8939" Node="/sys/class/devfreq/qcom,cpubw.64/bw_hwmon/decay_rate" /> <!-- cpubw_decay_rate -->
+ <Config MajorValue="0x6" MinorValue="0x1" Target="msm8916" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0x2" Target="msm8939" Node="/sys/class/devfreq/qcom,cpubw.64/bw_hwmon/io_percent" /> <!-- cpubw_io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x2" Target="msm8916" 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" Target="msm8939" Node="/sys/class/devfreq/qcom,cpubw.64/max_freq" /> <!-- cpubw_max_freq -->
+ <Config MajorValue="0x6" MinorValue="0x6" Target="msm8916" Node="/sys/class/devfreq/qcom,cpubw.30/max_freq" /> <!-- cpubw_max_freq -->
+ <Config MajorValue="0x6" MinorValue="0x7" Target="msm8939" Node="/sys/class/devfreq/qcom,cpubw.64/polling_interval" /> <!-- cpubw_polling_interval -->
+ <Config MajorValue="0x6" MinorValue="0x7" Target="msm8916" Node="/sys/class/devfreq/qcom,cpubw.30/polling_interval" /> <!-- cpubw_polling_interval -->
+ <Config MajorValue="0x6" MinorValue="0x8" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0x9" Supported="no" />
+
+ <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate -->
+
+ <Config MajorValue="0xA" MinorValue="0x5" Target="msm8939" Node="/sys/class/devfreq/qcom,gpubw.61/min_freq" /> <!-- gpubw_min_freq -->
+ <Config MajorValue="0xA" MinorValue="0x5" Target="msm8916" Supported="no" /> <!-- gpubw_min_freq -->
+ <Config MajorValue="0xA" MinorValue="0x6" Target="msm8939" Node="/sys/class/devfreq/qcom,gpubw.61/max_freq" /> <!-- gpubw_max_freq -->
+ <Config MajorValue="0xA" MinorValue="0x6" Target="msm8916" Supported="no" /> <!-- gpubw_max_freq -->
+
+ <Config MajorValue="0xB" MinorValue="0x2" Supported="no" /> <!-- input_boost_freq -->
+ <Config MajorValue="0xB" MinorValue="0x3" Supported="no" /> <!-- vm_swap_ratio -->
+
+ <!-- All the minors of LLCBW_HWMON MAJOR are not supported -->
+ <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="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq -->
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/msm8937/lm/AdaptLaunchFeature.xml b/perf/configs/msm8937/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..925c96c
--- /dev/null
+++ b/perf/configs/msm8937/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,47 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2017-2018 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>120</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+ <IgnoredApps>
+ <App>com.king.candycrushsaga</App>
+ <App>com.tencent.tmgp.sgame</App>
+ </IgnoredApps>
+</Feature>
diff --git a/perf/configs/msm8937/msm_irqbalance.conf b/perf/configs/msm8937/msm_irqbalance.conf
new file mode 100644
index 0000000..5afc484
--- /dev/null
+++ b/perf/configs/msm8937/msm_irqbalance.conf
@@ -0,0 +1,2 @@
+PRIO=0,0,0,0,1,1,1,1
+IGNORED_IRQ=20,39
diff --git a/perf/configs/msm8937/perf/perf-profile0.conf b/perf/configs/msm8937/perf/perf-profile0.conf
new file mode 100755
index 0000000..0c358e1
--- /dev/null
+++ b/perf/configs/msm8937/perf/perf-profile0.conf
@@ -0,0 +1,2 @@
+[priority] # This profile is reserved for perflock requests
+99
diff --git a/perf/configs/msm8937/perf/perf-profile1.conf b/perf/configs/msm8937/perf/perf-profile1.conf
new file mode 100755
index 0000000..7bbbfec
--- /dev/null
+++ b/perf/configs/msm8937/perf/perf-profile1.conf
@@ -0,0 +1,8 @@
+[files] # Write any value to any file (assumes not handled by locks section)
+2 /sys/devices/system/cpu/cpu0/core_ctl/min_cpus
+68 /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres
+85 /proc/sys/kernel/sched_downmigrate
+93 /proc/sys/kernel/sched_upmigrate
+
+[priority] # Gaming workload profile
+125
diff --git a/perf/configs/msm8937/perf/perfboostsconfig.xml b/perf/configs/msm8937/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..2408f7e
--- /dev/null
+++ b/perf/configs/msm8937/perf/perfboostsconfig.xml
@@ -0,0 +1,453 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017 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-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- DISABLE_POWER_COLLAPSE resource opcode, value-->
+ <!-- CLUSTR_0_CPUS_ON resource opcode, value-->
+ <!-- GPU_MIN_PWRLVL resource opcode, value-->
+ <!-- SWAP_RATIO resource opcode, value-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8937"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" />
+
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8917"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" />
+
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm439"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" />
+
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm429"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" />
+
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="qm215"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" />
+ <!--app lauch boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- DISABLE_POWER_COLLAPSE resource opcode, value-->
+ <!-- CLUSTR_0_CPUS_ON resource opcode, value-->
+ <!-- MAX_ONLINE_CPU_CLUSTER_BIG resource opcode, value -->
+ <!-- GPU_MIN_PWRLVL resource opcode, value-->
+ <!-- SWAP_RATIO resource opcode, value-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm429w_law"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1, 0x41000000, 0x4, 0x41004000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" />
+
+ <!--app lauch boost (disabling packing)-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+ <!-- SCHED_SMALL_TASK resource opcode, value-->
+ <!-- SCHED_IDLE_NR_RUN resource opcode, value-->
+ <!-- SCHED_IDLE_LOAD resource opcode, value-->
+
+ <!-- Type="2", launch boost for disable packing 5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8937" Kernel="3.18"
+ Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1" />
+
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8917" Kernel="3.18"
+ Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1" />
+
+ <!-- config_enableLaunchBoostv2-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED DOWNMIGRATE resource opcode, value -->
+ <!-- SCHED UPMIGRATE resource opcode, value -->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm429"
+ Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41,
+ 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C" />
+
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm429w_law"
+ Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41,
+ 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C" />
+
+ <!-- config_enableLaunchBoostv4-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_LITTLE resource opcode, value-->
+ <!-- SCHEDUTIL_HISPEED_LOAD_CLUSTER_BIG resource opcode, value-->
+ <!-- SCHEDUTIL_HISPEED_LOAD_CLUSTER_LITTLE resource opcode, value-->
+ <!-- SCHEDUTIL_HISPEED_FREQ_CLUSTER_BIG resource opcode, value-->
+ <!-- SCHEDUTIL_HISPEED_FREQ_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="4", Adaptive Launch boost -->
+ <Config
+ Id="0x00001081" Type="4" Enable="true" Timeout="2000" Target="sdm439"
+ 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="4" Enable="true" Timeout="2000" Target="sdm429"
+ 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_enableLaunchBoostv4-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_LITTLE resource opcode, value-->
+ <!-- MAX_ONLINE_CPU_CLUSTER_BIG resource opcode, value -->
+ <!-- SCHEDUTIL_HISPEED_LOAD_CLUSTER_BIG resource opcode, value-->
+ <!-- SCHEDUTIL_HISPEED_LOAD_CLUSTER_LITTLE resource opcode, value-->
+ <!-- SCHEDUTIL_HISPEED_FREQ_CLUSTER_BIG resource opcode, value-->
+ <!-- SCHEDUTIL_HISPEED_FREQ_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="4", Adaptive Launch boost -->
+ <Config
+ Id="0x00001081" Type="4" Enable="true" Timeout="2000" Target="sdm429w_law"
+ Resources="0x41000100, 0x4, 0x41000000, 0x4, 0x41004000, 0x4,
+ 0x41440000, 0x28, 0x41440100, 0x28,
+ 0x4143C000, 0xFFF, 0x4143C100, 0xFFF,
+ 0x40C20000, 0x28, 0x40C1C000, 0x32,
+ 0x43404000, 0x2710, 0x43408000, 0x2710,
+ 0x4040C000, 0x1F4, 0x40410000, 0x3E8" />
+
+ <!-- config_enablePerfBoostForAnimation-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- GPU_MIN_PWRLVL resource opcode, value-->
+
+ <!-- Type="1", Animation boost of 0.6sec -->
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600" Target="msm8937"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" />
+
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600" Target="msm8917"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" />
+
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600" Target="sdm439"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" />
+
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600" Target="sdm429"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" />
+
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600" Target="sdm429w_law"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" />
+
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600" Target="qm215"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" />
+
+ <!--Vertical Scroll boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="msm8937" Kernel="3.18"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x40C04000, 0x1" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="msm8917" Kernel="3.18"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x40C04000, 0x1" />
+
+
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="msm8937" Kernel="4.9"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="msm8917" Kernel="4.9"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm439"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm429"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="qm215"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG, value -->
+ <!-- MAX_ONLINE_CPU_CLUSTER_BIG, value -->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm429w_law"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x41000000, 0x4, 0x41004000, 0x4" />
+
+ <!--Horizontal Scroll boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="msm8937" Kernel="3.18"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x40C04000, 0x1" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="msm8917" Kernel="3.18"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x40C04000, 0x1" />
+
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="msm8937" Kernel="4.9"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="msm8917" Kernel="4.9"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm439"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm429"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="qm215"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG, value -->
+ <!-- MAX_ONLINE_CPU_CLUSTER_BIG, value -->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm429w_law"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x41000000, 0x4, 0x41004000, 0x4" />
+
+ <!--Pre-Fling boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- GPU MIN_FREQUENCY resource opcode,value-->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="qm215" Resolution="HD+"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x4280C000, 596" />
+
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm429"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm429w_law"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <!--Drag boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- GPU MIN_FREQUENCY resource opcode,value-->
+
+ <!-- Type="1", Drag boost -->
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="qm215" Resolution="HD+"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x4280C000, 596" />
+
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="sdm429"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="sdm429w_law"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x514" />
+
+ <!--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="msm8937"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100, 0xFFF" />
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="sdm439"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100, 0xFFF" />
+
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- Type="", Rotation latency boost -->
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="msm8917"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40800000, 0xFFF" />
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="sdm429"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40800000, 0xFFF" />
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="sdm429w_law"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40800000, 0xFFF" />
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="qm215"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40800000, 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="msm8937"
+ Resources="0x40800100, 1000, 0x4280C000, 596" />
+
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="msm8917"
+ Resources="0x40800000, 1000, 0x4280C000, 596" />
+
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="sdm439"
+ Resources="0x40800100, 1000, 0x4280C000, 596" />
+
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="sdm429"
+ Resources="0x40800000, 1000, 0x4280C000, 596" />
+
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="sdm429w_law"
+ Resources="0x40800000, 1000, 0x4280C000, 596" />
+
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="qm215"
+ Resources="0x40800000, 1000, 0x4280C000, 596" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="msm8937"
+ Resources="0x40000000, 1" />
+
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="msm8917"
+ Resources="0x40000000, 1" />
+
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="sdm439"
+ Resources="0x40000000, 1" />
+
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="sdm429"
+ Resources="0x40000000, 1" />
+
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="sdm429w_law"
+ Resources="0x40000000, 1" />
+
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="qm215"
+ Resources="0x40000000, 1" />
+
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="msm8937"
+ Resources="0x40000000, 0x0" />
+
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="msm8917"
+ Resources="0x40000000, 0x0" />
+
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="sdm439"
+ Resources="0x40000000, 0x0" />
+
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="sdm429"
+ Resources="0x40000000, 0x0" />
+
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="sdm429w_law"
+ Resources="0x40000000, 0x0" />
+
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="qm215"
+ Resources="0x40000000, 0x0" />
+
+ <!--display power on-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- DISABLE_POWER_COLLAPSE resource opcode, value-->
+ <!-- CLUSTR_0_CPUS_ON resource opcode, value-->
+ <!-- MAX_ONLINE_CPU_CLUSTER_BIG resource opcode, value -->
+ <!-- GPU_MIN_PWRLVL resource opcode, value-->
+ <!-- SWAP_RATIO resource opcode, value-->
+
+ <!-- Type="-1", Display power on boost of 0.5s -->
+ <Config
+ Id="0x00001041" Type="-1" Enable="true" Timeout="500" Target="sdm429w_law"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1,
+ 0x41000000, 0x4, 0x41004000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/msm8937/perf/perfconfigstore.xml b/perf/configs/msm8937/perf/perfconfigstore.xml
new file mode 100644
index 0000000..2ec8425
--- /dev/null
+++ b/perf/configs/msm8937/perf/perfconfigstore.xml
@@ -0,0 +1,68 @@
+<?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>
+
+ <!--System Properties -->
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="5000" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="5" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="2147483648" />
+ <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="vendor.debug.enable.lm" Value="true" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+
+ <!--Vendor Properties -->
+ <Prop Name="vendor.iop.enabled" Value="false" />
+ <Prop Name="vendor.iop.enable_uxe" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" />
+ <Prop Name="vendor.enable.prefetch" Value="0" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" />
+
+ <!--Mention all the target/kernel specific properties at the end of xml file
+ All the default valuea are kept above-->
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" Variant="msm8937_32go" />
+ <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" Variant="msm8937_32go" />
+ <Prop Name="vendor.appcompact.enable_app_compact" Value="true" Variant="msm8937_32go" />
+ <Prop Name="vendor.appcompact.some_compact_type" Value="1" Variant="msm8937_32go"/>
+ <Prop Name="vendor.appcompact.full_compact_type" Value="3" Variant="msm8937_32go"/>
+
+ <!--add the default valuea for sdm429w_law-->
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" Variant="sdm429w_law" />
+ <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" Variant="sdm429w_law" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="8" Variant="sdm429w_law"/>
+ <Prop Name="vendor.appcompact.enable_app_compact" Value="true" Variant="sdm429w_law" />
+ <Prop Name="vendor.appcompact.some_compact_type" Value="1" Variant="sdm429w_law"/>
+ <Prop Name="vendor.appcompact.full_compact_type" Value="3" Variant="sdm429w_law"/>
+
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" Kernel="4.19" />
+ <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" Kernel="4.19" />
+ <Prop Name="ro.lmk.enhance_batch_kill" Value="false" Kernel="4.19" />
+ <Prop Name="ro.lmk.enable_watermark_check" Value="true" Kernel="4.19" />
+ <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" Kernel="4.19" />
+ <Prop Name="ro.lmk.super_critical" Value="606" Kernel="4.19" />
+ <Prop Name="ro.lmk.direct_reclaim_pressure" Value="45" Kernel="4.19" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/msm8937/perf/targetconfig.xml b/perf/configs/msm8937/perf/targetconfig.xml
new file mode 100644
index 0000000..c9843be
--- /dev/null
+++ b/perf/configs/msm8937/perf/targetconfig.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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="msm8937"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="294,295,313"
+ SynCore="1"
+ CoreCtlCpu="0"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="big" />
+ <ClustersInfo Id="1" NumCores="4" Type="little" />
+
+ </Config1>
+
+ <Config2>
+ <TargetInfo
+ Target="msm8917"
+ NumClusters="1"
+ TotalNumCores="4"
+ SocIds="303,307,308,309,320"
+ SynCore="1"
+ MinCoreOnline="1"
+ GovInstanceType="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="big" />
+
+ </Config2>
+
+ <Config3>
+ <TargetInfo
+ Target="sdm439"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="353,363"
+ SynCore="1"
+ CoreCtlCpu="0"
+ MinCoreOnline="0"
+ CpufreqGov="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="big" />
+ <ClustersInfo Id="1" NumCores="4" Type="little" />
+
+ </Config3>
+
+ <Config4>
+ <TargetInfo
+ Target="sdm429"
+ NumClusters="1"
+ TotalNumCores="4"
+ SocIds="354,364,437"
+ SynCore="1"
+ MinCoreOnline="0"
+ CpufreqGov="1"
+ GovInstanceType="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="big" />
+
+ </Config4>
+
+ <Config5>
+ <TargetInfo
+ Target="qm215"
+ NumClusters="1"
+ TotalNumCores="4"
+ SocIds="386,436"
+ SynCore="1"
+ MinCoreOnline="0"
+ CpufreqGov="1"
+ GovInstanceType="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="big" />
+
+ </Config5>
+
+ <Config6>
+ <TargetInfo
+ Target="sdm429w_law"
+ NumClusters="1"
+ TotalNumCores="4"
+ SocIds="416"
+ SynCore="1"
+ CoreCtlCpu="0"
+ MinCoreOnline="0"
+ CpufreqGov="1"
+ GovInstanceType="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="big" />
+
+ </Config6>
+
+</TargetConfig>
diff --git a/perf/configs/msm8937/perf/targetresourceconfigs.xml b/perf/configs/msm8937/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..711edd2
--- /dev/null
+++ b/perf/configs/msm8937/perf/targetresourceconfigs.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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 mention the resources which are not supported. -->
+
+<!-- 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 one
+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" Target="msm8937" Supported="yes" /> <!-- l2_pc_idle_enabled -->
+ <Config MajorValue="0x1" MinorValue="0x1" Target="msm8917" Node="/sys/module/lpm_levels/perf/perf-l2-pc/idle_enabled" /> <!-- l2_pc_idle_enabled -->
+ <Config MajorValue="0x1" MinorValue="0x1" Target="qm215" Node="/sys/module/lpm_levels/perf/perf-l2-pc/idle_enabled" /> <!-- l2_pc_idle_enabled -->
+ <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst -->
+ <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev -->
+ <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add -->
+
+ <Config MajorValue="0x3" MinorValue="0x1" Node="/sys/devices/system/cpu/cpu0/sched_prefer_idle" /> <!-- sched_prefer_idle -->
+ <Config MajorValue="0x3" MinorValue="0x2" Supported="no" /> <!-- sched_migration_cost_ns -->
+ <Config MajorValue="0x3" MinorValue="0x4" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_load" /> <!-- sched_mostly_idle_load -->
+ <Config MajorValue="0x3" MinorValue="0x5" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run" /> <!-- sched_mostly_idle_nr_run -->
+ <Config MajorValue="0x3" MinorValue="0x9" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_freq" /> <!-- sched_mostly_idle_freq -->
+ <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill -->
+ <Config MajorValue="0x3" MinorValue="0xF" Supported="no" /> <!-- top-app_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x10" Supported="no" /> <!-- foreground_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x11" Supported="no" /> <!-- system_background_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x12" Supported="no" /> <!-- background_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_freq_aggregate -->
+ <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping -->
+ <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x15" Target="sdm439" Supported="yes" /> <!-- sched_group_upmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x15" Target="sdm429" Supported="yes" /> <!-- sched_group_upmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x16" Target="sdm439" Supported="yes" /> <!-- sched_group_downmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x16" Target="sdm429" Supported="yes" /> <!-- sched_group_downmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggregate_threshold -->
+ <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle -->
+
+
+ <Config MajorValue="0x4" MinorValue="0x0" Target="msm8937" Supported="yes" /> <!-- min_cpus -->
+ <Config MajorValue="0x4" MinorValue="0x1" Target="msm8937" Supported="yes" /> <!-- max_cpus -->
+
+ <!-- For INTERACTIVE major, all the interactive minors are not supported
+ by default as the recent target moved to schedutil. So, for older targets
+ where interactive minors are supported they need to be enabled and schedutil
+ minors are disabled. -->
+ <Config MajorValue="0x5" MinorValue="0x0" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- above_hispeed_delay -->
+ <Config MajorValue="0x5" MinorValue="0x1" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- boost -->
+ <Config MajorValue="0x5" MinorValue="0x3" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- boostpulse_duration -->
+ <Config MajorValue="0x5" MinorValue="0x4" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- go_hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x5" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0x6" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- io_is_busy -->
+ <Config MajorValue="0x5" MinorValue="0x7" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- min_sample_time -->
+ <Config MajorValue="0x5" MinorValue="0x8" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- target_loads -->
+ <Config MajorValue="0x5" MinorValue="0x9" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- timer_rate -->
+ <Config MajorValue="0x5" MinorValue="0xA" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- timer_slack -->
+ <Config MajorValue="0x5" MinorValue="0xB" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- max_freq_hysteresis -->
+ <Config MajorValue="0x5" MinorValue="0xC" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- use_sched_load -->
+ <Config MajorValue="0x5" MinorValue="0xD" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- use_migration_notif -->
+ <Config MajorValue="0x5" MinorValue="0xE" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- ignore_hispeed_on_notif -->
+
+ <Config MajorValue="0x5" MinorValue="0x0" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay" /> <!-- above_hispeed_delay -->
+ <Config MajorValue="0x5" MinorValue="0x1" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/boost" /> <!-- boost -->
+ <Config MajorValue="0x5" MinorValue="0x3" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration" /> <!-- boostpulse_duration -->
+ <Config MajorValue="0x5" MinorValue="0x4" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load" /> <!-- go_hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x5" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/hispeed_freq" /> <!-- hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0x6" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/io_is_busy" /> <!-- io_is_busy -->
+ <Config MajorValue="0x5" MinorValue="0x7" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/min_sample_time" /> <!-- min_sample_time -->
+ <Config MajorValue="0x5" MinorValue="0x8" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/target_loads" /> <!-- target_loads -->
+ <Config MajorValue="0x5" MinorValue="0x9" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_rate" /> <!-- timer_rate -->
+ <Config MajorValue="0x5" MinorValue="0xA" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_slack" /> <!-- timer_slack -->
+ <Config MajorValue="0x5" MinorValue="0xB" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/max_freq_hysteresis" /> <!-- max_freq_hysteresis -->
+ <Config MajorValue="0x5" MinorValue="0xC" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/use_sched_load" /> <!-- use_sched_load -->
+ <Config MajorValue="0x5" MinorValue="0xD" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/use_migration_notif" /> <!-- use_migration_notif -->
+ <Config MajorValue="0x5" MinorValue="0xE" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/ignore_hispeed_on_notif " /> <!-- ignore_hispeed_on_notif -->
+
+ <Config MajorValue="0x5" MinorValue="0xF" Target="sdm439" Supported="yes" /> <!-- schedutil.hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0xF" Target="sdm429" Supported="yes" /> <!-- schedutil.hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0xF" Target="qm215" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq" /> <!-- schedutil.hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0xF" Target="msm8917" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq" /> <!-- schedutil.hispeed_freq -->
+
+ <Config MajorValue="0x5" MinorValue="0x10" Target="sdm439" Supported="yes" /> <!-- schedutil.hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x10" Target="sdm429" Supported="yes" /> <!-- schedutil.hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x10" Target="qm215" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_load" /> <!-- schedutil.hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x10" Target="msm8917" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_load" /> <!-- schedutil.hispeed_load -->
+
+ <Config MajorValue="0x5" MinorValue="0x11" Target="sdm439" Supported="yes" /> <!-- schedutil.predictive_load -->
+ <Config MajorValue="0x5" MinorValue="0x11" Target="sdm429" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/pl" /> <!-- schedutil.predictive_load -->
+ <Config MajorValue="0x5" MinorValue="0x11" Target="qm215" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/pl" /> <!-- schedutil.predictive_load -->
+ <Config MajorValue="0x5" MinorValue="0x11" Target="msm8917" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/pl" /> <!-- schedutil.predictive_load -->
+
+ <!-- cpubw hwmon major start -->
+ <Config MajorValue="0x6" MinorValue="0x0" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq" />
+ <Config MajorValue="0x6" MinorValue="0x1" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/decay_rate" />
+ <Config MajorValue="0x6" MinorValue="0x2" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/io_percent" />
+ <Config MajorValue="0x6" MinorValue="0x4" Kernel="4.19" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Kernel="4.19" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x6" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/max_freq" />
+ <Config MajorValue="0x6" MinorValue="0x7" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/polling_interval" />
+ <Config MajorValue="0x6" MinorValue="0x8" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms" />
+ <Config MajorValue="0x6" MinorValue="0x9" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/idle_mbps" />
+
+ <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate -->
+
+ <Config MajorValue="0xB" MinorValue="0x2" Supported="no" /> <!-- input_boost_freq -->
+
+ <!-- All the minors of LLCBW_HWMON MAJOR are not supported -->
+ <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="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq -->
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/msm8952/msm_irqbalance.conf b/perf/configs/msm8952/msm_irqbalance.conf
new file mode 100644
index 0000000..5afc484
--- /dev/null
+++ b/perf/configs/msm8952/msm_irqbalance.conf
@@ -0,0 +1,2 @@
+PRIO=0,0,0,0,1,1,1,1
+IGNORED_IRQ=20,39
diff --git a/perf/configs/msm8952/perf/perfboostsconfig.xml b/perf/configs/msm8952/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..62e0da6
--- /dev/null
+++ b/perf/configs/msm8952/perf/perfboostsconfig.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017 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-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- DISABLE_POWER_COLLAPSE resource opcode, value-->
+ <!-- CLUSTR_0_CPUS_ON resource opcode, value-->
+ <!-- GPU_MIN_PWRLVL resource opcode, value-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8952"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1" />
+
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8956"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1" />
+
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8976"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1" />
+
+ <!--app lauch boost (disabling packing)-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+ <!-- SCHED_SMALL_TASK resource opcode, value-->
+ <!-- SCHED_IDLE_NR_RUN resource opcode, value-->
+ <!-- SCHED_IDLE_LOAD resource opcode, value-->
+
+ <!-- Type="2", launch boost for disable packing 5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8952"
+ Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1" />
+
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8956"
+ Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1" />
+
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8976"
+ Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1" />
+
+ <!-- config_enablePerfBoostForAnimation-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- GPU_MIN_PWRLVL resource opcode, value-->
+
+ <!-- Type="1", Animation boost of 0.6sec -->
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600" Target="msm8952"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" />
+
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600" Target="msm8956"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" />
+
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600" Target="msm8976"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" />
+
+ <!--Vertical Scroll boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="msm8952"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40C04000, 0x1" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="msm8956"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40C04000, 0x1" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="msm8976"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40C04000, 0x1" />
+
+ <!--Horizontal Scroll boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- SCHED_PREFER_IDLE resource opcode, value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="msm8952"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40C04000, 0x1" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="msm8956"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40C04000, 0x1" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="msm8976"
+ Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40C04000, 0x1" />
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/msm8952/perf/targetconfig.xml b/perf/configs/msm8952/perf/targetconfig.xml
new file mode 100644
index 0000000..671caa9
--- /dev/null
+++ b/perf/configs/msm8952/perf/targetconfig.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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="msm8952"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="264,289"
+ SynCore="1"
+ CoreCtlCpu="0"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="big" />
+ <ClustersInfo Id="1" NumCores="4" Type="little" />
+
+ </Config1>
+
+ <Config2>
+ <TargetInfo
+ Target="msm8956"
+ NumClusters="2"
+ TotalNumCores="6"
+ SocIds="266,274"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="2" Type="big" />
+
+ </Config2>
+
+ <Config3>
+ <TargetInfo
+ Target="msm8976"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="277,278"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="4" Type="big" />
+
+ </Config3>
+
+</TargetConfig>
diff --git a/perf/configs/msm8952/perf/targetresourceconfigs.xml b/perf/configs/msm8952/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..c7b6fbc
--- /dev/null
+++ b/perf/configs/msm8952/perf/targetresourceconfigs.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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 mention the resources which are not supported. -->
+
+<!-- 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 one
+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" Target="msm8976" Node="/sys/module/lpm_levels/system/a72/a72-l2-pc/idle_enabled" /> <!-- pc_idle_enabled -->
+ <Config MajorValue="0x1" MinorValue="0x1" Target="msm8956" Node="/sys/module/lpm_levels/system/a72/a72-l2-pc/idle_enabled" /> <!-- pc_idle_enabled -->
+ <Config MajorValue="0x1" MinorValue="0x1" Target="msm8952" Supported="yes" /> <!-- pc_idle_enabled -->
+ <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst -->
+
+ <Config MajorValue="0x3" MinorValue="0x1" Node="/sys/devices/system/cpu/cpu0/sched_prefer_idle" /> <!-- sched_prefer_idle -->
+ <Config MajorValue="0x3" MinorValue="0x2" Supported="no" /> <!-- sched_migration_cost_ns -->
+ <Config MajorValue="0x3" MinorValue="0x4" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_load" /> <!-- sched_mostly_idle_load" -->
+ <Config MajorValue="0x3" MinorValue="0x5" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run" /> <!-- sched_mostly_idle_nr_run -->
+ <Config MajorValue="0x3" MinorValue="0x9" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_freq" /> <!-- sched_mostly_idle_freq -->
+ <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="0xF" Supported="no" /> <!-- top-app_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x10" Supported="no" /> <!-- foreground_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x11" Supported="no" /> <!-- system_background_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x12" Supported="no" /> <!-- background_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_freq_aggregate -->
+ <Config MajorValue="0x3" MinorValue="0x15" Node="/proc/sys/kernel/sched_grp_upmigrate" /> <!-- sched_group_upmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x16" Node="/proc/sys/kernel/sched_grp_downmigrate" /> <!-- sched_group_downmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggregate_threshold -->
+ <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle -->
+
+
+ <Config MajorValue="0x4" MinorValue="0x0" Supported="yes" /> <!-- min_cpus -->
+ <Config MajorValue="0x4" MinorValue="0x1" Supported="yes" /> <!-- max_cpus -->
+
+
+ <!-- For INTERACTIVE major, all the interactive minors are not supported
+ by default as the recent target moved to schedutil. So, for older targets
+ where interactive minors are supported they need to be enabled and schedutil
+ minors are disabled. -->
+ <Config MajorValue="0x5" MinorValue="0x0" Supported="yes" /> <!-- above_hispeed_delay -->
+ <Config MajorValue="0x5" MinorValue="0x1" Supported="yes" /> <!-- boost -->
+ <Config MajorValue="0x5" MinorValue="0x3" Supported="yes" /> <!-- boostpulse_duration -->
+ <Config MajorValue="0x5" MinorValue="0x4" Supported="yes" /> <!-- go_hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x5" Supported="yes" /> <!-- hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0x6" Supported="yes" /> <!-- io_is_busy -->
+ <Config MajorValue="0x5" MinorValue="0x7" Supported="yes" /> <!-- min_sample_time -->
+ <Config MajorValue="0x5" MinorValue="0x8" Supported="yes" /> <!-- target_loads -->
+ <Config MajorValue="0x5" MinorValue="0x9" Supported="yes" /> <!-- timer_rate -->
+ <Config MajorValue="0x5" MinorValue="0xA" Supported="yes" /> <!-- timer_slack -->
+ <Config MajorValue="0x5" MinorValue="0xB" Supported="yes" /> <!-- max_freq_hysteresis -->
+ <Config MajorValue="0x5" MinorValue="0xC" Supported="yes" /> <!-- use_sched_load -->
+ <Config MajorValue="0x5" MinorValue="0xD" Supported="yes" /> <!-- use_migration_notif -->
+ <Config MajorValue="0x5" MinorValue="0xF" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x10" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x11" Supported="no" />
+
+
+
+ <Config MajorValue="0x6" MinorValue="0x0" Target="msm8976" Node="/sys/class/devfreq/qcom,cpubw.49/min_freq" /> <!-- soc:qcom,cpubw/min_freq -->
+ <Config MajorValue="0x6" MinorValue="0x0" Target="msm8956" Node="/sys/class/devfreq/qcom,cpubw.49/min_freq" /> <!-- soc:qcom,cpubw/min_freq -->
+ <Config MajorValue="0x6" MinorValue="0x0" Target="msm8952" Node="/sys/class/devfreq/qcom,cpubw.51/min_freq" /> <!-- soc:qcom,cpubw/min_freq -->
+ <Config MajorValue="0x6" MinorValue="0x1" Target="msm8976" Node="/sys/class/devfreq/qcom,cpubw.49/bw_hwmon/decay_rate" /> <!-- soc:qcom,cpubw/bw_hwmon/decay_rate -->
+ <Config MajorValue="0x6" MinorValue="0x1" Target="msm8956" Node="/sys/class/devfreq/qcom,cpubw.49/bw_hwmon/decay_rate" /> <!-- soc:qcom,cpubw/bw_hwmon/decay_rate -->
+ <Config MajorValue="0x6" MinorValue="0x1" Target="msm8952" Node="/sys/class/devfreq/qcom,cpubw.51/bw_hwmon/decay_rate" /> <!-- soc:qcom,cpubw/bw_hwmon/decay_rate -->
+ <Config MajorValue="0x6" MinorValue="0x2" Target="msm8976" Node="/sys/class/devfreq/qcom,cpubw.49/bw_hwmon/io_percent" /> <!-- soc:qcom,cpubw/bw_hwmon/io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x2" Target="msm8956" Node="/sys/class/devfreq/qcom,cpubw.49/bw_hwmon/io_percent" /> <!-- soc:qcom,cpubw/bw_hwmon/io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x2" Target="msm8952" Node="/sys/class/devfreq/qcom,cpubw.51/bw_hwmon/io_percent" /> <!-- soc:qcom,cpubw/bw_hwmon/io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x3" Supported="no" /> <!-- cpubw_hwmon_hyst_opt -->
+ <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/low_power_io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x6" Target="msm8976" Node="/sys/class/devfreq/qcom,cpubw.49/max_freq" /> <!-- soc:qcom,cpubw/max_freq -->
+ <Config MajorValue="0x6" MinorValue="0x6" Target="msm8956" Node="/sys/class/devfreq/qcom,cpubw.49/max_freq" /> <!-- soc:qcom,cpubw/max_freq -->
+ <Config MajorValue="0x6" MinorValue="0x6" Target="msm8952" Node="/sys/class/devfreq/qcom,cpubw.51/max_freq" /> <!-- soc:qcom,cpubw/max_freq -->
+ <Config MajorValue="0x6" MinorValue="0x7" Target="msm8976" Node="/sys/class/devfreq/qcom,cpubw.49/polling_interval" /> <!-- soc:qcom,cpubw/polling_interval -->
+ <Config MajorValue="0x6" MinorValue="0x7" Target="msm8956" Node="/sys/class/devfreq/qcom,cpubw.49/polling_interval" /> <!-- soc:qcom,cpubw/polling_interval -->
+ <Config MajorValue="0x6" MinorValue="0x7" Target="msm8952" Node="/sys/class/devfreq/qcom,cpubw.51/polling_interval" /> <!-- soc:qcom,cpubw/polling_interval -->
+ <Config MajorValue="0x6" MinorValue="0x8" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/sample_ms -->
+ <Config MajorValue="0x6" MinorValue="0x9" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/idle_mbps -->
+
+
+ <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate -->
+
+
+ <Config MajorValue="0xA" MinorValue="0x5" Target="msm8976" Node="/sys/class/devfreq/qcom,gpubw.37/min_freq" /> <!-- soc:qcom,gpubw/min_freq -->
+ <Config MajorValue="0xA" MinorValue="0x5" Target="msm8956" Node="/sys/class/devfreq/qcom,gpubw.35/min_freq" /> <!-- soc:qcom,gpubw/min_freq -->
+ <Config MajorValue="0xA" MinorValue="0x5" Target="msm8952" Node="/sys/class/devfreq/qcom,gpubw.39/min_freq" /> <!-- soc:qcom,gpubw/min_freq -->
+ <Config MajorValue="0xA" MinorValue="0x6" Target="msm8976" Node="/sys/class/devfreq/qcom,gpubw.37/max_freq" /> <!-- soc:qcom,gpubw/max_freq -->
+ <Config MajorValue="0xA" MinorValue="0x6" Target="msm8956" Node="/sys/class/devfreq/qcom,gpubw.35/max_freq" /> <!-- soc:qcom,gpubw/max_freq -->
+ <Config MajorValue="0xA" MinorValue="0x6" Target="msm8952" Node="/sys/class/devfreq/qcom,gpubw.39/max_freq" /> <!-- soc:qcom,gpubw/max_freq -->
+ <Config MajorValue="0xA" MinorValue="0x7" Supported="no" /> <!-- gpu_disable_gpu_nap -->
+
+
+ <Config MajorValue="0xB" MinorValue="0x2" Supported="no" /> <!-- input_boost_freq -->
+ <Config MajorValue="0xB" MinorValue="0x3" Supported="no" /> <!-- vm_swap_ratio -->
+
+ <!-- All the minors of LLCBW_HWMON MAJOR are not supported -->
+ <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="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq -->
+ <Config MajorValue="0xD" MinorValue="0x1" Supported="no" /> <!-- memlat-cpu0/mem_latency/ratio_ceil -->
+ <Config MajorValue="0xD" MinorValue="0x2" Supported="no" /> <!-- memlat-cpu4/mem_latency/ratio_ceil -->
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/msm8953/msm_irqbalance.conf b/perf/configs/msm8953/msm_irqbalance.conf
new file mode 100644
index 0000000..5afc484
--- /dev/null
+++ b/perf/configs/msm8953/msm_irqbalance.conf
@@ -0,0 +1,2 @@
+PRIO=0,0,0,0,1,1,1,1
+IGNORED_IRQ=20,39
diff --git a/perf/configs/msm8953/perf/perfboostsconfig.xml b/perf/configs/msm8953/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..a91c25e
--- /dev/null
+++ b/perf/configs/msm8953/perf/perfboostsconfig.xml
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017 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-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG resource opcode, value-->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm632"
+ Resources="0x40C00000, 0x1, 0x40800100, 0x40C, 0x40800000, 0x579" />
+
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- SCHED_SPILL_NR_RUN resource opcode, value-->
+ <!-- SCHED_RESTRICT_CLUSTER_SPILL resource opcode, value-->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000"
+ Resources="0x40C00000, 0x1, 0x40800100, 0x690, 0x40C2C000, 0x1, 0x40C34000, 0x0" />
+
+ <!--app lauch boost (disabling packing)-->
+ <!-- DISABLE_POWER_COLLAPSE resource opcode, value-->
+
+ <!-- Type="2", launch boost for disable packing 1.5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="1500"
+ Resources="0x40400000, 0x1" />
+
+ <!-- config_enablePerfBoostForAnimation-->
+ <!-- Type="1", Animation boost of 0.6sec -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600" Target="sdm632"
+ Resources="0x40800100, 0x40C, 0x40800000, 0x446" />
+
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <Config
+ Id="0x00001083" Enable="true" Timeout="600"
+ Resources="0x40800100, 0x578" />
+
+ <!--Vertical Scroll boost-->
+ <!-- Type="1", Vertical Scroll boost -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm632"
+ Resources="0x40800100, 0x40C, 0x40800000, 0x446,0x40C00000, 0x2" />
+
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true"
+ Resources="0x40800100, 0x578" />
+
+ <!--Horizontal Scroll boost-->
+ <!-- Type="2", Horizontal Scroll boost -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm632"
+ Resources="0x40800100, 0x40C, 0x40800000, 0x446,0x40C00000, 0x2" />
+
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true"
+ Resources="0x40800100, 0x578" />
+ <!--Pre-Fling boost-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- Type="4", Pre-Fling boost -->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm632"
+ Resources="0x40800100, 0x40C, 0x40800000, 0x446,0x40C00000, 0x2" />
+
+ <!--MTP boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+
+ <!-- Type="", MTP boost -->
+
+ <Config
+ Id="0x00001086" Enable="true"
+ Resources="0x40C00000, 0x1, 0x40804100, 0xFFF, 0x40800100, 1400, 0x42C10000, 0x1" />
+
+ <!--PackageInstall boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- Type="", Package Install boost -->
+
+ <Config
+ Id="0x00001088" Enable="true"
+ Resources="0x40C00000, 0x1, 0x40804100, 0xFFF, 0x40800100, 0xFFF" />
+
+ <!--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="sdm632"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100,0xFFF" />
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500"
+ Resources="0x40C00000, 0x1, 0x40804100, 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="sdm632"
+ Resources="0x40800100, 1000, 0x4280C000, 596" />
+
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000"
+ Resources="0x40800100, 1000, 0x4280C000, 596" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="msm8953"
+ Resources="0x40000000, 1" />
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="sdm450"
+ Resources="0x40000000, 1" />
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="sdm632"
+ Resources="0x40000000, 1" />
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="msm8953"
+ Resources="0x40000000, 0x0" />
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="sdm450"
+ Resources="0x40000000, 0x0" />
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="sdm632"
+ Resources="0x40000000, 0x0" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/msm8953/perf/perfconfigstore.xml b/perf/configs/msm8953/perf/perfconfigstore.xml
new file mode 100644
index 0000000..a7b3e49
--- /dev/null
+++ b/perf/configs/msm8953/perf/perfconfigstore.xml
@@ -0,0 +1,51 @@
+<?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>
+
+ <!--System Properties -->
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="5000" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="5" />
+ <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" />
+ <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="2147483648" />
+ <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+
+ <!--Vendor Properties -->
+ <Prop Name="vendor.iop.enabled" Value="false" />
+ <Prop Name="vendor.iop.enable_uxe" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" />
+ <Prop Name="vendor.enable.prefetch" Value="0" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" />
+
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" Kernel="4.19" />
+ <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" Kernel="4.19" />
+ <Prop Name="ro.lmk.enhance_batch_kill" Value="false" Kernel="4.19" />
+ <Prop Name="ro.lmk.enable_watermark_check" Value="true" Kernel="4.19" />
+ <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" Kernel="4.19" />
+ <Prop Name="ro.lmk.super_critical" Value="606" Kernel="4.19" />
+ <Prop Name="ro.lmk.direct_reclaim_pressure" Value="45" Kernel="4.19" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/msm8953/perf/targetconfig.xml b/perf/configs/msm8953/perf/targetconfig.xml
new file mode 100644
index 0000000..a831a3d
--- /dev/null
+++ b/perf/configs/msm8953/perf/targetconfig.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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="msm8953"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="293,304"
+ SynCore="1"
+ MinCoreOnline="0"
+ GovInstanceType="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="4" Type="big" />
+
+ </Config1>
+
+ <Config2>
+
+ <TargetInfo
+ Target="sdm450"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="338,351"
+ SynCore="1"
+ MinCoreOnline="0"
+ GovInstanceType="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="4" Type="big" />
+
+ </Config2>
+ <Config3>
+
+ <TargetInfo
+ Target="sdm632"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="349,350"
+ SynCore="1"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="4" Type="big" />
+
+ </Config3>
+</TargetConfig>
diff --git a/perf/configs/msm8953/perf/targetresourceconfigs.xml b/perf/configs/msm8953/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..6319a1f
--- /dev/null
+++ b/perf/configs/msm8953/perf/targetresourceconfigs.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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 mention the resources which are not supported. -->
+
+<!-- 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 one
+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="0x2" Supported="no" /> <!-- lpm_bias_hyst -->
+ <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev -->
+ <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add -->
+
+ <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task -->
+ <Config MajorValue="0x3" MinorValue="0xF" Supported="no" /> <!-- top-app_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x10" Supported="no" /> <!-- foreground_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x11" Supported="no" /> <!-- system_background_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x12" Supported="no" /> <!-- background_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle -->
+ <Config MajorValue="0x3" MinorValue="0xB" Supported="no" Kernel="4.9" /> <!-- sched_spill_nr_run -->
+ <Config MajorValue="0x3" MinorValue="0xD" Supported="no" Kernel="4.9" /> <!-- sched_restrict_cluster_spill -->
+
+ <!-- For INTERACTIVE major, all the interactive minors are not supported
+ by default as the recent target moved to schedutil. So, for older targets
+ where interactive minors are supported they need to be enabled and schedutil
+ minors are disabled. -->
+ <Config MajorValue="0x5" MinorValue="0x0" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay" /> <!-- above_hispeed_delay -->
+ <Config MajorValue="0x5" MinorValue="0x1" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/boost" /> <!-- boost -->
+ <Config MajorValue="0x5" MinorValue="0x3" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration" /> <!-- boostpulse_duration -->
+ <Config MajorValue="0x5" MinorValue="0x4" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load" /> <!-- go_hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x5" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/hispeed_freq" /> <!-- hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0x6" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/io_is_busy" /> <!-- io_is_busy -->
+ <Config MajorValue="0x5" MinorValue="0x7" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/min_sample_time" /> <!-- min_sample_time -->
+ <Config MajorValue="0x5" MinorValue="0x8" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/target_loads" /> <!-- target_loads -->
+ <Config MajorValue="0x5" MinorValue="0x9" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_rate" /> <!-- timer_rate -->
+ <Config MajorValue="0x5" MinorValue="0xA" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_slack" /> <!-- timer_slack -->
+ <Config MajorValue="0x5" MinorValue="0xB" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/max_freq_hysteresis" /> <!-- max_freq_hysteresis -->
+ <Config MajorValue="0x5" MinorValue="0xC" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/use_sched_load" /> <!-- use_sched_load -->
+ <Config MajorValue="0x5" MinorValue="0xD" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/use_migration_notif" /> <!-- use_migration_notif -->
+ <Config MajorValue="0x5" MinorValue="0xE" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/ignore_hispeed_on_notif " /> <!-- ignore_hispeed_on_notif -->
+ <Config MajorValue="0x5" MinorValue="0xF" Kernel="3.18" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x10" Kernel="3.18" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x11" Kernel="3.18" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0xF" Target="sdm632" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x10" Target="sdm632" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x11" Target="sdm632" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0xF" Target="sdm450" Kernel="4.9" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq" />
+ <Config MajorValue="0x5" MinorValue="0x10" Target="sdm450" Kernel="4.9" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_load" />
+ <Config MajorValue="0x5" MinorValue="0x11" Target="sdm450" Kernel="4.9" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/pl" />
+ <Config MajorValue="0x5" MinorValue="0xF" Target="msm8953" Kernel="4.9" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq" />
+ <Config MajorValue="0x5" MinorValue="0x10" Target="msm8953" Kernel="4.9" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_load" />
+ <Config MajorValue="0x5" MinorValue="0x11" Target="msm8953" Kernel="4.9" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/pl" />
+
+ <!-- cpubw hwmon major start -->
+ <Config MajorValue="0x6" MinorValue="0x0" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq" />
+ <Config MajorValue="0x6" MinorValue="0x1" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/decay_rate" />
+ <Config MajorValue="0x6" MinorValue="0x2" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/io_percent" />
+ <Config MajorValue="0x6" MinorValue="0x4" Kernel="4.19" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Kernel="4.19" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x6" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/max_freq" />
+ <Config MajorValue="0x6" MinorValue="0x7" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/polling_interval" />
+ <Config MajorValue="0x6" MinorValue="0x8" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms" />
+ <Config MajorValue="0x6" MinorValue="0x9" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/idle_mbps" />
+
+ <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate -->
+
+ <Config MajorValue="0xB" MinorValue="0x2" Supported="no" /> <!-- input_boost_freq -->
+
+ <!-- All the minors of LLCBW_HWMON MAJOR are not supported -->
+ <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="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq -->
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/msm8992/msm_irqbalance.conf b/perf/configs/msm8992/msm_irqbalance.conf
new file mode 100644
index 0000000..7f5330a
--- /dev/null
+++ b/perf/configs/msm8992/msm_irqbalance.conf
@@ -0,0 +1,2 @@
+PRIO=1,1,1,1,0,0
+IGNORED_IRQ=20,40,200,203,155,157
diff --git a/perf/configs/msm8992/perf/perf-profile0.conf b/perf/configs/msm8992/perf/perf-profile0.conf
new file mode 100644
index 0000000..0c358e1
--- /dev/null
+++ b/perf/configs/msm8992/perf/perf-profile0.conf
@@ -0,0 +1,2 @@
+[priority] # This profile is reserved for perflock requests
+99
diff --git a/perf/configs/msm8992/perf/perf-profile1.conf b/perf/configs/msm8992/perf/perf-profile1.conf
new file mode 100644
index 0000000..4884b40
--- /dev/null
+++ b/perf/configs/msm8992/perf/perf-profile1.conf
@@ -0,0 +1,5 @@
+[priority]
+120
+
+[files] # Write any value to any file (assumes not handled by locks section)
+1 /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
diff --git a/perf/configs/msm8992/perf/perf-profile2.conf b/perf/configs/msm8992/perf/perf-profile2.conf
new file mode 100644
index 0000000..24b1360
--- /dev/null
+++ b/perf/configs/msm8992/perf/perf-profile2.conf
@@ -0,0 +1,13 @@
+[locks]
+0x1B01 # Interactive io_is_busy
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+0x101 # PM QOS OFF for A57
+
+[files]
+35 /proc/sys/kernel/sched_downmigrate
+55 /proc/sys/kernel/sched_upmigrate
+
+[priority]
+96
+
diff --git a/perf/configs/msm8992/perf/perf-profile3.conf b/perf/configs/msm8992/perf/perf-profile3.conf
new file mode 100644
index 0000000..3699721
--- /dev/null
+++ b/perf/configs/msm8992/perf/perf-profile3.conf
@@ -0,0 +1,14 @@
+[locks]
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+59000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+65 1400000:68 1700000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+1824000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # Single-threaded workload profile for A57s only
+95
+
diff --git a/perf/configs/msm8992/perf/perf-profile4.conf b/perf/configs/msm8992/perf/perf-profile4.conf
new file mode 100644
index 0000000..1e97d50
--- /dev/null
+++ b/perf/configs/msm8992/perf/perf-profile4.conf
@@ -0,0 +1,16 @@
+[locks]
+0x2310 # Lowering the scaling_max_freq on A57 to 1.6GHz
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
+1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # Multi-threaded workload profile for A57s only
+97
+
diff --git a/perf/configs/msm8992/perf/perf-profile5.conf b/perf/configs/msm8992/perf/perf-profile5.conf
new file mode 100644
index 0000000..25830aa
--- /dev/null
+++ b/perf/configs/msm8992/perf/perf-profile5.conf
@@ -0,0 +1,15 @@
+[locks]
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
+1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # 2nd Multi-threaded workload profile for A57s only
+120
+
diff --git a/perf/configs/msm8992/perf/targetconfig.xml b/perf/configs/msm8992/perf/targetconfig.xml
new file mode 100644
index 0000000..04dfc52
--- /dev/null
+++ b/perf/configs/msm8992/perf/targetconfig.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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="msm8992"
+ NumClusters="2"
+ TotalNumCores="6"
+ SocIds="251,252"
+ SynCore="1"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="2" Type="big" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/msm8992/perf/targetresourceconfigs.xml b/perf/configs/msm8992/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..f6cfe80
--- /dev/null
+++ b/perf/configs/msm8992/perf/targetresourceconfigs.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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 mention the resources which are not supported. -->
+
+<!-- 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 one
+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" Node="/sys/module/lpm_levels/system/a57/a57-l2-pc/idle_enabled" /> <!-- pc_idle_enabled -->
+ <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst -->
+ <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev -->
+ <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add -->
+
+ <Config MajorValue="0x3" MinorValue="0x1" Node="/sys/devices/system/cpu/cpu0/sched_prefer_idle" /> <!-- sched_prefer_idle -->
+ <Config MajorValue="0x3" MinorValue="0x4" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_load" /> <!-- sched_mostly_idle_load" -->
+ <Config MajorValue="0x3" MinorValue="0x5" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run" /> <!-- sched_mostly_idle_nr_run -->
+ <Config MajorValue="0x3" MinorValue="0x9" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_freq" /> <!-- sched_mostly_idle_freq -->
+ <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_freq_aggregate -->
+ <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping -->
+ <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggregate_threshold -->
+ <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle -->
+
+ <Config MajorValue="0x4" MinorValue="0x0" Supported="yes" /> <!-- min_cpus -->
+ <Config MajorValue="0x4" MinorValue="0x1" Supported="yes" /> <!-- max_cpus -->
+
+ <!-- For INTERACTIVE major, all the interactive minors are not supported
+ by default as the recent target moved to schedutil. So, for older targets
+ where interactive minors are supported they need to be enabled and schedutil
+ minors are disabled. -->
+ <Config MajorValue="0x5" MinorValue="0x0" Supported="yes" /> <!-- above_hispeed_delay -->
+ <Config MajorValue="0x5" MinorValue="0x1" Supported="yes" /> <!-- boost -->
+ <Config MajorValue="0x5" MinorValue="0x3" Supported="yes" /> <!-- boostpulse_duration -->
+ <Config MajorValue="0x5" MinorValue="0x4" Supported="yes" /> <!-- go_hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x5" Supported="yes" /> <!-- hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0x6" Supported="yes" /> <!-- io_is_busy -->
+ <Config MajorValue="0x5" MinorValue="0x7" Supported="yes" /> <!-- min_sample_time -->
+ <Config MajorValue="0x5" MinorValue="0x8" Supported="yes" /> <!-- target_loads -->
+ <Config MajorValue="0x5" MinorValue="0x9" Supported="yes" /> <!-- timer_rate -->
+ <Config MajorValue="0x5" MinorValue="0xA" Supported="yes" /> <!-- timer_slack -->
+ <Config MajorValue="0x5" MinorValue="0xB" Supported="yes" /> <!-- max_freq_hysteresis -->
+ <Config MajorValue="0x5" MinorValue="0xC" Supported="yes" /> <!-- use_sched_load -->
+ <Config MajorValue="0x5" MinorValue="0xD" Supported="yes" /> <!-- use_migration_notif -->
+ <Config MajorValue="0x5" MinorValue="0xF" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x10" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x11" Supported="no" />
+
+
+
+ <Config MajorValue="0x6" MinorValue="0x0" Node="/sys/class/devfreq/qcom,cpubw.27/min_freq" /> <!-- soc:qcom,cpubw/min_freq -->
+ <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/qcom,cpubw.27/bw_mon/decay_rate" /> <!-- soc:qcom,cpubw/bw_hwmon/decay_rate -->
+ <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/qcom,cpubw.27/bw_mon/io_percent" /> <!-- soc:qcom,cpubw/bw_hwmon/io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x3" Supported="no" /> <!-- cpubw_hwmon_hyst_opt -->
+ <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/low_power_io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/qcom,cpubw.27/max_freq" /> <!-- soc:qcom,cpubw/max_freq -->
+ <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/qcom,cpubw.27/polling_interval" /> <!-- soc:qcom,cpubw/polling_interval -->
+ <Config MajorValue="0x6" MinorValue="0x8" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/sample_ms -->
+ <Config MajorValue="0x6" MinorValue="0x9" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/idle_mbps -->
+
+
+ <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate -->
+
+
+ <Config MajorValue="0xA" MinorValue="0x5" Node="/sys/class/devfreq/qcom,gpubw.19/min_freq" /> <!-- soc:qcom,gpubw/min_freq -->
+ <Config MajorValue="0xA" MinorValue="0x6" Node="/sys/class/devfreq/qcom,gpubw.19/max_freq" /> <!-- soc:qcom,gpubw/max_freq -->
+ <Config MajorValue="0xA" MinorValue="0x7" Supported="no" /> <!-- gpu_disable_gpu_nap -->
+
+
+ <Config MajorValue="0xB" MinorValue="0x3" Supported="no" /> <!-- vm_swap_ratio -->
+ <Config MajorValue="0xB" MinorValue="0x6" Supported="no" /> <!-- enable_process_reclaim -->
+
+ <!-- All the minors of LLCBW_HWMON MAJOR are not supported -->
+ <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="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq -->
+ <Config MajorValue="0xD" MinorValue="0x1" Supported="no" /> <!-- memlat-cpu0/mem_latency/ratio_ceil -->
+ <Config MajorValue="0xD" MinorValue="0x2" Supported="no" /> <!-- memlat-cpu4/mem_latency/ratio_ceil -->
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/msm8994/msm_irqbalance.conf b/perf/configs/msm8994/msm_irqbalance.conf
new file mode 100644
index 0000000..023269c
--- /dev/null
+++ b/perf/configs/msm8994/msm_irqbalance.conf
@@ -0,0 +1,3 @@
+PRIO=1,1,1,1,0,0,0,0
+IGNORED_IRQ=20,40,200,203,155,157
+
diff --git a/perf/configs/msm8994/perf/perf-profile0.conf b/perf/configs/msm8994/perf/perf-profile0.conf
new file mode 100644
index 0000000..0c358e1
--- /dev/null
+++ b/perf/configs/msm8994/perf/perf-profile0.conf
@@ -0,0 +1,2 @@
+[priority] # This profile is reserved for perflock requests
+99
diff --git a/perf/configs/msm8994/perf/perf-profile1.conf b/perf/configs/msm8994/perf/perf-profile1.conf
new file mode 100644
index 0000000..4884b40
--- /dev/null
+++ b/perf/configs/msm8994/perf/perf-profile1.conf
@@ -0,0 +1,5 @@
+[priority]
+120
+
+[files] # Write any value to any file (assumes not handled by locks section)
+1 /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
diff --git a/perf/configs/msm8994/perf/perf-profile2.conf b/perf/configs/msm8994/perf/perf-profile2.conf
new file mode 100644
index 0000000..24b1360
--- /dev/null
+++ b/perf/configs/msm8994/perf/perf-profile2.conf
@@ -0,0 +1,13 @@
+[locks]
+0x1B01 # Interactive io_is_busy
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+0x101 # PM QOS OFF for A57
+
+[files]
+35 /proc/sys/kernel/sched_downmigrate
+55 /proc/sys/kernel/sched_upmigrate
+
+[priority]
+96
+
diff --git a/perf/configs/msm8994/perf/perf-profile3.conf b/perf/configs/msm8994/perf/perf-profile3.conf
new file mode 100644
index 0000000..3699721
--- /dev/null
+++ b/perf/configs/msm8994/perf/perf-profile3.conf
@@ -0,0 +1,14 @@
+[locks]
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+59000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+65 1400000:68 1700000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+1824000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # Single-threaded workload profile for A57s only
+95
+
diff --git a/perf/configs/msm8994/perf/perf-profile4.conf b/perf/configs/msm8994/perf/perf-profile4.conf
new file mode 100644
index 0000000..1e97d50
--- /dev/null
+++ b/perf/configs/msm8994/perf/perf-profile4.conf
@@ -0,0 +1,16 @@
+[locks]
+0x2310 # Lowering the scaling_max_freq on A57 to 1.6GHz
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
+1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # Multi-threaded workload profile for A57s only
+97
+
diff --git a/perf/configs/msm8994/perf/perf-profile5.conf b/perf/configs/msm8994/perf/perf-profile5.conf
new file mode 100644
index 0000000..25830aa
--- /dev/null
+++ b/perf/configs/msm8994/perf/perf-profile5.conf
@@ -0,0 +1,15 @@
+[locks]
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
+1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # 2nd Multi-threaded workload profile for A57s only
+120
+
diff --git a/perf/configs/msm8994/perf/targetconfig.xml b/perf/configs/msm8994/perf/targetconfig.xml
new file mode 100644
index 0000000..82ceca0
--- /dev/null
+++ b/perf/configs/msm8994/perf/targetconfig.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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="msm8994"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="207"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="4" Type="big" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/msm8994/perf/targetresourceconfigs.xml b/perf/configs/msm8994/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..69c6c44
--- /dev/null
+++ b/perf/configs/msm8994/perf/targetresourceconfigs.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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 mention the resources which are not supported. -->
+
+<!-- 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 one
+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" Node="/sys/module/lpm_levels/system/a57/a57-l2-pc/idle_enabled" /> <!-- pc_idle_enabled -->
+ <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst -->
+ <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev -->
+ <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add -->
+
+ <Config MajorValue="0x3" MinorValue="0x1" Node="/sys/devices/system/cpu/cpu0/sched_prefer_idle" /> <!-- sched_prefer_idle -->
+ <Config MajorValue="0x3" MinorValue="0x4" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_load" /> <!-- sched_mostly_idle_load" -->
+ <Config MajorValue="0x3" MinorValue="0x5" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run" /> <!-- sched_mostly_idle_nr_run -->
+ <Config MajorValue="0x3" MinorValue="0x9" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_freq" /> <!-- sched_mostly_idle_freq -->
+ <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_freq_aggregate -->
+ <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping -->
+ <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggregate_threshold -->
+ <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle -->
+
+ <Config MajorValue="0x4" MinorValue="0x0" Supported="yes" /> <!-- min_cpus -->
+ <Config MajorValue="0x4" MinorValue="0x1" Supported="yes" /> <!-- max_cpus -->
+
+ <!-- For INTERACTIVE major, all the interactive minors are not supported
+ by default as the recent target moved to schedutil. So, for older targets
+ where interactive minors are supported they need to be enabled and schedutil
+ minors are disabled. -->
+ <Config MajorValue="0x5" MinorValue="0x0" Supported="yes" /> <!-- above_hispeed_delay -->
+ <Config MajorValue="0x5" MinorValue="0x1" Supported="yes" /> <!-- boost -->
+ <Config MajorValue="0x5" MinorValue="0x3" Supported="yes" /> <!-- boostpulse_duration -->
+ <Config MajorValue="0x5" MinorValue="0x4" Supported="yes" /> <!-- go_hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x5" Supported="yes" /> <!-- hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0x6" Supported="yes" /> <!-- io_is_busy -->
+ <Config MajorValue="0x5" MinorValue="0x7" Supported="yes" /> <!-- min_sample_time -->
+ <Config MajorValue="0x5" MinorValue="0x8" Supported="yes" /> <!-- target_loads -->
+ <Config MajorValue="0x5" MinorValue="0x9" Supported="yes" /> <!-- timer_rate -->
+ <Config MajorValue="0x5" MinorValue="0xA" Supported="yes" /> <!-- timer_slack -->
+ <Config MajorValue="0x5" MinorValue="0xB" Supported="yes" /> <!-- max_freq_hysteresis -->
+ <Config MajorValue="0x5" MinorValue="0xC" Supported="yes" /> <!-- use_sched_load -->
+ <Config MajorValue="0x5" MinorValue="0xD" Supported="yes" /> <!-- use_migration_notif -->
+ <Config MajorValue="0x5" MinorValue="0xF" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x10" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x11" Supported="no" />
+
+
+
+ <Config MajorValue="0x6" MinorValue="0x0" Node="/sys/class/devfreq/qcom,cpubw.32/min_freq" /> <!-- soc:qcom,cpubw/min_freq -->
+ <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/qcom,cpubw.32/bw_mon/decay_rate" /> <!-- soc:qcom,cpubw/bw_hwmon/decay_rate -->
+ <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/qcom,cpubw.32/bw_mon/io_percent" /> <!-- soc:qcom,cpubw/bw_hwmon/io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x3" Supported="no" /> <!-- cpubw_hwmon_hyst_opt -->
+ <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/low_power_io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/qcom,cpubw.32/max_freq" /> <!-- soc:qcom,cpubw/max_freq -->
+ <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/qcom,cpubw.32/polling_interval" /> <!-- soc:qcom,cpubw/polling_interval -->
+ <Config MajorValue="0x6" MinorValue="0x8" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/sample_ms -->
+ <Config MajorValue="0x6" MinorValue="0x9" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/idle_mbps -->
+
+
+ <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate -->
+
+
+ <Config MajorValue="0xA" MinorValue="0x5" Node="/sys/class/devfreq/qcom,gpubw.71/min_freq" /> <!-- soc:qcom,gpubw/min_freq -->
+ <Config MajorValue="0xA" MinorValue="0x6" Node="/sys/class/devfreq/qcom,gpubw.71/max_freq" /> <!-- soc:qcom,gpubw/max_freq -->
+ <Config MajorValue="0xA" MinorValue="0x7" Supported="no" /> <!-- gpu_disable_gpu_nap -->
+
+
+ <Config MajorValue="0xB" MinorValue="0x3" Supported="no" /> <!-- vm_swap_ratio -->
+ <Config MajorValue="0xB" MinorValue="0x6" Supported="no" /> <!-- enable_process_reclaim -->
+
+ <!-- All the minors of LLCBW_HWMON MAJOR are not supported -->
+ <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="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq -->
+ <Config MajorValue="0xD" MinorValue="0x1" Supported="no" /> <!-- memlat-cpu0/mem_latency/ratio_ceil -->
+ <Config MajorValue="0xD" MinorValue="0x2" Supported="no" /> <!-- memlat-cpu4/mem_latency/ratio_ceil -->
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/msm8996/msm_irqbalance.conf b/perf/configs/msm8996/msm_irqbalance.conf
new file mode 100644
index 0000000..294e489
--- /dev/null
+++ b/perf/configs/msm8996/msm_irqbalance.conf
@@ -0,0 +1,2 @@
+PRIO=1,1,0,0
+IGNORED_IRQ=27,62,171
diff --git a/perf/configs/msm8996/perf/perf-profile0.conf b/perf/configs/msm8996/perf/perf-profile0.conf
new file mode 100644
index 0000000..0c358e1
--- /dev/null
+++ b/perf/configs/msm8996/perf/perf-profile0.conf
@@ -0,0 +1,2 @@
+[priority] # This profile is reserved for perflock requests
+99
diff --git a/perf/configs/msm8996/perf/perf-profile1.conf b/perf/configs/msm8996/perf/perf-profile1.conf
new file mode 100644
index 0000000..a7fdfd0
--- /dev/null
+++ b/perf/configs/msm8996/perf/perf-profile1.conf
@@ -0,0 +1,2 @@
+[priority]
+120
diff --git a/perf/configs/msm8996/perf/perf-profile2.conf b/perf/configs/msm8996/perf/perf-profile2.conf
new file mode 100644
index 0000000..814a607
--- /dev/null
+++ b/perf/configs/msm8996/perf/perf-profile2.conf
@@ -0,0 +1,12 @@
+[locks]
+0x1B01 # Interactive io_is_busy
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+0x101 # PM QOS OFF for A57
+
+[files]
+35 /proc/sys/kernel/sched_downmigrate
+55 /proc/sys/kernel/sched_upmigrate
+
+[priority]
+96
diff --git a/perf/configs/msm8996/perf/perf-profile3.conf b/perf/configs/msm8996/perf/perf-profile3.conf
new file mode 100644
index 0000000..29aff25
--- /dev/null
+++ b/perf/configs/msm8996/perf/perf-profile3.conf
@@ -0,0 +1,13 @@
+[locks]
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay
+59000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time
+65 1400000:68 1700000:70 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
+1824000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # Single-threaded workload profile for A57s only
+95
diff --git a/perf/configs/msm8996/perf/perf-profile4.conf b/perf/configs/msm8996/perf/perf-profile4.conf
new file mode 100644
index 0000000..7b7b89e
--- /dev/null
+++ b/perf/configs/msm8996/perf/perf-profile4.conf
@@ -0,0 +1,15 @@
+[locks]
+0x2310 # Lowering the scaling_max_freq on A57 to 1.6GHz
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay
+85 /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load
+1632000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq
+99000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time
+60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # Multi-threaded workload profile for A57s only
+97
diff --git a/perf/configs/msm8996/perf/perf-profile5.conf b/perf/configs/msm8996/perf/perf-profile5.conf
new file mode 100644
index 0000000..7665951
--- /dev/null
+++ b/perf/configs/msm8996/perf/perf-profile5.conf
@@ -0,0 +1,14 @@
+[locks]
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay
+85 /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load
+1632000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq
+99000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time
+60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # 2nd Multi-threaded workload profile for A57s only
+120
diff --git a/perf/configs/msm8996/perf/perf-profile6.conf b/perf/configs/msm8996/perf/perf-profile6.conf
new file mode 100644
index 0000000..0b37a5f
--- /dev/null
+++ b/perf/configs/msm8996/perf/perf-profile6.conf
@@ -0,0 +1,8 @@
+[files]
+2 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms
+1200 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps
+20 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_io_percent
+20 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent
+
+[priority] # Gaming workload profile
+125
diff --git a/perf/configs/msm8996/perf/perfboostsconfig.xml b/perf/configs/msm8996/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..64a99e3
--- /dev/null
+++ b/perf/configs/msm8996/perf/perfboostsconfig.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017 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-->
+ <!-- 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-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8996"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100, 0xFFF, 0x41800000, 140, 0x40400000, 0x1, 0x42C10000, 0x1" />
+
+ <!--app lauch boost (disabling packing)-->
+
+ <!-- Type="2", launch boost for disable packing 1.5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="msm8996"
+ Resources="" />
+
+ <!-- config_enableLaunchBoostv2-->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="false" Timeout="15000" Target="msm8996"
+ Resources="" />
+
+ <!--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-->
+ <!-- SCHEDGROUP resource opcode, value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="msm8996"
+ Resources="0x41800000, 0x33, 0x40800000, 1000, 0x40800100, 1000, 0x40C00000, 0x1,
+ 0x40C28000, 0x1" />
+
+ <!--Horizontal Scroll boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="msm8996"
+ Resources="0x40C00000, 0x1" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="msm8996"
+ Resources="0x40000000, 1" />
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="msm8996"
+ Resources="0x40000000, 0x0" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/msm8996/perf/perfconfigstore.xml b/perf/configs/msm8996/perf/perfconfigstore.xml
new file mode 100644
index 0000000..32b1a3d
--- /dev/null
+++ b/perf/configs/msm8996/perf/perfconfigstore.xml
@@ -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.iop.enable_uxe" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" />
+ <Prop Name="vendor.enable.prefetch" Value="0" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" />
+
+ <!--System Properties -->
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/msm8996/perf/targetconfig.xml b/perf/configs/msm8996/perf/targetconfig.xml
new file mode 100644
index 0000000..9783bf6
--- /dev/null
+++ b/perf/configs/msm8996/perf/targetconfig.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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="msm8996"
+ NumClusters="2"
+ TotalNumCores="4"
+ SocIds="246,291"
+ SynCore="1"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="2" Type="little" />
+ <ClustersInfo Id="1" NumCores="2" Type="big" />
+
+ </Config1>
+
+ <Config2>
+ <!-- For msm8996 Pro target, perfboosts tuning is same as msm8996.
+ So, they share a common target name. -->
+ <TargetInfo
+ Target="msm8996"
+ NumClusters="2"
+ TotalNumCores="4"
+ SocIds="305,312"
+ SynCore="1"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="2" Type="little" MaxFrequency="1593600" />
+ <ClustersInfo Id="1" NumCores="2" Type="big" />
+
+ </Config2>
+
+</TargetConfig>
diff --git a/perf/configs/msm8996/perf/targetresourceconfigs.xml b/perf/configs/msm8996/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..03266aa
--- /dev/null
+++ b/perf/configs/msm8996/perf/targetresourceconfigs.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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 mention the resources which are not supported. -->
+
+<!-- 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 one
+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" Node="/sys/module/lpm_levels/system/perf/perf-l2-fpc/idle_enabled" /> <!-- idle_enabled -->
+ <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst -->
+ <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev -->
+ <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add -->
+
+ <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task -->
+ <Config MajorValue="0x3" MinorValue="0xF" Supported="no" /> <!-- top-app_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x10" Supported="no" /> <!-- foreground_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x11" Supported="no" /> <!-- system_background_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x12" Supported="no" /> <!-- background_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle -->
+
+ <!-- For INTERACTIVE major, all the interactive minors are not supported
+ by default as the recent target moved to schedutil. So, for older targets
+ where interactive minors are supported they need to be enabled and schedutil
+ minors are disabled. -->
+ <Config MajorValue="0x5" MinorValue="0x0" Supported="yes" /> <!-- above_hispeed_delay -->
+ <Config MajorValue="0x5" MinorValue="0x1" Supported="yes" /> <!-- boost -->
+ <Config MajorValue="0x5" MinorValue="0x3" Supported="yes" /> <!-- boostpulse_duration -->
+ <Config MajorValue="0x5" MinorValue="0x4" Supported="yes" /> <!-- go_hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x5" Supported="yes" /> <!-- hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0x6" Supported="yes" /> <!-- io_is_busy -->
+ <Config MajorValue="0x5" MinorValue="0x7" Supported="yes" /> <!-- min_sample_time -->
+ <Config MajorValue="0x5" MinorValue="0x8" Supported="yes" /> <!-- target_loads -->
+ <Config MajorValue="0x5" MinorValue="0x9" Supported="yes" /> <!-- timer_rate -->
+ <Config MajorValue="0x5" MinorValue="0xA" Supported="yes" /> <!-- timer_slack -->
+ <Config MajorValue="0x5" MinorValue="0xB" Supported="yes" /> <!-- max_freq_hysteresis -->
+ <Config MajorValue="0x5" MinorValue="0xC" Supported="yes" /> <!-- use_sched_load -->
+ <Config MajorValue="0x5" MinorValue="0xF" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x10" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x11" Supported="no" />
+
+ <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate -->
+
+ <!-- All the minors of LLCBW_HWMON MAJOR are not supported -->
+ <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="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq -->
+ <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,memlat-cpu2/mem_latency/ratio_ceil"/> <!-- l2_memlat_ratio_ceil_1 -->
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/msm8998/lm/AdaptLaunchFeature.xml b/perf/configs/msm8998/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..f15efc2
--- /dev/null
+++ b/perf/configs/msm8998/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,39 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2017 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+ <Samples>100</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/msm8998/lm/ReferenceFeature.xml b/perf/configs/msm8998/lm/ReferenceFeature.xml
new file mode 100644
index 0000000..a49beb7
--- /dev/null
+++ b/perf/configs/msm8998/lm/ReferenceFeature.xml
@@ -0,0 +1,40 @@
+<!--
+/******************************************************************************
+ @file ReferenceFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2017 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>RefFeature</Name>
+ <Libname>libreffeature.so</Libname>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>RefMeter</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+ <Samples>1</Samples>
+ <Configs>
+ <MyConfig1>Test1</MyConfig1>
+ <MyConfig2>Test2</MyConfig2>
+ </Configs>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/msm8998/msm_irqbalance.conf b/perf/configs/msm8998/msm_irqbalance.conf
new file mode 100644
index 0000000..5f4e6b9
--- /dev/null
+++ b/perf/configs/msm8998/msm_irqbalance.conf
@@ -0,0 +1,3 @@
+PRIO=1,1,1,1,0,0,0,0
+IGNORED_IRQ=19,22,39,200,203
+BLACKLIST_IRQ=446,455,456
diff --git a/perf/configs/msm8998/perf/perf-profile0.conf b/perf/configs/msm8998/perf/perf-profile0.conf
new file mode 100644
index 0000000..0c358e1
--- /dev/null
+++ b/perf/configs/msm8998/perf/perf-profile0.conf
@@ -0,0 +1,2 @@
+[priority] # This profile is reserved for perflock requests
+99
diff --git a/perf/configs/msm8998/perf/perf-profile1.conf b/perf/configs/msm8998/perf/perf-profile1.conf
new file mode 100644
index 0000000..4884b40
--- /dev/null
+++ b/perf/configs/msm8998/perf/perf-profile1.conf
@@ -0,0 +1,5 @@
+[priority]
+120
+
+[files] # Write any value to any file (assumes not handled by locks section)
+1 /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
diff --git a/perf/configs/msm8998/perf/perf-profile2.conf b/perf/configs/msm8998/perf/perf-profile2.conf
new file mode 100644
index 0000000..24b1360
--- /dev/null
+++ b/perf/configs/msm8998/perf/perf-profile2.conf
@@ -0,0 +1,13 @@
+[locks]
+0x1B01 # Interactive io_is_busy
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+0x101 # PM QOS OFF for A57
+
+[files]
+35 /proc/sys/kernel/sched_downmigrate
+55 /proc/sys/kernel/sched_upmigrate
+
+[priority]
+96
+
diff --git a/perf/configs/msm8998/perf/perf-profile3.conf b/perf/configs/msm8998/perf/perf-profile3.conf
new file mode 100644
index 0000000..3699721
--- /dev/null
+++ b/perf/configs/msm8998/perf/perf-profile3.conf
@@ -0,0 +1,14 @@
+[locks]
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+59000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+65 1400000:68 1700000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+1824000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # Single-threaded workload profile for A57s only
+95
+
diff --git a/perf/configs/msm8998/perf/perf-profile4.conf b/perf/configs/msm8998/perf/perf-profile4.conf
new file mode 100644
index 0000000..1e97d50
--- /dev/null
+++ b/perf/configs/msm8998/perf/perf-profile4.conf
@@ -0,0 +1,16 @@
+[locks]
+0x2310 # Lowering the scaling_max_freq on A57 to 1.6GHz
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
+1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # Multi-threaded workload profile for A57s only
+97
+
diff --git a/perf/configs/msm8998/perf/perf-profile5.conf b/perf/configs/msm8998/perf/perf-profile5.conf
new file mode 100644
index 0000000..25830aa
--- /dev/null
+++ b/perf/configs/msm8998/perf/perf-profile5.conf
@@ -0,0 +1,15 @@
+[locks]
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
+1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # 2nd Multi-threaded workload profile for A57s only
+120
+
diff --git a/perf/configs/msm8998/perf/perf-profile6.conf b/perf/configs/msm8998/perf/perf-profile6.conf
new file mode 100644
index 0000000..0b37a5f
--- /dev/null
+++ b/perf/configs/msm8998/perf/perf-profile6.conf
@@ -0,0 +1,8 @@
+[files]
+2 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms
+1200 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps
+20 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_io_percent
+20 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent
+
+[priority] # Gaming workload profile
+125
diff --git a/perf/configs/msm8998/perf/perfboostsconfig.xml b/perf/configs/msm8998/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..1e24ed4
--- /dev/null
+++ b/perf/configs/msm8998/perf/perfboostsconfig.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017 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-->
+ <!-- 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-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8998"
+ Resources="0x40C00000, 0x1, 0x40804000, 0x939, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100, 0xFFF, 0x41800000, 140, 0x40400000, 0x1, 0x42C10000, 0x1" />
+
+ <!--app lauch boost (disabling packing)-->
+
+ <!-- Type="2", launch boost for disable packing 1.5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="msm8998"
+ Resources="" />
+
+ <!-- config_enableLaunchBoostv2-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="msm8998"
+ Resources="0x40C00000, 0x3, 0x40C58000, 0x5A, 0x40C54000, 0x5F" />
+
+ <!-- config_enableLaunchBoostv4-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- MPCTLV3_MIN_ONLINE_CPU_CLUSTER_BIG resource opcode, value-->
+ <!-- MPCTLV3_MIN_ONLINE_CPU_CLUSTER_LITTLE resource opcode, value-->
+ <!-- MPCTLV3_GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_BIG resource opcode, value-->
+ <!-- MPCTLV3_GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_LITTLE resource opcode, value-->
+ <!-- MPCTLV3_HISPEED_FREQ_INTERACTIVE_CLUSTER_BIG resource opcode, value-->
+ <!-- MPCTLV3_HISPEED_FREQ_INTERACTIVE_CLUSTER_LITTLE resource opcode, value-->
+ <!-- SCHED DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED UPMIGRATE resource opcode, value-->
+ <!-- MPCTLV3_L2_MEMLAT_RATIO_CEIL_0 resource opcode, value-->
+ <!-- MPCTLV3_L2_MEMLAT_RATIO_CEIL_1 resource opcode, value-->
+ <!-- MPCTLV3_LPM_LEVELS_REF_STDDEV resource opcode, value-->
+ <!-- MPCTLV3_LPM_LEVELS_TMR_ADD resource opcode, value-->
+
+ <!-- Type="4", Adaptive Launch boost -->
+ <Config
+ Id="0x00001081" Type="4" Enable="true" Timeout="2000" Target="msm8998"
+ Resources="0x40C00000, 0x2,
+ 0x41000000, 0x4, 0x41000100, 0x4,
+ 0x41410000, 0x28, 0x41410100, 0x28,
+ 0x41414000, 0xFFF, 0x41414100, 0xFFF,
+ 0x40C20000, 0x28, 0x40C1C000, 0x32,
+ 0x43404000, 0x2710, 0x43408000, 0x2710,
+ 0x4040C000, 0x1F4, 0x40410000, 0x3E8" />
+
+ <!--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="msm8998"
+ Resources="0x41800000, 0x33, 0x40800000, 1000, 0x40800100, 1000, 0x40C00000, 0x2" />
+
+ <!--Horizontal Scroll boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="msm8998"
+ Resources="0x40C00000, 0x2" />
+
+ <!--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="msm8998"
+ Resources="0x41800000, 0x33, 0x40800000, 1000, 0x40800100, 1000, 0x40C00000, 0x2" />
+
+ <!--PackageInstall 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="", Package Install boost -->
+
+ <Config
+ Id="0x00001088" Enable="true" Target="msm8998"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
+ 0x40800100,0xFFF" />
+
+ <!--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="msm8998"
+ 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="msm8998"
+ Resources="0x40800100, 1000, 0x4280C000, 596" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="msm8998"
+ Resources="0x40000000, 1" />
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="msm8998"
+ Resources="0x40000000, 0x0" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/msm8998/perf/perfconfigstore.xml b/perf/configs/msm8998/perf/perfconfigstore.xml
new file mode 100644
index 0000000..5502861
--- /dev/null
+++ b/perf/configs/msm8998/perf/perfconfigstore.xml
@@ -0,0 +1,35 @@
+<?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.iop.enabled" Value="false" />
+ <Prop Name="vendor.iop.enable_uxe" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" />
+ <Prop Name="vendor.enable.prefetch" Value="0" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" />
+
+ <!--System Properties -->
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/msm8998/perf/targetconfig.xml b/perf/configs/msm8998/perf/targetconfig.xml
new file mode 100644
index 0000000..8d40597
--- /dev/null
+++ b/perf/configs/msm8998/perf/targetconfig.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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.
+ -->
+
+ <Config1>
+
+ <TargetInfo
+ Target="msm8998"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="292,319"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="4" Type="big" MaxFrequency="2361600" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/msm8998/perf/targetresourceconfigs.xml b/perf/configs/msm8998/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..a6f6197
--- /dev/null
+++ b/perf/configs/msm8998/perf/targetresourceconfigs.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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 mention the resources which are not supported. -->
+
+<!-- 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 one
+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="0x2" Supported="no" /> <!-- lpm_bias_hyst -->
+
+ <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task -->
+ <Config MajorValue="0x3" MinorValue="0x19" Supported="no" /> <!-- sched_initial_task_util -->
+ <Config MajorValue="0x3" MinorValue="0x1A" Supported="no" /> <!-- sched_load_boost -->
+
+ <!-- For INTERACTIVE major, all the interactive minors are not supported
+ by default as the recent target moved to schedutil. So, for older targets
+ where interactive minors are supported they need to be enabled and schedutil
+ minors are disabled. -->
+ <Config MajorValue="0x5" MinorValue="0x0" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay" /> <!-- above_hispeed_delay -->
+ <Config MajorValue="0x5" MinorValue="0x1" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/boost" /> <!-- boost -->
+ <Config MajorValue="0x5" MinorValue="0x3" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/boostpulse_duration" /> <!-- boostpulse_duration -->
+ <Config MajorValue="0x5" MinorValue="0x4" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load" /> <!-- go_hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x5" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq" /> <!-- hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0x6" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy" /> <!-- io_is_busy -->
+ <Config MajorValue="0x5" MinorValue="0x7" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time" /> <!-- min_sample_time -->
+ <Config MajorValue="0x5" MinorValue="0x8" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads" /><!-- target_loads -->
+ <Config MajorValue="0x5" MinorValue="0x9" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate" /> <!-- timer_rate -->
+ <Config MajorValue="0x5" MinorValue="0xA" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_slack" /> <!-- timer_slack -->
+ <Config MajorValue="0x5" MinorValue="0xB" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis" /> <!-- max_freq_hysteresis -->
+ <Config MajorValue="0x5" MinorValue="0xC" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load" /> <!-- use_sched_load -->
+ <Config MajorValue="0x5" MinorValue="0xD" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif" /> <!-- use_migration_notif -->
+ <Config MajorValue="0x5" MinorValue="0xE" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/ignore_hispeed_on_notif" /> <!-- ignore_hispeed_on_notif -->
+ <Config MajorValue="0x5" MinorValue="0xF" Supported="no" /> <!-- schedutil/hispeed_freq -->
+ <Config MajorValue="0x5" MinorValue="0x10" Supported="no" /> <!-- schedutil/hispeed_load -->
+ <Config MajorValue="0x5" MinorValue="0x11" Supported="no" /> <!-- schedutil/pl -->
+
+ <Config MajorValue="0xB" MinorValue="0x6" Supported="no" /> <!-- enable_process_reclaim -->
+
+ <!-- All the minors of LLCBW_HWMON MAJOR are not supported -->
+ <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="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq -->
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/msmnile/lm/AdaptLaunchFeature.xml b/perf/configs/msmnile/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..7b562b1
--- /dev/null
+++ b/perf/configs/msmnile/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,46 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>160</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/msmnile/lm/AppClassifierFeature.xml b/perf/configs/msmnile/lm/AppClassifierFeature.xml
new file mode 100644
index 0000000..8128eeb
--- /dev/null
+++ b/perf/configs/msmnile/lm/AppClassifierFeature.xml
@@ -0,0 +1,36 @@
+<!--
+/******************************************************************************
+ @file AppClassifierFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2017-2018 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AppClassifier</Name>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Libname>libappclassifier.so</Libname>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/msmnile/lm/GameOptimizationFeature.xml b/perf/configs/msmnile/lm/GameOptimizationFeature.xml
new file mode 100644
index 0000000..072fd83
--- /dev/null
+++ b/perf/configs/msmnile/lm/GameOptimizationFeature.xml
@@ -0,0 +1,146 @@
+<!--
+/******************************************************************************
+ @file GameOptimizationFeature.xml
+ @brief Game Optimization feature xml
+
+ DESCRIPTION
+ Each feature has an xml file to define the feature components
+
+ ===========================================================================
+ Copyright (c) 2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+
+<Feature>
+ <Name>GameOptimization</Name>
+ <Libname>libgameoptfeature.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ <MIN_DDR_FREQ>1144</MIN_DDR_FREQ>
+ <MAX_MIN_DDR_FREQ>2086</MAX_MIN_DDR_FREQ>
+ </Configs>
+ <Profiles>
+ <Profile>
+ <!-- Default Enable Colocation v3,
+ sched_min_task_util_for_boost 51,
+ sched_min_task_util_for_colocation 35
+ BIG min_cpus 2 -->
+ <DEFAULT>0x40C7C000,51,0x40C78000,35,0x41000000,2</DEFAULT>
+ <!-- For Games disable Colocation v3,
+ sched_min_task_util_for_boost 0,
+ sched_min_task_util_for_colocation 0
+ BIG min_cpus 3 -->
+ <SKEW2>0x40C7C000,0,0x40C78000,0,0x41000000,3</SKEW2>
+ </Profile>
+ </Profiles>
+
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>MinDDR</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+ <Configs>
+ <MEMLAT_FREQ_VOTE_LITTLE_PATH>/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/cur_freq</MEMLAT_FREQ_VOTE_LITTLE_PATH>
+ <MEMLAT_FREQ_VOTE_BIG_PATH>/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/cur_freq</MEMLAT_FREQ_VOTE_BIG_PATH>
+ <MEMLAT_AVAIL_FREQ_LITTLE_PATH>/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/available_frequencies</MEMLAT_AVAIL_FREQ_LITTLE_PATH>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+
+ <Meter>
+ <Name>Fps</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+ <Configs>
+ <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE>
+ <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/msmnile/msm_irqbalance.conf b/perf/configs/msmnile/msm_irqbalance.conf
new file mode 100644
index 0000000..07126e9
--- /dev/null
+++ b/perf/configs/msmnile/msm_irqbalance.conf
@@ -0,0 +1,2 @@
+PRIO=1,1,1,1,0,0,0,0
+IGNORED_IRQ=19,21,39
diff --git a/perf/configs/msmnile/perf/perfboostsconfig.xml b/perf/configs/msmnile/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..63b9628
--- /dev/null
+++ b/perf/configs/msmnile/perf/perfboostsconfig.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017 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-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- LLCCBW resource opcode, value-->
+ <!-- L3 resource opcode, value-->
+ <!-- GPU DISABLE resource opcode, value-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msmnile"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x41800000, 0xFF,
+ 0x40400000, 0x1, 0x42C10000, 0x1, 0x43000000, 0xFF, 0x43400000, 0xFFFF,
+ 0x4281C000, 2000" />
+
+ <!--app lauch boost (disabling packing)-->
+
+ <!-- Type="2", launch boost for disable packing 1.5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="msmnile"
+ Resources="" />
+
+ <!-- config_enableLaunchBoostv2-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED DOWNMIGRATE resource opcode, value -->
+ <!-- SCHED UPMIGRATE resource opcode, value -->
+ <!-- SCHED DOWNMIGRATE PRIME resource opcode, value -->
+ <!-- SCHED UPMIGRATE PRIME resource opcode, value -->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="msmnile"
+ Resources="0x40C00000, 0x3, 0x40C58000, 0x2D, 0x40C54000, 0x41,
+ 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C,
+ 0x40C20200, 0x28, 0x40C1C200, 0x3C" />
+
+ <!-- config_gameBoost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED DOWNMIGRATE resource opcode, value -->
+ <!-- SCHED UPMIGRATE resource opcode, value -->
+ <!-- SCHED DOWNMIGRATE PRIME resource opcode, value -->
+ <!-- SCHED UPMIGRATE PRIME resource opcode, value -->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME 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-->
+ <!-- LLCCBW resource opcode, value-->
+ <!-- L3 resource opcode, value-->
+
+ <!-- Type="4", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="msmnile"
+ Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41,
+ 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C,
+ 0x40C20200, 0x28, 0x40C1C200, 0x3C, 0x42C10000, 0x1,
+ 0x40800200, 0x76C, 0x40800000, 0x76C, 0x40800100, 0x4B0,
+ 0x41800000, 0x50, 0x43000000, 0x3A, 0x43400000, 0x3480" />
+
+ <!-- config_enableLaunchBoost6-->
+ <!-- SLB_BIG, val, SLB_BIG, val, SLB_BIG, val-->
+ <!-- SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val-->
+ <!-- SLB_PRIME, val-->
+ <!-- CPU_DOWN_FREQ_THRESHOLD_US, val us -->
+
+ <!-- Type="6", Game Launch boost -->
+ <Config
+ Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="msmnile"
+ Resources="0x40C68000, 60, 0x40C68010, 60, 0x40C68020, 60,
+ 0x40C68100, 33, 0x40C68110, 33, 0x40C68120, 33, 0x40C68130, 33,
+ 0x40C68200, 60,
+ 0x41448000, 20000 "/>
+
+ <!--Vertical Scroll boost-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="msmnile"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40" />
+
+ <!--Prefling Scroll boost-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+ <!-- TIMEOUT 80ms -->
+ <!-- Type="4", Prefling boost -->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="msmnile"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40" />
+
+ <!--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-->
+
+ <!-- Type="", MTP boost -->
+ <Config
+ Id="0x00001086" Enable="true" Target="msmnile"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800,
+ 0x40800100, 1400" />
+
+ <!--Drag boost-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+
+ <!-- Type="1", Drag boost -->
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="msmnile"
+ Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40" />
+
+ <!--PackageInstall boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value-->
+ <!-- Type="", Package Install boost -->
+
+ <Config
+ Id="0x00001088" Enable="true" Target="msmnile"
+ Resources="0x40C00000, 0x2, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF, 0x40CA0000, 0" />
+
+ <!--Rotation latency boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- Type="", Rotation latency boost -->
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="msmnile"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,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="msmnile"
+ Resources="0x40800100, 1000, 0x42804000, 0" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="msmnile"
+ Resources="0x40000000, 1" />
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="msmnile"
+ Resources="0x40000000, 0x0" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/msmnile/perf/perfconfigstore.xml b/perf/configs/msmnile/perf/perfconfigstore.xml
new file mode 100644
index 0000000..6eb71b9
--- /dev/null
+++ b/perf/configs/msmnile/perf/perfconfigstore.xml
@@ -0,0 +1,35 @@
+<?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.iop.enable_uxe" Value="1" />
+ <Prop Name="vendor.debug.enable.lm" Value="true" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="true" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" />
+ <Prop Name="vendor.enable.prefetch" Value="false" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="false" />
+
+ <!--System Properties -->
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/msmnile/perf/targetconfig.xml b/perf/configs/msmnile/perf/targetconfig.xml
new file mode 100644
index 0000000..0fd3637
--- /dev/null
+++ b/perf/configs/msmnile/perf/targetconfig.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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="msmnile"
+ NumClusters="3"
+ TotalNumCores="8"
+ SocIds="339,361,362,367"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0"
+ CpufreqGov="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="3" Type="big" />
+ <ClustersInfo Id="2" NumCores="1" Type="prime" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/msmnile/perf/targetresourceconfigs.xml b/perf/configs/msmnile/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..ab36af9
--- /dev/null
+++ b/perf/configs/msmnile/perf/targetresourceconfigs.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017 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 -->
+
+ <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent -->
+
+ <Config MajorValue="0x6" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/min_freq" />
+ <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/decay_rate" />
+ <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/io_percent" />
+ <Config MajorValue="0x6" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/low_power_ceil_mbps" />
+ <Config MajorValue="0x6" MinorValue="0x5" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/low_power_io_percent" />
+ <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/max_freq" />
+ <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/polling_interval" />
+ <Config MajorValue="0x6" MinorValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/sample_ms" />
+ <Config MajorValue="0x6" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/idle_mbps" />
+
+ <Config MajorValue="0xB" MinorValue="0x6" Supported="no" /><!-- disable_ppr -->
+
+ <!-- llcbw L3 and DDR major end -->
+ <Config MajorValue="0xC" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/min_freq" />
+ <Config MajorValue="0xC" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/io_percent" />
+ <Config MajorValue="0xC" MinorValue="0x3" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/sample_ms" />
+
+ <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,cpu4-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,cpu4-cpu-l3-lat/mem_latency/stall_floor" />
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/qcs605/lm/AdaptLaunchFeature.xml b/perf/configs/qcs605/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..170c39b
--- /dev/null
+++ b/perf/configs/qcs605/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,47 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2017 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>120</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+ <IgnoredApps>
+ <App>com.king.candycrushsaga</App>
+ <App>com.tencent.tmgp.sgame</App>
+ </IgnoredApps>
+</Feature>
diff --git a/perf/configs/qcs605/msm_irqbalance.conf b/perf/configs/qcs605/msm_irqbalance.conf
new file mode 100644
index 0000000..6990e67
--- /dev/null
+++ b/perf/configs/qcs605/msm_irqbalance.conf
@@ -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,0,0,0,0,0,0
+#arch_timer, arm-pmu, arch_mem_timer
+IGNORED_IRQ=19,21,38
diff --git a/perf/configs/qcs605/perf/perfboostsconfig.xml b/perf/configs/qcs605/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..842cfcf
--- /dev/null
+++ b/perf/configs/qcs605/perf/perfboostsconfig.xml
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017 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="qcs605"
+ Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF,
+ 0x40800000, 1747, 0x40800100, 1516" />
+
+ <!--app lauch boost (disabling packing)-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- CPUBW_MIN_FREQ 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="qcs605"
+ Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x41800000, 59,
+ 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="qcs605"
+ Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" />
+
+ <!-- config_enableLaunchBoostv4-->
+ <!-- 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="4", Adaptive Launch boost -->
+ <Config
+ Id="0x00001081" Type="4" Enable="true" Timeout="2000" Target="qcs605"
+ 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" />
+
+ <!--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="qcs605"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 2208, 0x40800100, 1708" />
+
+ <!--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-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="qcs605"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 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-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="qcs605"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 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-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="4", Pre-Fling boost -->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="qcs605"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 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-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+
+ <!-- Type="", MTP boost -->
+
+ <Config
+ Id="0x00001086" Enable="true" Target="qcs605"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1747,
+ 0x40800100, 1516, 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-->
+ <!-- Type="", Package Install boost -->
+
+ <Config
+ Id="0x00001088" Enable="true" Target="qcs605"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100, 0xFFF" />
+
+ <!--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="qcs605"
+ 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="qcs605"
+ Resources="0x40800100, 1000, 0x4280C000, 596" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="qcs605"
+ Resources="0x40000000, 1" />
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="qcs605"
+ Resources="0x40000000, 0x0" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/qcs605/perf/perfconfigstore.xml b/perf/configs/qcs605/perf/perfconfigstore.xml
new file mode 100644
index 0000000..8188c74
--- /dev/null
+++ b/perf/configs/qcs605/perf/perfconfigstore.xml
@@ -0,0 +1,28 @@
+<?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>
+
+ <!--System Properties -->
+ <Prop Name="vendor.iop.enabled" Value="false" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/qcs605/perf/targetconfig.xml b/perf/configs/qcs605/perf/targetconfig.xml
new file mode 100644
index 0000000..5fc41f5
--- /dev/null
+++ b/perf/configs/qcs605/perf/targetconfig.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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="qcs605"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="347"
+ SynCore="1"
+ CoreCtlCpu="0"
+ MinCoreOnline="0"
+ CpufreqGov="1" />
+
+ <ClustersInfo Id="0" NumCores="6" Type="little" />
+ <ClustersInfo Id="1" NumCores="2" Type="big" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/qcs605/perf/targetresourceconfigs.xml b/perf/configs/qcs605/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..87ae4b0
--- /dev/null
+++ b/perf/configs/qcs605/perf/targetresourceconfigs.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017 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="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent -->
+
+ <!-- All the minors of LLCBW_HWMON major are not supported. -->
+ <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="0xD" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,memlat-cpu6/mem_latency/ratio_ceil"/> <!-- l2_memlat_ratio_ceil_1 -->
+ <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,memlat-cpu6/mem_latency/stall_floor"/> <!-- memlat_stall_floor -->
+ <Config MajorValue="0xD" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,memlat-cpu6/min_freq"/> <!-- memlat_min_freq -->
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/sdm660/msm_irqbalance.conf b/perf/configs/sdm660/msm_irqbalance.conf
new file mode 100644
index 0000000..23c0829
--- /dev/null
+++ b/perf/configs/sdm660/msm_irqbalance.conf
@@ -0,0 +1,3 @@
+PRIO=1,1,0,0,0,0,0,0
+IGNORED_IRQ=19,22,39,200,203
+BLACKLIST_IRQ=446,455,456
diff --git a/perf/configs/sdm660/perf/perfboostsconfig.xml b/perf/configs/sdm660/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..c6538e8
--- /dev/null
+++ b/perf/configs/sdm660/perf/perfboostsconfig.xml
@@ -0,0 +1,475 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017 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-->
+ <!-- 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="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm660"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1747,
+ 0x40800100, 1400" />
+
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm658"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1747,
+ 0x40800100, 1400" />
+
+ <!--sdm630,sdm455 app lauch boost-->
+ <!-- SCHEDBOOST resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- SCHED_SPILL_NR_RUN resource opcode, value -->
+ <!-- SCHED_RESTRICT_CLUSTER_SPILL resource opcode, value -->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm630"
+ Resources="0x40C00000, 0x1, 0x40800000, 1880,
+ 0x40800100, 1720, 0x40C2C000, 1, 0x40C34000, 0" />
+
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm455"
+ Resources="0x40C00000, 0x1, 0x40800000, 1880,
+ 0x40800100, 1720, 0x40C2C000, 1, 0x40C34000, 0" />
+
+ <!--app lauch boost (disabling packing)-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+
+ <!-- Type="2", launch boost for disable packing 1.5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="sdm660"
+ Resources="0x40400000, 0x1, 0x42C10000, 0x1" />
+
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="sdm658"
+ Resources="0x40400000, 0x1, 0x42C10000, 0x1" />
+
+ <!--sdm630,sdm455 app lauch boost (disabling packing)-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+
+ <!-- Type="2", launch boost for disable packing 1.5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="sdm630"
+ Resources="0x40400000, 0x1" />
+
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="sdm455"
+ Resources="0x40400000, 0x1" />
+
+ <!-- config_enableLaunchBoostv3-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm660" Kernel="4.4"
+ Resources="0x40C5C000, 50, 0x40C58000, 95, 0x40C54000, 100" />
+
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm660" Kernel="4.14"
+ Resources="0x40C58000, 95, 0x40C54000, 100" />
+
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm660" Kernel="4.19"
+ Resources="0x40C58000, 95, 0x40C54000, 100" />
+
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm658"
+ Resources="0x40C5C000, 50, 0x40C58000, 95, 0x40C54000, 100" />
+
+ <!--sdm630,sdm455 config_enableLaunchBoostv3-->
+ <!-- SCHED FREQ AGGR THRESHOLD resource opcode, value-->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm630"
+ Resources="0x40C5C000, 80" />
+
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm455"
+ Resources="0x40C5C000, 80" />
+
+ <!--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-->
+ <!-- ABOVE_HISPEED_DELAY_BIG resource opcode, value-->
+ <!-- IO_IS_BUSY_BIG resource opcode, value-->
+ <!-- SCHED FREQ_AGGR_THRH resource opcode,value-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm660" Resolution="1080p" Kernel="4.4"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm660" Resolution="2560" Kernel="4.4"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm658" Resolution="1080p"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm658" Resolution="2560"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" />
+
+ <!--sdm660,K4.14 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-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm660" Resolution="1080p" Kernel="4.14"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm660" Resolution="2560" Kernel="4.14"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, 0x4280C000, 266" />
+
+ <!--sdm660,K4.19 Vertical Scroll boost-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm660" Resolution="1080p" Kernel="4.19"
+ Resources="0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm660" Resolution="2560" Kernel="4.19"
+ Resources="0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, 0x4280C000, 266" />
+
+ <!--sdm630,sdm455 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 -->
+ <!-- SCHED FREQ_AGGR_THRH resource opcode,value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm630"
+ Resources="0x41800000, 0x1C, 0x40800000, 1344, 0x40800100, 600,
+ 0x40C5C000, 80" />
+
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm455"
+ Resources="0x41800000, 0x1C, 0x40800000, 1344, 0x40800100, 600,
+ 0x40C5C000, 80" />
+
+ <!--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-->
+ <!-- ABOVE_HISPEED_DELAY_BIG resource opcode, value-->
+ <!-- IO_IS_BUSY_BIG resource opcode, value-->
+ <!-- SCHED FREQ_AGGR_THRH resource opcode,value-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm660" Resolution="1080p" Kernel="4.4"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" />
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm660" Resolution="2560" Kernel="4.4"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm658" Resolution="1080p"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" />
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm658" Resolution="2560"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" />
+
+ <!--sdm660,K4.14 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-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm660" Resolution="1080p" Kernel="4.14"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm660" Resolution="2560" Kernel="4.14"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, 0x4280C000, 266" />
+
+ <!--sdm660,K4.19 Horizontal Scroll boost-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm660" Resolution="1080p" Kernel="4.19"
+ Resources="0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm660" Resolution="2560" Kernel="4.19"
+ Resources="0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, 0x4280C000, 266" />
+
+ <!--sdm630,sdm455 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 -->
+ <!-- SCHED FREQ_AGGR_THRH resource opcode,value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm630"
+ Resources="0x41800000, 0x1C, 0x40800000, 1344, 0x40800100, 600,
+ 0x40C5C000, 80" />
+
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm455"
+ Resources="0x41800000, 0x1C, 0x40800000, 1344, 0x40800100, 600,
+ 0x40C5C000, 80" />
+
+ <!--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-->
+ <!-- ABOVE_HISPEED_DELAY_BIG resource opcode, value-->
+ <!-- IO_IS_BUSY_BIG resource opcode, value-->
+ <!-- SCHED FREQ_AGGR_THRH resource opcode,value-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="4", Pre-Fling boost -->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm660" Resolution="1080p" Kernel="4.4"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm660" Resolution="2560" Kernel="4.4"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm658" Resolution="1080p"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm658" Resolution="2560"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm630"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm455"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2,
+ 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" />
+
+ <!--sdm660,K4.14 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-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="4", Pre-Fling boost -->
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm660" Resolution="1080p" Kernel="4.14"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm660" Resolution="2560" Kernel="4.14"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, 0x4280C000, 266" />
+
+ <!--sdm660,K4.19 Pre-Fling boost-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="4", Pre-Fling boost -->
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm660" Resolution="1080p" Kernel="4.19"
+ Resources="0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" />
+
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm660" Resolution="2560" Kernel="4.19"
+ Resources="0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, 0x4280C000, 266" />
+
+ <!--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-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+
+ <!-- Type="", MTP boost -->
+
+ <Config
+ Id="0x00001086" Enable="true" Target="sdm660"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800,
+ 0x40800100, 1400, 0x42C10000, 0x1" />
+
+ <Config
+ Id="0x00001086" Enable="true" Target="sdm658"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800,
+ 0x40800100, 1400, 0x42C10000, 0x1" />
+
+ <Config
+ Id="0x00001086" Enable="true" Target="sdm630"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800,
+ 0x40800100, 1400, 0x42C10000, 0x1" />
+
+ <Config
+ Id="0x00001086" Enable="true" Target="sdm455"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800,
+ 0x40800100, 1400, 0x42C10000, 0x1" />
+ <!--PackageInstall 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="", Package Install boost -->
+
+ <Config
+ Id="0x00001088" Enable="true" Target="sdm660"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
+ 0x40800100,0xFFF" />
+ <Config
+ Id="0x00001088" Enable="true" Target="sdm658"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
+ 0x40800100,0xFFF" />
+ <Config
+ Id="0x00001088" Enable="true" Target="sdm630"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
+ 0x40800100,0xFFF" />
+ <Config
+ Id="0x00001088" Enable="true" Target="sdm455"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
+ 0x40800100,0xFFF" />
+
+ <!--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="sdm660"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
+ 0x40800100,0xFFF" />
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="sdm658"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
+ 0x40800100,0xFFF" />
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="sdm630"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
+ 0x40800100,0xFFF" />
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="sdm455"
+ 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="sdm660"
+ Resources="0x40800100, 1000, 0x4280C000, 596" />
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="sdm658"
+ Resources="0x40800100, 1000, 0x4280C000, 596" />
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="sdm630"
+ Resources="0x40800100, 1000, 0x4280C000, 596" />
+ <Config
+ Id="0x00001090" Enable="true" Timeout="1000" Target="sdm455"
+ Resources="0x40800100, 1000, 0x4280C000, 596" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="sdm660"
+ Resources="0x40000000, 1" />
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="sdm658"
+ Resources="0x40000000, 1" />
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="sdm630"
+ Resources="0x40000000, 1" />
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="sdm455"
+ Resources="0x40000000, 1" />
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="sdm660"
+ Resources="0x40000000, 0x0" />
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="sdm658"
+ Resources="0x40000000, 0x0" />
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="sdm630"
+ Resources="0x40000000, 0x0" />
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="sdm455"
+ Resources="0x40000000, 0x0" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/sdm660/perf/perfconfigstore.xml b/perf/configs/sdm660/perf/perfconfigstore.xml
new file mode 100644
index 0000000..140829d
--- /dev/null
+++ b/perf/configs/sdm660/perf/perfconfigstore.xml
@@ -0,0 +1,43 @@
+<?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.iop.enabled" Value="false" />
+ <Prop Name="vendor.iop.enable_uxe" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" />
+ <Prop Name="vendor.enable.prefetch" Value="0" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" />
+
+ <!--System Properties -->
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" Kernel="4.19" />
+ <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" Kernel="4.19" />
+ <Prop Name="ro.lmk.enhance_batch_kill" Value="false" Kernel="4.19" />
+ <Prop Name="ro.lmk.enable_watermark_check" Value="true" Kernel="4.19" />
+ <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" Kernel="4.19" />
+ <Prop Name="ro.lmk.super_critical" Value="606" Kernel="4.19" />
+ <Prop Name="ro.lmk.direct_reclaim_pressure" Value="45" Kernel="4.19" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/sdm660/perf/targetconfig.xml b/perf/configs/sdm660/perf/targetconfig.xml
new file mode 100644
index 0000000..46efa03
--- /dev/null
+++ b/perf/configs/sdm660/perf/targetconfig.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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="sdm660"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="317,324,345,346"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="4" Type="big" />
+
+ </Config1>
+
+ <Config2>
+
+ <TargetInfo
+ Target="sdm630"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="318,327"
+ SynCore="1"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="big" />
+ <ClustersInfo Id="1" NumCores="4" Type="little" />
+
+ </Config2>
+
+ <Config3>
+ <TargetInfo
+ Target="sdm658"
+ NumClusters="2"
+ TotalNumCores="6"
+ SocIds="325,326"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="2" Type="little" />
+ <ClustersInfo Id="1" NumCores="4" Type="big" />
+
+ </Config3>
+
+ <Config4>
+ <TargetInfo
+ Target="sdm455"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="385"
+ SynCore="1"
+ MinCoreOnline="0" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="big" />
+ <ClustersInfo Id="1" NumCores="4" Type="little" />
+
+ </Config4>
+
+</TargetConfig>
diff --git a/perf/configs/sdm660/perf/targetresourceconfigs.xml b/perf/configs/sdm660/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..50cd272
--- /dev/null
+++ b/perf/configs/sdm660/perf/targetresourceconfigs.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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 mention the resources which are not supported. -->
+
+<!-- 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 one
+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="0x2" Kernel="4.4" Supported="no" /> <!-- lpm_bias_hyst -->
+
+ <Config MajorValue="0x1" MinorValue="0x1" Kernel="4.14" Supported="no" /> <!-- perf-l2-pc/idle_enabled -->
+ <Config MajorValue="0x1" MinorValue="0x3" Kernel="4.14" Supported="no" /> <!-- ref_stddev -->
+ <Config MajorValue="0x1" MinorValue="0x4" Kernel="4.14" Supported="no" /> <!-- tmr_add -->
+
+ <Config MajorValue="0x1" MinorValue="0x2" Kernel="4.19" Supported="no" /> <!-- lpm_bias_hyst -->
+ <Config MajorValue="0x1" MinorValue="0x3" Kernel="4.19" Supported="no" /> <!-- lpm_ref_stddev -->
+ <Config MajorValue="0x1" MinorValue="0x4" Kernel="4.19" Supported="no" /> <!-- lpm_tmr_add -->
+
+ <Config MajorValue="0x3" MinorValue="0x2" Kernel="4.14" Supported="no" /> <!-- sched_migration_cost_ns -->
+ <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task -->
+ <Config MajorValue="0x3" MinorValue="0x6" Kernel="4.14" Supported="no" /> <!-- sched_init_task_load -->
+ <Config MajorValue="0x3" MinorValue="0xB" Kernel="4.14" Supported="no" /> <!-- sched_spill_nr_run -->
+ <Config MajorValue="0x3" MinorValue="0xC" Kernel="4.14" Supported="no" /> <!-- sched_static_cpu_pwr_cost -->
+ <Config MajorValue="0x3" MinorValue="0xD" Kernel="4.14" Supported="no" /> <!-- sched_restrict_cluster_spill -->
+ <Config MajorValue="0x3" MinorValue="0x13" Kernel="4.14" Supported="no" /> <!-- sched_freq_aggregate -->
+ <Config MajorValue="0x3" MinorValue="0x14" Kernel="4.14" Supported="no" /> <!-- sched_enable_thread_grouping -->
+ <Config MajorValue="0x3" MinorValue="0x17" Kernel="4.14" Supported="no" /> <!-- sched_freq_aggregate_threshold -->
+ <Config MajorValue="0x3" MinorValue="0x19" Kernel="4.14" Supported="no" /> <!-- sched_initial_task_util -->
+ <Config MajorValue="0x3" MinorValue="0x21" Kernel="4.14" Supported="no" /> <!-- sched_user_hint -->
+ <Config MajorValue="0x3" MinorValue="0x22" Kernel="4.14" Supported="no" /> <!-- sched_task_unfilter_nr_windows -->
+ <Config MajorValue="0x3" MinorValue="0x23" Kernel="4.14" Supported="no" /> <!-- sched_coloc_downmigrate_ns -->
+ <Config MajorValue="0x3" MinorValue="0x24" Kernel="4.14" Supported="no" /> <!-- sched_coloc_busy_hysteresis_enable_cpus -->
+ <Config MajorValue="0x3" MinorValue="0x25" Kernel="4.14" Supported="no" /> <!-- sched_coloc_busy_hyst_ns -->
+ <Config MajorValue="0x3" MinorValue="0x26" Kernel="4.14" Supported="no" /> <!-- sched_window_stats_policy -->
+ <Config MajorValue="0x3" MinorValue="0x29" Kernel="4.14" Supported="no" /> <!-- sched_ravg_window_nr_ticks -->
+
+ <Config MajorValue="0x3" MinorValue="0x6" Kernel="4.19" Supported="no" /> <!-- sched_init_task_load -->
+ <Config MajorValue="0x3" MinorValue="0xB" Kernel="4.19" Supported="no" /> <!-- sched_spill_nr_run -->
+ <Config MajorValue="0x3" MinorValue="0xC" Kernel="4.19" Supported="no" /> <!-- sched_static_cpu_pwr_cost -->
+ <Config MajorValue="0x3" MinorValue="0xD" Kernel="4.19" Supported="no" /> <!-- sched_restrict_cluster_spill -->
+ <Config MajorValue="0x3" MinorValue="0x13" Kernel="4.19" Supported="no" /> <!-- sched_set_freq_aggr -->
+ <Config MajorValue="0x3" MinorValue="0x14" Kernel="4.19" Supported="no" /> <!-- sched_enable_thread_grouping -->
+ <Config MajorValue="0x3" MinorValue="0x17" Kernel="4.19" Supported="no" /> <!-- sched_freq_aggr_threshold -->
+ <Config MajorValue="0x3" MinorValue="0x19" Kernel="4.19" Supported="no" /> <!-- sched_initial_task_util -->
+ <Config MajorValue="0x3" MinorValue="0x21" Kernel="4.19" Supported="no" /> <!-- sched_user_hint -->
+ <Config MajorValue="0x3" MinorValue="0x22" Kernel="4.19" Supported="no" /> <!-- sched_task_unfilter_nr_windows -->
+
+ <!-- For INTERACTIVE major, all the interactive minors are not supported by default as the recent target moved to schedutil.
+ So, for older targets where interactive minors are supported they need to be enabled and schedutil minors are disabled. -->
+ <Config MajorValue="0x5" MinorValue="0x0" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x1" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x3" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x4" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x5" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x6" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x7" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x8" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x9" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0xA" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0xB" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0xC" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0xD" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0xE" Kernel="4.4" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0xF" Kernel="4.4" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x10" Kernel="4.4" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x11" Kernel="4.4" Supported="no" />
+ <Config MajorValue="0x5" MinorValue="0x12" Kernel="4.4" Supported="no" />
+
+ <Config MajorValue="0x5" MinorValue="0xF" Kernel="4.14" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x10" Kernel="4.14" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x11" Kernel="4.14" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x12" Kernel="4.14" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x13" Supported="no" />
+
+ <Config MajorValue="0x5" MinorValue="0xF" Kernel="4.19" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x10" Kernel="4.19" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x11" Kernel="4.19" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x12" Kernel="4.19" Supported="yes" />
+ <Config MajorValue="0x5" MinorValue="0x13" Kernel="4.19" Supported="yes" />
+ <!--All the cpubw_hwmon path are now migrated to new opcodes. Hence unsupporting old ones-->
+ <Config MajorValue="0x6" MinorValue="0x0" Kernel="4.19" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0x1" Kernel="4.19" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0x2" Kernel="4.19" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0x3" Kernel="4.19" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0x4" Kernel="4.19" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0x5" Kernel="4.19" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0x6" Kernel="4.19" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0x7" Kernel="4.19" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0x8" Kernel="4.19" Supported="no" />
+ <Config MajorValue="0x6" MinorValue="0x9" Kernel="4.19" Supported="no" />
+
+ <Config MajorValue="0xB" MinorValue="0x2" Kernel="4.19" Node="/sys/devices/system/cpu/cpu_boost/input_boost_freq" /> <!-- input_boost_freq on kernel 4.19 -->
+
+ <!-- All the minors of LLCBW_HWMON MAJOR are not supported -->
+ <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" Kernel="4.19" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0xC" MinorValue="0xB" Kernel="4.19" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent -->
+
+ <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq -->
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/sdm710/lm/AdaptLaunchFeature.xml b/perf/configs/sdm710/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..170c39b
--- /dev/null
+++ b/perf/configs/sdm710/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,47 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2017 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>120</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+ <IgnoredApps>
+ <App>com.king.candycrushsaga</App>
+ <App>com.tencent.tmgp.sgame</App>
+ </IgnoredApps>
+</Feature>
diff --git a/perf/configs/sdm710/msm_irqbalance.conf b/perf/configs/sdm710/msm_irqbalance.conf
new file mode 100644
index 0000000..0699e4e
--- /dev/null
+++ b/perf/configs/sdm710/msm_irqbalance.conf
@@ -0,0 +1,2 @@
+PRIO=1,1,1,1,0,0,0,0
+IGNORED_IRQ=19,21,38,188
diff --git a/perf/configs/sdm710/perf/perfboostsconfig.xml b/perf/configs/sdm710/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..fb0ab6b
--- /dev/null
+++ b/perf/configs/sdm710/perf/perfboostsconfig.xml
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017 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="sdm710"
+ Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1747,
+ 0x40800100, 1516" />
+
+ <!--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="sdm710"
+ Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x41800000, 59,
+ 0x43000000, 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="sdm710"
+ 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="sdm710"
+ 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="sdm710"
+ 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-->
+ <!-- SLB_BIG, val, SLB_BIG, val-->
+ <!-- SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val -->
+ <!-- CPU_DOWN_FREQ_THRESHOLD_US, val us -->
+
+ <!-- Type="6", Game Launch boost -->
+ <Config
+ Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="sdm710"
+ Resources="0x40C68000, 60, 0x40C68010, 60,
+ 0x40C68100, 33, 0x40C68110, 33, 0x40C68120, 33, 0x40C68130, 33, 0x40C68140, 33, 0x40C68150, 33,
+ 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="sdm710"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 2208, 0x40800100, 1708" />
+
+ <!--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-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm710"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 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-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm710"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 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-->
+ <!-- GPU MIN-FREQUENCY resource opcode,value-->
+
+ <!-- Type="4", Pre-Fling boost -->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm710"
+ Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 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-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+
+ <!-- Type="", MTP boost -->
+
+ <Config
+ Id="0x00001086" Enable="true" Target="sdm710"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1747,
+ 0x40800100, 1516, 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-->
+ <!-- Type="", Package Install boost -->
+
+ <Config
+ Id="0x00001088" Enable="true" Target="sdm710"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100, 0xFFF" />
+
+ <!--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="sdm710"
+ 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="sdm710"
+ Resources="0x40800100, 1000, 0x4280C000, 596" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="sdm710"
+ Resources="0x40000000, 1" />
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="sdm710"
+ Resources="0x40000000, 0x0" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/sdm710/perf/perfconfigstore.xml b/perf/configs/sdm710/perf/perfconfigstore.xml
new file mode 100644
index 0000000..8fc13a8
--- /dev/null
+++ b/perf/configs/sdm710/perf/perfconfigstore.xml
@@ -0,0 +1,37 @@
+<?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.enabled" Value="false" />
+ <Prop Name="vendor.iop.enable_uxe" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="0" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" />
+ <Prop Name="vendor.enable.prefetch" Value="0" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" />
+
+ <!--System Properties -->
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="ro.vendor.iocgrp.config" Value="1" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/sdm710/perf/targetconfig.xml b/perf/configs/sdm710/perf/targetconfig.xml
new file mode 100644
index 0000000..d9b184c
--- /dev/null
+++ b/perf/configs/sdm710/perf/targetconfig.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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="sdm710"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="336,337,360,371,393"
+ SynCore="1"
+ CoreCtlCpu="0"
+ MinCoreOnline="0"
+ CpufreqGov="1" />
+
+ <ClustersInfo Id="0" NumCores="6" Type="little" />
+ <ClustersInfo Id="1" NumCores="2" Type="big" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/sdm710/perf/targetresourceconfigs.xml b/perf/configs/sdm710/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..8d657d7
--- /dev/null
+++ b/perf/configs/sdm710/perf/targetresourceconfigs.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017 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 -->
+
+ <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent -->
+
+ <!-- All the minors of LLCBW_HWMON major are not supported. -->
+ <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="0xD" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,memlat-cpu6/mem_latency/ratio_ceil"/> <!-- l2_memlat_ratio_ceil_1 -->
+ <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,memlat-cpu6/mem_latency/stall_floor"/> <!-- memlat_stall_floor -->
+ <Config MajorValue="0xD" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,memlat-cpu6/min_freq"/> <!-- memlat_min_freq -->
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/sdm845/msm_irqbalance.conf b/perf/configs/sdm845/msm_irqbalance.conf
new file mode 100644
index 0000000..0699e4e
--- /dev/null
+++ b/perf/configs/sdm845/msm_irqbalance.conf
@@ -0,0 +1,2 @@
+PRIO=1,1,1,1,0,0,0,0
+IGNORED_IRQ=19,21,38,188
diff --git a/perf/configs/sdm845/perf/perf-profile0.conf b/perf/configs/sdm845/perf/perf-profile0.conf
new file mode 100644
index 0000000..0c358e1
--- /dev/null
+++ b/perf/configs/sdm845/perf/perf-profile0.conf
@@ -0,0 +1,2 @@
+[priority] # This profile is reserved for perflock requests
+99
diff --git a/perf/configs/sdm845/perf/perf-profile1.conf b/perf/configs/sdm845/perf/perf-profile1.conf
new file mode 100644
index 0000000..4884b40
--- /dev/null
+++ b/perf/configs/sdm845/perf/perf-profile1.conf
@@ -0,0 +1,5 @@
+[priority]
+120
+
+[files] # Write any value to any file (assumes not handled by locks section)
+1 /sys/devices/system/cpu/cpu4/core_ctl/min_cpus
diff --git a/perf/configs/sdm845/perf/perf-profile2.conf b/perf/configs/sdm845/perf/perf-profile2.conf
new file mode 100644
index 0000000..814a607
--- /dev/null
+++ b/perf/configs/sdm845/perf/perf-profile2.conf
@@ -0,0 +1,12 @@
+[locks]
+0x1B01 # Interactive io_is_busy
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+0x101 # PM QOS OFF for A57
+
+[files]
+35 /proc/sys/kernel/sched_downmigrate
+55 /proc/sys/kernel/sched_upmigrate
+
+[priority]
+96
diff --git a/perf/configs/sdm845/perf/perf-profile3.conf b/perf/configs/sdm845/perf/perf-profile3.conf
new file mode 100644
index 0000000..0267058
--- /dev/null
+++ b/perf/configs/sdm845/perf/perf-profile3.conf
@@ -0,0 +1,13 @@
+[locks]
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+59000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+65 1400000:68 1700000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+1824000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # Single-threaded workload profile for A57s only
+95
diff --git a/perf/configs/sdm845/perf/perf-profile4.conf b/perf/configs/sdm845/perf/perf-profile4.conf
new file mode 100644
index 0000000..018f373
--- /dev/null
+++ b/perf/configs/sdm845/perf/perf-profile4.conf
@@ -0,0 +1,15 @@
+[locks]
+0x2310 # Lowering the scaling_max_freq on A57 to 1.6GHz
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
+1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # Multi-threaded workload profile for A57s only
+97
diff --git a/perf/configs/sdm845/perf/perf-profile5.conf b/perf/configs/sdm845/perf/perf-profile5.conf
new file mode 100644
index 0000000..9323c9c
--- /dev/null
+++ b/perf/configs/sdm845/perf/perf-profile5.conf
@@ -0,0 +1,14 @@
+[locks]
+0x4805 # CPUhwmon Decay Rate 5
+0x490A # CPUhwmon io_percent 10
+
+[files]
+19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
+85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
+1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
+99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
+60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
+99 /proc/sys/kernel/sched_init_task_load
+
+[priority] # 2nd Multi-threaded workload profile for A57s only
+120
diff --git a/perf/configs/sdm845/perf/perf-profile6.conf b/perf/configs/sdm845/perf/perf-profile6.conf
new file mode 100644
index 0000000..0b37a5f
--- /dev/null
+++ b/perf/configs/sdm845/perf/perf-profile6.conf
@@ -0,0 +1,8 @@
+[files]
+2 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms
+1200 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps
+20 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_io_percent
+20 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent
+
+[priority] # Gaming workload profile
+125
diff --git a/perf/configs/sdm845/perf/perfboostsconfig.xml b/perf/configs/sdm845/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..fca742f
--- /dev/null
+++ b/perf/configs/sdm845/perf/perfboostsconfig.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017 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-->
+ <!-- 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-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- LLCCBW resource opcode, value-->
+ <!-- L3 resource opcode, value-->
+ <!-- GPU DISABLE resource opcode, value-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm845"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF,
+ 0x40800100, 0xFFF, 0x41800000, 140, 0x40400000, 0x1, 0x42C10000, 0x1,
+ 0x43000000, 0xFF, 0x43400000, 0xFFFF, 0x4281C000, 2000" />
+
+ <!--app lauch boost (disabling packing)-->
+
+ <!-- Type="2", launch boost for disable packing 1.5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="sdm845"
+ Resources="" />
+
+ <!-- config_enableLaunchBoostv2-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED DOWNMIGRATE resource opcode, value -->
+ <!-- SCHED UPMIGRATE resource opcode, value -->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm845"
+ Resources="0x40C00000, 0x3, 0x40C58000, 0x2D, 0x40C54000, 0x41,
+ 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C" />
+
+ <!--Vertical Scroll boost-->
+ <!-- LLCBW_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-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdm845"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40C00000, 0x2,
+ 0x43400000, 0x1F40" />
+
+ <!--Prefling Scroll boost-->
+ <!-- LLCBW_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-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+ <!-- TIMEOUT 80ms -->
+ <!-- Type="4", Prefling boost -->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm845"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40C00000, 0x2,
+ 0x43400000, 0x1F40" />
+
+ <!--Horizontal Scroll boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdm845"
+ Resources="0x40C00000, 0x2" />
+
+ <!--Drag boost-->
+ <!-- LLCBW_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-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+
+ <!-- Type="1", Drag boost -->
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="sdm845"
+ Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40C00000, 0x2,
+ 0x43400000, 0x1F40" />
+
+ <!--PackageInstall 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="", Package Install boost -->
+
+ <Config
+ Id="0x00001088" Enable="true" Target="sdm845"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
+ 0x40800100,0xFFF" />
+
+ <!--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="sdm845"
+ 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="sdm845"
+ Resources="0x40800100, 1000, 0x4280C000, 596" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="sdm845"
+ Resources="0x40000000, 1" />
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="sdm845"
+ Resources="0x40000000, 0x0" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/sdm845/perf/perfconfigstore.xml b/perf/configs/sdm845/perf/perfconfigstore.xml
new file mode 100644
index 0000000..4c00fe1
--- /dev/null
+++ b/perf/configs/sdm845/perf/perfconfigstore.xml
@@ -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.iop.enable_uxe" Value="1" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="true" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" />
+ <Prop Name="vendor.enable.prefetch" Value="false" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="false" />
+
+ <!--System Properties -->
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/sdm845/perf/targetconfig.xml b/perf/configs/sdm845/perf/targetconfig.xml
new file mode 100644
index 0000000..346d258
--- /dev/null
+++ b/perf/configs/sdm845/perf/targetconfig.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-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="sdm845"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="321,341"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0"
+ CpufreqGov="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="4" Type="big" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/sdm845/perf/targetresourceconfigs.xml b/perf/configs/sdm845/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..4dcf3da
--- /dev/null
+++ b/perf/configs/sdm845/perf/targetresourceconfigs.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017 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 -->
+
+ <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent -->
+
+ <Config MajorValue="0xB" MinorValue="0x6" Supported="no" /><!-- disable_ppr -->
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/sdmshrike/perf/perfboostsconfig.xml b/perf/configs/sdmshrike/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..f323393
--- /dev/null
+++ b/perf/configs/sdmshrike/perf/perfboostsconfig.xml
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2019 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-->
+ <!-- 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-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- LLCCBW resource opcode, value-->
+ <!-- L3 resource opcode, value-->
+ <!-- GPU DISABLE resource opcode, value-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdmshrike"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF,
+ 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x41800000, 0xFF,
+ 0x40400000, 0x1, 0x42C10000, 0x1, 0x43000000, 0xFF, 0x43400000, 0xFFFF,
+ 0x4281C000, 2000" />
+
+ <!--app lauch boost (disabling packing)-->
+
+ <!-- Type="2", launch boost for disable packing 1.5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="sdmshrike"
+ Resources="" />
+
+ <!-- config_enableLaunchBoostv2-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED DOWNMIGRATE resource opcode, value -->
+ <!-- SCHED UPMIGRATE resource opcode, value -->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdmshrike"
+ Resources="0x40C00000, 0x3, 0x40C58000, 0x2D, 0x40C54000, 0x41,
+ 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C" />
+
+ <!-- config_gameBoost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED DOWNMIGRATE resource opcode, value -->
+ <!-- SCHED UPMIGRATE resource opcode, value -->
+ <!-- STORAGE CLK SCALING 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-->
+ <!-- LLCCBW resource opcode, value-->
+ <!-- L3 resource opcode, value-->
+
+ <!-- Type="4", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="sdmshrike"
+ Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41,
+ 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C,
+ 0x42C10000, 0x1,0x40800000, 0x76C, 0x40800100, 0x4B0,
+ 0x41800000, 0x50, 0x43000000, 0x3A, 0x43400000, 0x3480" />
+
+ <!--Vertical Scroll boost-->
+ <!-- LLCBW_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-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="sdmshrike"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40" />
+
+ <!--Prefling Scroll boost-->
+ <!-- LLCBW_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-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+ <!-- TIMEOUT 80ms -->
+ <!-- Type="4", Prefling boost -->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdmshrike"
+ Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40" />
+
+ <!--Horizontal Scroll boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+
+ <!-- Type="2", Horizontal Scroll boost -->
+ <Config
+ Id="0x00001080" Type="2" Enable="true" Target="sdmshrike"
+ Resources="0x40C00000, 0x2" />
+
+ <!--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-->
+
+ <!-- Type="", MTP boost -->
+ <Config
+ Id="0x00001086" Enable="true" Target="sdmshrike"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800,
+ 0x40800100, 1400" />
+
+ <!--Drag boost-->
+ <!-- LLCBW_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-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+
+ <!-- Type="1", Drag boost -->
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="sdmshrike"
+ Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000,
+ 0x40C00000, 0x2, 0x43400000, 0x1F40" />
+
+ <!--PackageInstall 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-->
+ <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value-->
+ <!-- Type="", Package Install boost -->
+
+ <Config
+ Id="0x00001088" Enable="true" Target="sdmshrike"
+ Resources="0x40C00000, 0x2, 0x40804000, 0xFFF, 0x40804100, 0xFFF,
+ 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40CA0000, 0" />
+
+ <!--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="sdmshrike"
+ 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="sdmshrike"
+ Resources="0x40800100, 1000, 0x4280C000, 596" />
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/sdmshrike/perf/targetconfig.xml b/perf/configs/sdmshrike/perf/targetconfig.xml
new file mode 100644
index 0000000..ecd6bab
--- /dev/null
+++ b/perf/configs/sdmshrike/perf/targetconfig.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-2019 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="sdmshrike"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="405"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0"
+ CpufreqGov="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="4" Type="big" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/sdmshrike/perf/targetresourceconfigs.xml b/perf/configs/sdmshrike/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..c994f16
--- /dev/null
+++ b/perf/configs/sdmshrike/perf/targetresourceconfigs.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2019 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="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent -->
+
+ <Config MajorValue="0x6" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/min_freq" />
+ <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/decay_rate" />
+ <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/io_percent" />
+ <Config MajorValue="0x6" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/low_power_ceil_mbps" />
+ <Config MajorValue="0x6" MinorValue="0x5" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/low_power_io_percent" />
+ <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/max_freq" />
+ <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/polling_interval" />
+ <Config MajorValue="0x6" MinorValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/sample_ms" />
+ <Config MajorValue="0x6" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/idle_mbps" />
+
+ <Config MajorValue="0xB" MinorValue="0x6" Supported="no" /><!-- disable_ppr -->
+
+ <!-- llcbw L3 and DDR major end -->
+ <Config MajorValue="0xC" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/min_freq" />
+ <Config MajorValue="0xC" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/io_percent" />
+ <Config MajorValue="0xC" MinorValue="0x3" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/sample_ms" />
+
+ <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,cpu4-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,cpu4-cpu-l3-lat/mem_latency/stall_floor" />
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/sm6150/lm/AdaptLaunchFeature.xml b/perf/configs/sm6150/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..e765985
--- /dev/null
+++ b/perf/configs/sm6150/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,46 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2018 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>160</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/sm6150/lm/AppClassifierFeature.xml b/perf/configs/sm6150/lm/AppClassifierFeature.xml
new file mode 100644
index 0000000..8128eeb
--- /dev/null
+++ b/perf/configs/sm6150/lm/AppClassifierFeature.xml
@@ -0,0 +1,36 @@
+<!--
+/******************************************************************************
+ @file AppClassifierFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2017-2018 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AppClassifier</Name>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Libname>libappclassifier.so</Libname>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/sm6150/lm/GameOptimizationFeature.xml b/perf/configs/sm6150/lm/GameOptimizationFeature.xml
new file mode 100644
index 0000000..c9625ba
--- /dev/null
+++ b/perf/configs/sm6150/lm/GameOptimizationFeature.xml
@@ -0,0 +1,140 @@
+<!--
+/******************************************************************************
+ @file GameOptimizationFeature.xml
+ @brief Game Optimization feature xml
+
+ DESCRIPTION
+ Each feature has an xml file to define the feature components
+
+ ===========================================================================
+ Copyright (c) 2017-2018 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+
+<Feature>
+ <Name>GameOptimization</Name>
+ <Libname>libgameoptfeature.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ <MIN_DDR_FREQ>1144</MIN_DDR_FREQ>
+ <MAX_MIN_DDR_FREQ>2086</MAX_MIN_DDR_FREQ>
+ </Configs>
+ <Profiles>
+ <Profile>
+ <!-- Colocation v3 1 GHz, Predictive Load 1 -->
+ <DEFAULT>0x40c6c000,1000000,0x41444000,1</DEFAULT>
+ <!-- Colocation v3 1 GHz, Predictive Load 1 -->
+ <SKEW2>0x40c6c000,1000000,0x41444000,1</SKEW2>
+ </Profile>
+ </Profiles>
+
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>MinDDR</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+ <Configs>
+ <MEMLAT_FREQ_VOTE_LITTLE_PATH>/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/cur_freq</MEMLAT_FREQ_VOTE_LITTLE_PATH>
+ <MEMLAT_FREQ_VOTE_BIG_PATH>/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/cur_freq</MEMLAT_FREQ_VOTE_BIG_PATH>
+ <MEMLAT_AVAIL_FREQ_LITTLE_PATH>/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/available_frequencies</MEMLAT_AVAIL_FREQ_LITTLE_PATH>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+
+ <Meter>
+ <Name>Fps</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+ <Configs>
+ <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE>
+ <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/sm6150/msm_irqbalance.conf b/perf/configs/sm6150/msm_irqbalance.conf
new file mode 100644
index 0000000..df8d5cd
--- /dev/null
+++ b/perf/configs/sm6150/msm_irqbalance.conf
@@ -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,38
diff --git a/perf/configs/sm6150/perf/perfboostsconfig.xml b/perf/configs/sm6150/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..35d1a3d
--- /dev/null
+++ b/perf/configs/sm6150/perf/perfboostsconfig.xml
@@ -0,0 +1,298 @@
+<?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, 1708,
+ 0x40800100, 1497" />
+
+ <!--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-->
+ <!-- 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, 1747,
+ 0x40800100, 1516, 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" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/sm6150/perf/perfconfigstore.xml b/perf/configs/sm6150/perf/perfconfigstore.xml
new file mode 100644
index 0000000..f56b13b
--- /dev/null
+++ b/perf/configs/sm6150/perf/perfconfigstore.xml
@@ -0,0 +1,35 @@
+<?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="1" />
+ <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.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/sm6150/perf/targetconfig.xml b/perf/configs/sm6150/perf/targetconfig.xml
new file mode 100644
index 0000000..62672bf
--- /dev/null
+++ b/perf/configs/sm6150/perf/targetconfig.xml
@@ -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>
diff --git a/perf/configs/sm6150/perf/targetresourceconfigs.xml b/perf/configs/sm6150/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..80ccff9
--- /dev/null
+++ b/perf/configs/sm6150/perf/targetresourceconfigs.xml
@@ -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>
diff --git a/perf/configs/taro/lm/AdaptLaunchFeature.xml b/perf/configs/taro/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..1f7391f
--- /dev/null
+++ b/perf/configs/taro/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,46 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2019-2021 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>300</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/taro/lm/AppClassifierFeature.xml b/perf/configs/taro/lm/AppClassifierFeature.xml
new file mode 100644
index 0000000..1829d2f
--- /dev/null
+++ b/perf/configs/taro/lm/AppClassifierFeature.xml
@@ -0,0 +1,36 @@
+<!--
+/******************************************************************************
+ @file AppClassifierFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2017-2021 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AppClassifier</Name>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Libname>libappclassifier.so</Libname>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/taro/lm/GameOptimizationFeature.xml b/perf/configs/taro/lm/GameOptimizationFeature.xml
new file mode 100644
index 0000000..a326800
--- /dev/null
+++ b/perf/configs/taro/lm/GameOptimizationFeature.xml
@@ -0,0 +1,379 @@
+<!--
+/******************************************************************************
+ @file GameOptimizationFeature.xml
+ @brief Game Optimization feature xml
+
+ DESCRIPTION
+ Each feature has an xml file to define the feature components
+
+ ===========================================================================
+ Copyright (c) 2017-2021 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+
+<Feature>
+ <Name>GameOptimization</Name>
+ <Libname>libgameoptfeature.so</Libname>
+ <Configs target="taro">
+ <Enable>1</Enable>
+ <STATIC_L0>1</STATIC_L0>
+ <AGPE>1</AGPE>
+ <GFAR>1</GFAR>
+ <STUTTER_SCALE>10</STUTTER_SCALE>
+ <PICARD>1</PICARD>
+ <IDLE_SENSE>0</IDLE_SENSE>
+ <THERMAL_MONITOR>1</THERMAL_MONITOR>
+ <THERMAL_MONITOR_RULES>GAME_OPT_TSENS_RULE1,GAME_OPT_TSENS_RULE2,GAME_OPT_TSENS_RULE3</THERMAL_MONITOR_RULES>
+ <!-- AGPE threshold values in the order: Increase, Aggressive Increase, Decrease -->
+ <AGPE_FPS_30_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_30_THRESHOLD>
+ <AGPE_FPS_35_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_35_THRESHOLD>
+ <AGPE_FPS_40_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_40_THRESHOLD>
+ <AGPE_FPS_60_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_60_THRESHOLD>
+ <AGPE_FPS_90_THRESHOLD>2.0, 5.0, 1.0</AGPE_FPS_90_THRESHOLD>
+ <AGPE_FPS_120_THRESHOLD>2.0, 5.0, 1.0</AGPE_FPS_120_THRESHOLD>
+ <AGPE_FPS_144_THRESHOLD>2.0, 5.0, 1.0</AGPE_FPS_144_THRESHOLD>
+ </Configs>
+ <Profiles>
+ <!-- Heavy Game Default -->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, 0, SCHED_MIN_TASK_UTIL_FOR_BOOST, 0 -->
+ <!-- MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_BIG, 19000, MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_LITTLE, 19000 -->
+ <!-- SCHED_GROUP_DOWNMIGRATE, 75, SCHED_GROUP_UPMIGRATE, 90 -->
+ <Profile target="taro">
+ <DEFAULT_PROF>
+ 0x40C78000, 0, 0x40C7C000, 0,
+ 0x41448000, 19000, 0x41448100, 19000,
+ 0x40C58000, 75, 0x40C54000, 90
+ </DEFAULT_PROF>
+ </Profile>
+ <!-- Agressive Profile - Junk detected -->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, 0, SCHED_MIN_TASK_UTIL_FOR_BOOST, 0 -->
+ <!-- MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_BIG, 79000, MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_LITTLE, 79000-->
+ <!-- CPUBW_HWMON_MIN_FREQ, 30, LLCBW_HWMON_MIN_FREQ, 90, L3_MEMLAT_MIN_FREQ, 9000 -->
+ <!-- MIN_FREQ_CLUSTER_PRIME_CORE_0, 1000, MIN_FREQ_CLUSTER_BIG_CORE_0, 1000, MIN_FREQ_CLUSTER_LITTLE_CORE_0, 1000 -->
+ <!-- SCHED_GROUP_DOWNMIGRATE, 65, SCHED_GROUP_UPMIGRATE, 80 -->
+ <!-- TO BE REPLACED: SCHED_BUSY_HYSTERSIS_CPU_MASK, 0xf0, LPM_BIAS_HYST, 99-->
+ <Profile target="taro">
+ <DEFAULT_PROF>
+ 0x40C78000, 0, 0x40C7C000, 0,
+ 0x41448000, 79000, 0x41448100, 79000,
+ 0x41800000, 30, 0x43000000, 90, 0x43400000, 9000,
+ 0x40800200, 1000, 0x40800000, 1000, 0x40800100, 1000,
+ 0x40C58000, 65, 0x40C54000, 80,
+ 0x40C74000, 0xf0, 0x40408000, 99
+ </DEFAULT_PROF>
+ </Profile>
+ <Profile target="taro">
+ <!-- Colocation v3 1 GHz -->
+ <DEFAULT>0x4144C100,1000000</DEFAULT>
+ <!-- Colocation v3 1 GHz -->
+ <SKEW2>0x4144C100,1000000</SKEW2>
+ </Profile>
+ </Profiles>
+
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+
+ <Meter>
+ <Name>Fps</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+
+ <Configs>
+ <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE>
+ <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+
+ <Meter>
+ <Name>SchedParams</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+ <Configs>
+ <SCHEDPARAMS_BIG_NR_RUN_PATH>/sys/kernel/msm_performance/notify/aggr_big_nr</SCHEDPARAMS_BIG_NR_RUN_PATH>
+ <SCHEDPARAMS_AGGR_TOP_LOAD_PATH>/sys/kernel/msm_performance/notify/aggr_top_load</SCHEDPARAMS_AGGR_TOP_LOAD_PATH>
+ <SCHEDPARAMS_REGISTER_SCHED_TRIGGERS>/sys/kernel/msm_performance/parameters/core_ctl_register</SCHEDPARAMS_REGISTER_SCHED_TRIGGERS>
+ <SCHEDPARAMS_CLUSTER_TOP_LOAD_PATH>/sys/kernel/msm_performance/notify/top_load_cluster</SCHEDPARAMS_CLUSTER_TOP_LOAD_PATH>
+ <SCHEDPARAMS_CLUSTER_CURR_CAP_PATH>/sys/kernel/msm_performance/notify/curr_cap_cluster</SCHEDPARAMS_CLUSTER_CURR_CAP_PATH>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+
+ <Meter>
+ <Name>Gpu</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+
+ <Configs>
+ <GPU_AVAILABLE_FREQUENCIES>/sys/class/kgsl/kgsl-3d0/gpu_available_frequencies</GPU_AVAILABLE_FREQUENCIES>
+ <GPU_CLOCK_STATS>/sys/class/kgsl/kgsl-3d0/gpu_clock_stats</GPU_CLOCK_STATS>
+ <GPU_CLK>/sys/class/kgsl/kgsl-3d0/gpuclk</GPU_CLK>
+ <GPU_BUSY_PERCENTAGE>/sys/class/kgsl/kgsl-3d0/gpu_busy_percentage</GPU_BUSY_PERCENTAGE>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+ </Meters>
+ <IgnoredApps target="taro">
+ <App>com.google.android.gms</App>
+ <App>com.android.vending</App>
+ <App>com.google.android.projection.gearhead</App>
+ <App>com.vectorunit.silver.googleplay</App>
+ <App>com.kiloo.subwaysurf</App>
+ <App>com.imangi.templerun2</App>
+ <App>com.ogien.trainsim</App>
+ </IgnoredApps>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_THERMAL_UPDATE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/taro/lm/gPLAFFeature.xml b/perf/configs/taro/lm/gPLAFFeature.xml
new file mode 100644
index 0000000..29dc405
--- /dev/null
+++ b/perf/configs/taro/lm/gPLAFFeature.xml
@@ -0,0 +1,51 @@
+<!--
+/******************************************************************************
+ @file gPLAFFeature.xml
+ @brief Game Peak Load AR Filter(gPLAF) xml
+
+ DESCRIPTION
+ Each feature has an xml file to define the feature components
+
+ ===========================================================================
+ Copyright (c) 2020-2021 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+
+<Feature>
+ <Name>gPLAFFeature</Name>
+ <Libname>libgplaf.so</Libname>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+ </Triggers>
+ <SpuriousHintApps>
+ <App>PermissionGrantActivity</App>
+ </SpuriousHintApps>
+</Feature>
diff --git a/perf/configs/taro/perf/perfboostsconfig.xml b/perf/configs/taro/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..f5e02ab
--- /dev/null
+++ b/perf/configs/taro/perf/perfboostsconfig.xml
@@ -0,0 +1,420 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2017-2021 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-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBW_MAX_FREQ resource opcode, value-->
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- LLCC DDR LAT CPU0 MIN FREQ resource opcode, value-->
+ <!-- L3 resource opcode, value-->
+ <!-- GPU DISABLE resource opcode, value-->
+
+ <!-- Type="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="taro"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x41848000, 0x104410,
+ 0x41844000, 0x104410, 0x40400000, 0x1, 0x42C10000, 0x1, 0x43430100, 0x28C5,
+ 0x43458000, 0x15AE00, 0x4281C000, 2000" />
+
+ <!--app lauch boost (disabling packing)-->
+
+ <!-- Type="2", launch boost for disable packing 1.5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="taro"
+ Resources="" />
+
+ <!-- config_enableLaunchBoostv3-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED_UP_DOWN MIGRATE resource opcode, value -->
+ <!-- SCHED_UP_DOWN_MIGRATE PRIME resource opcode, value -->
+
+ <!-- Type="3", FA launch boost of 15sec -->
+ <Config
+ Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="taro"
+ Resources="0x40C00000, 0x3, 0x40C58000, 0x2D, 0x40C54000, 0x41,
+ 0x40C74000, 0xF0, 0x40408000, 0x63, 0x40CE0000, 0x003C0028,
+ 0x40CE0200, 0x003C0028" />
+
+ <!-- config_gameBoost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- SCHED UP_DOWN_MIGRATE resource opcode, value -->
+ <!-- SCHED UP_DOWN_MIGRATE PRIME resource opcode, value -->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME 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-->
+ <!-- LLCCBW resource opcode, value-->
+ <!-- L3 resource opcode, value-->
+
+ <!-- Type="6", FA launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="taro"
+ Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41,
+ 0x40C74000, 0xF0, 0x40408000, 0x63, 0x40CE0000, 0x003C0028,
+ 0x40CE0200, 0x003C0028, 0x42C10000, 0x1, 0x40800200, 0x76C,
+ 0x40800000, 0x76C, 0x40800100, 0x4B0, 0x41844000, 0x927C0,
+ 0x4303C000, 0x1A0FE0, 0x43458000, 0x15AE00" />
+
+ <!--app launch boost (attach application) -->
+ <!-- SCHED_TASK_BOOST resource opcode, value-->
+ <Config
+ Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="taro"
+ Resources="0x40C80000, 0x0" />
+
+ <!--Animation boost -->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <Config
+ Id="0x00001083" Enable="true" Timeout="400" Target="taro"
+ Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF" />
+
+ <!--Vertical Scroll boost-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- Below additional resources for 120+fps-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_PRIME opcode, value-->
+ <!-- SCHED_UP_DOWN_MIGRATE PRIME resource opcode, value -->
+
+ <!-- Type="1", Vertical Scroll boost -->
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="taro" Fps="60"
+ Resources="0x4303C000, 0xA6428, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="taro" Fps="90"
+ Resources="0x4303C000, 0xA6428, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="taro" Fps="120"
+ Resources="0x4303C000, 0xA6428, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x41000200, 1,
+ 0x40CE0200, 0x0023000A" />
+ <Config
+ Id="0x00001080" Type="1" Enable="true" Target="taro" Fps="144"
+ Resources="0x4303C000, 0xA6428, 0x40800000, 1300, 0x40800100, 1100, 0x40800200, 1300,
+ 0x40C00000, 0x2, 0x43458000, 0x114900, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x41000200, 1,
+ 0x40CE0200, 0x0023000A" />
+
+ <!--Prefling Scroll boost-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- Below additional resources for 120+fps-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_PRIME opcode, value-->
+ <!-- SCHED_UP_DOWN_MIGRATE PRIME resource opcode, value -->
+ <!-- TIMEOUT 80ms -->
+ <!-- Type="4", Prefling boost -->
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="taro" Fps="60"
+ Resources="0x4303C000, 0xA6428, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="taro" Fps="90"
+ Resources="0x4303C000, 0xA6428, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="taro" Fps="120"
+ Resources="0x4303C000, 0xA6428, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x41000200, 1,
+ 0x40CE0200, 0x0023000A" />
+ <Config
+ Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="taro" Fps="144"
+ Resources="0x4303C000, 0xA6428, 0x40800000, 1300, 0x40800100, 1100, 0x40800200, 1300,
+ 0x40C00000, 0x2, 0x43458000, 0x114900, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x41000200, 1,
+ 0x40CE0200, 0x0023000A" />
+
+ <!--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-->
+
+ <!-- Type="", MTP boost -->
+ <Config
+ Id="0x00001086" Enable="true" Target="taro"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800,
+ 0x40800100, 1400" />
+
+ <!--Drag boost-->
+ <!-- LLCBW_MIN_FREQ resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value -->
+ <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value -->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- L3_MEMLAT_MIN_FREQ resource opcode, value -->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value-->
+ <!-- Below additional resources for 120+fps-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value-->
+ <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value-->
+ <!-- MIN_ONLINE_CPU_CLUSTER_PRIME opcode, value-->
+ <!-- SCHED_UP_DOWN_MIGRATE PRIME resource opcode, value -->
+ <!-- Type="1", Drag boost -->
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="taro" Fps="60"
+ Resources="0x4303C000, 0x6E1B8, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="taro" Fps="90"
+ Resources="0x4303C000, 0x6E1B8, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3" />
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="taro" Fps="120"
+ Resources="0x4303C000, 0x6E1B8, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000,
+ 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x41000200, 1,
+ 0x40CE0200, 0x0023000A" />
+ <Config
+ Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="taro" Fps="144"
+ Resources="0x4303C000, 0x6E1B8, 0x40800000, 1300, 0x40800100, 1100, 0x40800200, 1300,
+ 0x40C00000, 0x2, 0x43458000, 0x114900, 0x40C74000, 0xFF, 0x40408000, 0x63,
+ 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x41000200, 1,
+ 0x40CE0200, 0x0023000A" />
+
+ <!--PackageInstall boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value-->
+ <!-- Type="", Package Install boost -->
+
+ <Config
+ Id="0x00001088" Enable="true" Target="taro"
+ Resources="0x40C00000, 0x2, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200, 0xFFF, 0x40CA0000, 0" />
+
+ <!--Rotation latency boost-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- Type="", Rotation latency boost -->
+
+ <Config
+ Id="0x00001089" Enable="true" Timeout="1500" Target="taro"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF,
+ 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,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="taro"
+ Resources="0x40800100, 1000, 0x42804000, 0" />
+
+ <!--Performance mode-->
+ <!-- UCLAMP_BOOST -->
+ <!-- SCHED_WINDOW_TICKS_UPDATE -->
+ <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM_BIAS_HYST resource opcode, value-->
+ <!-- DISABLE_PASR, value-->
+ <!-- Type="", Performance mode -->
+ <Config
+ Id="0x00001091" Enable="true" Target="taro"
+ Resources="0x40CAC000, 20, 0x40CA4000, 2, 0x40800000, 1555, 0x40800100, 800, 0x40800200, 1670,
+ 0x40C74000, 0xFF, 0x40408000, 0x63, 0x42C1C000, 1" />
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="taro"
+ Resources="0x40000000, 1" />
+
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="taro"
+ Resources="0x40000000, 0x0" />
+
+ <!--FPS Update from Framework-->
+ <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
+ <!-- Below additional resources for 120fps, 144fps-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- 144Hz only: CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- Type indicates FPS -->
+ <!-- 30fps -->
+ <Config
+ Id="0x00001094" Type="30" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 8" />
+ <!-- 45fps -->
+ <Config
+ Id="0x00001094" Type="45" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 5" />
+ <!-- 60fps -->
+ <Config
+ Id="0x00001094" Type="60" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 4" />
+ <!-- 90fps -->
+ <Config
+ Id="0x00001094" Type="90" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 3" />
+ <!-- 120fps -->
+ <Config
+ Id="0x00001094" Type="120" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 2, 0x40C74000, 15, 0x40408000, 3, 0x40CC8000, 119" />
+ <!-- 144fps -->
+ <Config
+ Id="0x00001094" Type="144" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 2, 0x40C74000, 15, 0x40408000, 3, 0x40800100, 800,
+ 0x40CC8000, 119" />
+ <!-- 180fps -->
+ <Config
+ Id="0x00001094" Type="180" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 2" />
+ <!-- 240fps -->
+ <Config
+ Id="0x00001094" Type="240" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 2" />
+
+ <!--FPS Immediate Update from within Perfd-->
+ <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value -->
+ <!-- Below additional resources for 120fps, 144fps-->
+ <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+ <!-- 144Hz only: CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value-->
+ <!-- Type indicates FPS -->
+ <!-- 30fps -->
+ <Config
+ Id="0x0000109B" Type="30" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 8" />
+ <!-- 45fps -->
+ <Config
+ Id="0x0000109B" Type="45" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 5" />
+ <!-- 60fps -->
+ <Config
+ Id="0x0000109B" Type="60" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 4" />
+ <!-- 90fps -->
+ <Config
+ Id="0x0000109B" Type="90" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 3" />
+ <!-- 120fps -->
+ <Config
+ Id="0x0000109B" Type="120" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 2, 0x40C74000, 15, 0x40408000, 3" />
+ <!-- 144fps -->
+ <Config
+ Id="0x0000109B" Type="144" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 2, 0x40C74000, 15, 0x40408000, 3, 0x40800100, 800" />
+ <!-- 180fps -->
+ <Config
+ Id="0x0000109B" Type="180" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 2" />
+ <!-- 240fps -->
+ <Config
+ Id="0x0000109B" Type="240" Enable="true" Target="taro" Timeout="0"
+ Resources="0x40CA4000, 2" />
+
+ <!-- PiCard Early Wakeup both GPU and Display -->
+ <!-- GPU DISABLE resource opcode, value-->
+ <!-- DISPLAY EARLY WAKEUP opcode, value-->
+ <Config
+ Id="0x00001098" Type="0" Enable="true" Target="taro" Timeout="2000"
+ Resources="0x4281C000, 32, 0x41C0C000, 0" />
+
+ <!-- PiCard Early Wakeup GPU only -->
+ <!-- GPU DISABLE resource opcode, value-->
+ <Config
+ Id="0x00001099" Type="0" Enable="true" Target="taro" Timeout="2000"
+ Resources="0x4281C000, 32" />
+
+ <!-- PiCard Early Wakeup Display only -->
+ <!-- DISPLAY EARLY WAKEUP opcode, value-->
+ <Config
+ Id="0x0000109A" Type="0" Enable="true" Target="taro" Timeout="2000"
+ Resources="0x41C0C000, 0" />
+
+ <!--Large Comp HInt -->
+ <!-- CPU min freq resource opcode, value -->
+ <!-- GPU MIN_FREQUENCY resource opcode,value -->
+ <!-- PID Affine opcode,value -->
+ <Config
+ Id="0x00001097" Type="0" Enable="true" Timeout="9" Target="taro" Fps="120"
+ Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" />
+
+ <Config
+ Id="0x00001097" Type="0" Enable="true" Timeout="7" Target="taro" Fps="144"
+ Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" />
+
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/taro/perf/perfconfigstore.xml b/perf/configs/taro/perf/perfconfigstore.xml
new file mode 100644
index 0000000..f1a663e
--- /dev/null
+++ b/perf/configs/taro/perf/perfconfigstore.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2019-2021 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. -->
+
+<!--__________________________________Example format_______________________________________________
+<Prop Name="vendor.debug.enable.lm" Value="true" Target="lagoon" Variant="lito" Resolution="1080p"
+ Ram="3" Kernel="4.19"/>
+ Target: target code name (decided based on soc id, doesn't depend on lunch combo name)
+ ex: lito, lagoon, kona, etc
+ Variant: For Variants of Target go/32bit/64bit/nongo, examples below
+ Variant=bengal_32go -> bengal 32 bit go target
+ Variant=bengal_32 -> bengal 32 bit target
+ Variant=bengal -> bengal 64 bit target
+ Resolution="1080p", "2560", "720p", "HD+"
+ Kernel: kernel version, examples: "4.19", "5.4", etc
+ Ram: ram size in GB, examples: "1","2","3","4","6","8","10","12" (12 for target with >= 12GB of RAM as well)
+_______________________________________________________________________________________________ -->
+
+<PerfConfigsStore>
+ <PerfConfigs>
+
+ <!--Vendor Properties -->
+ <Prop Name="vendor.iop.enable_uxe" Value="1" />
+ <Prop Name="vendor.debug.enable.lm" Value="true" />
+ <Prop Name="vendor.perf.iop_v3.enable" Value="true" Target="taro" />
+ <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" />
+ <Prop Name="vendor.enable.prefetch" Value="false" />
+ <Prop Name="vendor.iop.enable_prefetch_ofr" Value="false" />
+ <Prop Name="vendor.iop.enable_speed" Value="true" />
+ <Prop Name="vendor.perf.fps_switch_hyst_time_secs" Value="10" />
+ <Prop Name="ro.vendor.perf.enable.prekill" Value="false" Target="taro" />
+
+ <!--System Properties -->
+ <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" />
+ <Prop Name="ro.lmk.kill_timeout_ms_dup" Value="100" />
+ <Prop Name="ro.lmk.thrashing_threshold" Value="30" />
+ <Prop Name="ro.lmk.thrashing_decay" Value="5" />
+ <Prop Name="ro.lmk.nstrat_low_swap" Value="10" />
+ <Prop Name="ro.lmk.nstrat_psi_partial_ms" Value="70" />
+ <Prop Name="ro.lmk.nstrat_psi_complete_ms" Value="70" />
+ <Prop Name="ro.lmk.psi_scrit_complete_stall_ms" Value="75" />
+ <Prop Name="ro.lmk.nstrat_wmark_boost_factor" Value="4" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="96" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="vendor.perf.performancemode.support" Value="true" Target="taro" />
+ <Prop Name="ro.lmk.enable_preferred_apps" Value="true" />
+ <Prop Name="vendor.appcompact.enable_app_compact" Value="true" />
+ <Prop Name="vendor.appcompact.full_compact_type" Value="2" />
+ <Prop Name="vendor.appcompact.some_compact_type" Value="2" />
+ <Prop Name="vendor.appcompact.compact_throttle_somesome" Value="5000" />
+ <Prop Name="vendor.appcompact.compact_throttle_somefull" Value="10000" />
+ <Prop Name="vendor.appcompact.compact_throttle_fullsome" Value="500" />
+ <Prop Name="vendor.appcompact.compact_throttle_fullfull" Value="10000" />
+ <Prop Name="vendor.appcompact.compact_throttle_bfgs" Value="600000" />
+ <Prop Name="vendor.appcompact.compact_throttle_persistent" Value="600000" />
+ <Prop Name="vendor.appcompact.rss_throttle_kb" Value="12000" />
+ <Prop Name="vendor.appcompact.delta_rss_throttle_kb" Value="8000" />
+ <Prop Name="vendor.perf.topAppRenderThreadBoost.enable" Value="false" Target="taro" />
+ <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" />
+ <Prop Name="vendor.perf.phr.enable" Value="1" Target="taro"/>
+ <Prop Name="vendor.perf.phr.hr_min_rate" Value="0.5" Target="taro"/>
+ <Prop Name="vendor.perf.pfar2.enable" Value="1" Target="taro"/>
+ <Prop Name="vendor.perf.pfar2.boost_level" Value="1" Target="taro"/>
+ <Prop Name="vendor.perf.pfar2.disable_pl" Value="1" Target="taro"/>
+ <Prop Name="vendor.perf.pfar2.disable_core_ctl" Value="1" Target="taro"/>
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/taro/perf/targetconfig.xml b/perf/configs/taro/perf/targetconfig.xml
new file mode 100644
index 0000000..a644d50
--- /dev/null
+++ b/perf/configs/taro/perf/targetconfig.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-2021 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="taro"
+ NumClusters="3"
+ TotalNumCores="8"
+ SocIds="457"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0"
+ CpufreqGov="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="3" Type="big" />
+ <ClustersInfo Id="2" NumCores="1" Type="prime" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/taro/perf/targetresourceconfigs.xml b/perf/configs/taro/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..66dc384
--- /dev/null
+++ b/perf/configs/taro/perf/targetresourceconfigs.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2017-2021 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="0x1" MinorValue="0x2" Node="/proc/sys/walt/sched_busy_hyst_ns" />
+ <Config MajorValue="0x2" MinorValue="0x0" Node="/sys/kernel/msm_performance/parameters/cpu_min_freq" /> <!-- cpu_min_freq -->
+ <Config MajorValue="0x2" MinorValue="0x1" Node="/sys/kernel/msm_performance/parameters/cpu_max_freq" /> <!-- cpu_max_freq -->
+ <Config MajorValue="0x3" MinorValue="0x0" Node="/proc/sys/walt/sched_boost" />
+ <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task -->
+ <Config MajorValue="0x3" MinorValue="0x6" Node="/proc/sys/walt/sched_init_task_load" />
+ <Config MajorValue="0x3" MinorValue="0x7" Supported="no" /> <!-- sched_upmigrate -->
+ <Config MajorValue="0x3" MinorValue="0x8" Supported="no" /> <!-- sched_downmigrate -->
+ <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="0x15" Node="/proc/sys/walt/sched_group_upmigrate" />
+ <Config MajorValue="0x3" MinorValue="0x16" Node="/proc/sys/walt/sched_group_downmigrate" />
+ <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold -->
+ <Config MajorValue="0x3" MinorValue="0x1D" Node="/proc/sys/walt/sched_busy_hysteresis_enable_cpus" />
+ <Config MajorValue="0x3" MinorValue="0x1E" Node="/proc/sys/walt/sched_min_task_util_for_colocation" />
+ <Config MajorValue="0x3" MinorValue="0x1F" Node="/proc/sys/walt/sched_min_task_util_for_boost" />
+ <Config MajorValue="0x3" MinorValue="0x21" Node="/proc/sys/walt/sched_user_hint" />
+ <Config MajorValue="0x3" MinorValue="0x23" Node="/proc/sys/walt/sched_coloc_downmigrate_ns" />
+ <Config MajorValue="0x3" MinorValue="0x24" Node="/proc/sys/walt/sched_coloc_busy_hysteresis_enable_cpus" />
+ <Config MajorValue="0x3" MinorValue="0x26" Node="/proc/sys/walt/sched_window_stats_policy" />
+ <Config MajorValue="0x3" MinorValue="0x27" Node="/proc/sys/walt/sched_many_wakeup_threshold" />
+ <Config MajorValue="0x3" MinorValue="0x29" Node="/proc/sys/walt/sched_ravg_window_nr_ticks" />
+ <Config MajorValue="0x3" MinorValue="0x2A" Supported="no" /> <!-- sched_prefer_spread -->
+ <Config MajorValue="0x3" MinorValue="0x32" Node="/proc/sys/walt/walt_rtg_cfs_boost_prio" />
+ <Config MajorValue="0x3" MinorValue="0x33" Node="/proc/sys/walt/sched_force_lb_enable" />
+ <Config MajorValue="0x3" MinorValue="0x36" Node="/proc/sys/walt/walt_low_latency_task_threshold " />
+ <Config MajorValue="0x3" MinorValue="0x37" Supported="no" /> <!-- Enabled till Kernel 4.19 -->
+ <Config MajorValue="0x3" MinorValue="0x38" Node="/proc/sys/walt/%s" Supported="yes"/>
+ <Config MajorValue="0x3" MinorValue="0x39" Supported="no" /> <!-- Enabled till Kernel 4.19 -->
+
+ <Config MajorValue="0x6" MinorValue="0x0" Supported="no" Target="taro" />
+ <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/decay_rate" Target="taro" />
+ <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/io_percent" Target="taro" />
+ <Config MajorValue="0x6" MinorValue="0x4" Supported="no" Target="taro" />
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" Target="taro" />
+ <Config MajorValue="0x6" MinorValue="0x6" Supported="no" Target="taro" />
+ <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/window_ms" Target="taro" />
+ <Config MajorValue="0x6" MinorValue="0x8" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/sample_ms" Target="taro" />
+ <Config MajorValue="0x6" MinorValue="0x9" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/idle_mbps" Target="taro" />
+ <Config MajorValue="0x6" MinorValue="0xB" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/up_scale" Target="taro" />
+ <Config MajorValue="0x6" MinorValue="0x11" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/min_freq" Target="taro" />
+ <Config MajorValue="0x6" MinorValue="0x12" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/max_freq" Target="taro" />
+
+ <Config MajorValue="0xB" MinorValue="0x2" Node="/proc/sys/walt/input_boost/input_boost_freq" />
+ <Config MajorValue="0xB" MinorValue="0x6" Supported="no" Target="taro" /><!-- disable_ppr -->
+
+ <!-- llcbw L3 and DDR major end -->
+ <Config MajorValue="0xC" MinorValue="0x0" Supported="no" Target="taro" />
+ <Config MajorValue="0xC" MinorValue="0x1" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/io_percent" Target="taro" />
+ <Config MajorValue="0xC" MinorValue="0x3" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/sample_ms" Target="taro" />
+ <Config MajorValue="0xC" MinorValue="0x5" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/up_scale" Target="taro" />
+ <Config MajorValue="0xC" MinorValue="0x6" Supported="no" Target="taro" />
+ <Config MajorValue="0xC" MinorValue="0x7" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/decay_rate" Target="taro" />
+ <Config MajorValue="0xC" MinorValue="0xA" Supported="no" Target="taro" />
+ <Config MajorValue="0xC" MinorValue="0xB" Supported="no" Target="taro" />
+ <Config MajorValue="0xC" MinorValue="0xC" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/window_ms" Target="taro" />
+ <Config MajorValue="0xC" MinorValue="0xE" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/idle_mbps" Target="taro" />
+ <Config MajorValue="0xC" MinorValue="0xF" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/min_freq" Target="taro" />
+ <Config MajorValue="0xC" MinorValue="0x10" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/max_freq" Target="taro" />
+
+ <Config MajorValue="0xD" MinorValue="0x0" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/devices/system/cpu/bus_dcvs/L3/soc:qcom,memlat:l3:silver/ipm_ceil" />
+ <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/devices/system/cpu/bus_dcvs/L3/soc:qcom,memlat:l3:gold/ipm_ceil" />
+ <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/devices/system/cpu/bus_dcvs/L3/soc:qcom,memlat:l3:silver/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/devices/system/cpu/bus_dcvs/L3/soc:qcom,memlat:l3:gold/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0x5" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x6" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x7" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x8" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/soc:qcom,memlat:llcc:silver/ipm_ceil" />
+ <Config MajorValue="0xD" MinorValue="0x9" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/soc:qcom,memlat:llcc:gold/ipm_ceil" />
+ <Config MajorValue="0xD" MinorValue="0xA" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/soc:qcom,memlat:llcc:silver/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0xB" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/soc:qcom,memlat:llcc:gold/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0xC" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0xD" Node="/sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:silver/ipm_ceil" />
+ <Config MajorValue="0xD" MinorValue="0xE" Node="/sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:gold/ipm_ceil" />
+ <Config MajorValue="0xD" MinorValue="0xF" Node="/sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:silver/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0x10" Node="/sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:gold/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0x16" Node="/sys/devices/system/cpu/bus_dcvs/L3/soc:qcom,memlat:l3:prime/min_freq" />
+ <Config MajorValue="0xD" MinorValue="0x17" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/soc:qcom,memlat:llcc:silver/min_freq" />
+ <Config MajorValue="0xD" MinorValue="0x18" Node="/sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:silver/min_freq" />
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/configs/taro/perf/targetsysnodesconfigs.xml b/perf/configs/taro/perf/targetsysnodesconfigs.xml
new file mode 100644
index 0000000..7827aa5
--- /dev/null
+++ b/perf/configs/taro/perf/targetsysnodesconfigs.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2021 Qualcomm Technologies, Inc.
+ * All Rights Reserved.
+ * Confidential and Proprietary - Qualcomm Technologies, Inc.
+ */
+-->
+
+<ResourceConfigs>
+ <PerfResources>
+ <SysNode Idx="0x2" Node="/sys/kernel/msm_performance/parameters/cpu_max_freq" />
+ <SysNode Idx="0x3" Node="/sys/kernel/msm_performance/events/cpu_hotplug" />
+ <SysNode Idx="0x5" Node="/sys/kernel/msm_performance/parameters/inst" />
+ <SysNode Idx="0x6" Node="/sys/kernel/msm_performance/parameters/splh_notif" />
+ <SysNode Idx="0x7" Node="/sys/kernel/msm_performance/notify/gfx_evt" />
+ <SysNode Idx="0x8" Node="/sys/kernel/msm_performance/parameters/evnt_gplaf_pid" />
+ </PerfResources>
+</ResourceConfigs> \ No newline at end of file
diff --git a/perf/configs/trinket/lm/AdaptLaunchFeature.xml b/perf/configs/trinket/lm/AdaptLaunchFeature.xml
new file mode 100644
index 0000000..7b562b1
--- /dev/null
+++ b/perf/configs/trinket/lm/AdaptLaunchFeature.xml
@@ -0,0 +1,46 @@
+<!--
+/******************************************************************************
+ @file AdaptLaunchFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AdaptLaunch</Name>
+ <Libname>libadaptlaunch.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>VmRss</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ <Trigger>
+ <Primary>false</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ </Trigger>
+ </Triggers>
+ <Samples>160</Samples>
+ <Fields>
+ <Field>VmRss:</Field>
+ </Fields>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/trinket/lm/AppClassifierFeature.xml b/perf/configs/trinket/lm/AppClassifierFeature.xml
new file mode 100644
index 0000000..934e8b6
--- /dev/null
+++ b/perf/configs/trinket/lm/AppClassifierFeature.xml
@@ -0,0 +1,36 @@
+<!--
+/******************************************************************************
+ @file AppClassifierFeature.xml
+ @brief Implementation of Android Framework Learning Module
+
+ DESCRIPTION
+ Each feature has an xml file to define the components
+
+ ===========================================================================
+ Copyright (c) 2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+<Feature>
+ <Name>AppClassifier</Name>
+ <Configs>
+ <Enable>1</Enable>
+ </Configs>
+ <Libname>libappclassifier.so</Libname>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ </Trigger>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+ </Triggers>
+</Feature>
diff --git a/perf/configs/trinket/lm/GameOptimizationFeature.xml b/perf/configs/trinket/lm/GameOptimizationFeature.xml
new file mode 100644
index 0000000..ec99353
--- /dev/null
+++ b/perf/configs/trinket/lm/GameOptimizationFeature.xml
@@ -0,0 +1,135 @@
+<!--
+/******************************************************************************
+ @file GameOptimizationFeature.xml
+ @brief Game Optimization feature xml
+
+ DESCRIPTION
+ Each feature has an xml file to define the feature components
+
+ ===========================================================================
+ Copyright (c) 2019 Qualcomm Technologies, Inc.
+ All Rights Reserved.
+ Confidential and Proprietary - Qualcomm Technologies, Inc.
+ ===========================================================================
+******************************************************************************/
+-->
+<!--
+ Follows "Data goes into elements, metadata goes into attributes"
+ -->
+
+<Feature>
+ <Name>GameOptimization</Name>
+ <Libname>libgameoptfeature.so</Libname>
+ <Configs>
+ <Enable>1</Enable>
+ <MIN_DDR_FREQ>1144</MIN_DDR_FREQ>
+ <MAX_MIN_DDR_FREQ>2086</MAX_MIN_DDR_FREQ>
+ </Configs>
+ <Profiles>
+ <Profile>
+ <!-- Colocation v3 1 GHz -->
+ <DEFAULT>0x40c6c000,1000000</DEFAULT>
+ <!-- Colocation v3 1 GHz, Predictive Load 1 -->
+ <SKEW2>0x40c6c000,1000000,0x41444000,1</SKEW2>
+ </Profile>
+ </Profiles>
+
+ <Meters>
+ <SamplesRequired>4</SamplesRequired>
+ <Meter>
+ <Name>MinDDR</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+ <Samples>100</Samples>
+ </Meter>
+
+ <Meter>
+ <Name>Fps</Name>
+ <Triggers>
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId>
+ <AsyncType>1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ <Trigger>
+ <Primary>true</Primary>
+ <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId>
+ <AsyncType>-1</AsyncType>
+ </Trigger>
+
+ </Triggers>
+ <Configs>
+ <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE>
+ <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE>
+ </Configs>
+ <Samples>100</Samples>
+ </Meter>
+ </Meters>
+</Feature>
diff --git a/perf/configs/trinket/msm_irqbalance.conf b/perf/configs/trinket/msm_irqbalance.conf
new file mode 100644
index 0000000..1a7232f
--- /dev/null
+++ b/perf/configs/trinket/msm_irqbalance.conf
@@ -0,0 +1,2 @@
+PRIO=1,1,1,1,0,0,0,0
+IGNORED_IRQ=19,22,39
diff --git a/perf/configs/trinket/perf/perfboostsconfig.xml b/perf/configs/trinket/perf/perfboostsconfig.xml
new file mode 100644
index 0000000..4a37bf2
--- /dev/null
+++ b/perf/configs/trinket/perf/perfboostsconfig.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+/* Copyright (c) 2019 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-->
+ <!-- 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="1", main launch boost of 2sec -->
+ <Config
+ Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="trinket"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1401,
+ 0x40800100, 1305" />
+
+ <!--app lauch boost (disabling packing)-->
+ <!-- POWER COLLAPSE resource opcode, value-->
+ <!-- CPUBW_MIN_FREQ resource opcode, value-->
+
+ <!-- Type="2", launch boost for disable packing 1.5sec -->
+ <Config
+ Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="trinket"
+ Resources="0x40400000, 0x1, 0x41800000, 59" />
+
+ <!-- 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="trinket"
+ Resources="0x40C00000, 0x3, 0x40C58000, 65, 0x40C54000, 71, 0x40408000, 0x63" />
+
+ <!-- config_enableLaunchBoostv4-->
+ <!-- SCHEDBOOST resource opcode, value-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- LPM Bias resource opcode, value-->
+
+ <!-- Type="4", AA games only launch boost -->
+ <Config
+ Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="trinket"
+ Resources="0x40C00000, 0x3, 0x40C58000, 65, 0x40C54000, 71, 0x40408000, 0x05" />
+
+ <!-- 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-->
+
+ <!-- Type="5", Adaptive Launch boost -->
+ <Config
+ Id="0x00001081" Type="5" Enable="true" Timeout="2000" Target="trinket"
+ Resources="0x41000100, 0x4, 0x41000000, 0x4,
+ 0x41440000, 0x28, 0x41440100, 0x28,
+ 0x4143C000, 0xFFF, 0x4143C100, 0xFFF,
+ 0x40C20000, 0x28, 0x40C1C000, 0x32" />
+
+ <!-- config_enableLaunchBoost6-->
+ <!-- LPM_BIAS resource opcode, val ms-->
+ <!-- SLB_BIG, val, SLB_BIG, val, SLB_BIG, val, SLB_BIG, val-->
+ <!-- SCHED GROUP DOWNMIGRATE resource opcode, value-->
+ <!-- SCHED GROUP UPMIGRATE resource opcode, value-->
+ <!-- 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="trinket"
+ Resources="0x40408000, 0x5,
+ 0x40C68040, 60, 0x40C68050, 60,
+ 0x40C68060, 60, 0x40C68070, 60,
+ 0x40C58000, 65, 0x40C54000, 71,
+ 0x40800000, 1056,
+ 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="trinket"
+ Resources="0x40804000, 2016, 0x40804100, 1804, 0x40800000, 2208, 0x40800100, 1708" />
+
+ <!--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="trinket"
+ Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 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="trinket"
+ Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 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="trinket"
+ Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 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-->
+ <!-- STORAGE CLK SCALING resource opcode, value-->
+
+ <!-- Type="", MTP boost -->
+
+ <Config
+ Id="0x00001086" Enable="true" Target="trinket"
+ Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1401,
+ 0x40800100, 1305, 0x42C10000, 0x1" />
+
+ <!--PackageInstall 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-->
+ <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value-->
+ <!-- Type="", Package Install boost -->
+
+ <Config
+ Id="0x00001088" Enable="true" Target="trinket"
+ Resources="0x40C00000, 0x2, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF,
+ 0x40800100,0xFFF, 0x40CA0000, 0" />
+
+ <!--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="trinket"
+ 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="trinket"
+ Resources="0x40800100, 1000, 0x4280C000, 950" />
+
+ <!--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="trinket"
+ Resources="0x40800000, 1056, 0x40800100, 1017" />
+
+
+ <!--Display on Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001041" Enable="true" Timeout="0" Target="trinket"
+ Resources="0x40000000, 1" />
+ <!--Display off Resource -->
+ <!-- Display on resource opcode, value -->
+ <Config
+ Id="0x00001040" Enable="true" Timeout="0" Target="trinket"
+ Resources="0x40000000, 0x0" />
+ </PerfBoost>
+</BoostConfigs>
diff --git a/perf/configs/trinket/perf/perfconfigstore.xml b/perf/configs/trinket/perf/perfconfigstore.xml
new file mode 100644
index 0000000..28bdc5f
--- /dev/null
+++ b/perf/configs/trinket/perf/perfconfigstore.xml
@@ -0,0 +1,33 @@
+<?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>
+
+ <!--System Properties -->
+ <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" />
+ <Prop Name="ro.vendor.at_library" Value="libqti-at.so" />
+ <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" />
+ <Prop Name="ro.vendor.iocgrp.config" Value="1" />
+
+ <!--Vendor Properties -->
+ <Prop Name="vendor.iop.enable_uxe" Value="1" />
+ <Prop Name="vendor.debug.enable.lm" Value="true" />
+ <Prop Name="vendor.debug.enable.memperfd" Value="true" />
+ <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" />
+
+ </PerfConfigs>
+</PerfConfigsStore>
diff --git a/perf/configs/trinket/perf/targetconfig.xml b/perf/configs/trinket/perf/targetconfig.xml
new file mode 100644
index 0000000..22f4109
--- /dev/null
+++ b/perf/configs/trinket/perf/targetconfig.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2019 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="trinket"
+ NumClusters="2"
+ TotalNumCores="8"
+ SocIds="394"
+ SynCore="1"
+ CoreCtlCpu="4"
+ MinCoreOnline="0"
+ CpufreqGov="1" />
+
+ <ClustersInfo Id="0" NumCores="4" Type="little" />
+ <ClustersInfo Id="1" NumCores="4" Type="big" />
+
+ </Config1>
+
+</TargetConfig>
diff --git a/perf/configs/trinket/perf/targetresourceconfigs.xml b/perf/configs/trinket/perf/targetresourceconfigs.xml
new file mode 100644
index 0000000..2b744d2
--- /dev/null
+++ b/perf/configs/trinket/perf/targetresourceconfigs.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (c) 2019 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="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task -->
+ <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load -->
+ <Config MajorValue="0x3" MinorValue="0xA" Supported="no" /> <!-- sched_add_group -->
+ <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 -->
+
+ <Config MajorValue="0x6" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq" />
+ <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/decay_rate" />
+ <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/io_percent" />
+ <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps -->
+ <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent -->
+ <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/max_freq" />
+ <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/polling_interval" />
+ <Config MajorValue="0x6" MinorValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms" />
+ <Config MajorValue="0x6" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/idle_mbps" />
+ <Config MajorValue="0x6" MinorValue="0xA" Supported="no" />
+
+ <!-- llcbw L3 and DDR major end -->
+ <Config MajorValue="0xC" MinorValue="0x0" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0x1" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0x3" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0x4" Supported="no" />
+ <Config MajorValue="0xC" MinorValue="0x6" Supported="no" />
+
+ <Config MajorValue="0xD" MinorValue="0x0" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x1" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x2" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x3" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x4" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x5" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x6" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x7" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x8" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0x9" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0xA" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0xB" Supported="no" />
+ <Config MajorValue="0xD" MinorValue="0xC" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/min_freq" />
+ <Config MajorValue="0xD" MinorValue="0xD" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/mem_latency/ratio_ceil" />
+ <Config MajorValue="0xD" MinorValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-ddr-lat/mem_latency/ratio_ceil" />
+ <Config MajorValue="0xD" MinorValue="0xF" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/mem_latency/stall_floor" />
+ <Config MajorValue="0xD" MinorValue="0x10" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-ddr-lat/mem_latency/stall_floor" />
+
+ </PerfResources>
+</ResourceConfigs>
diff --git a/perf/extract-files.sh b/perf/extract-files.sh
new file mode 100755
index 0000000..4f879ca
--- /dev/null
+++ b/perf/extract-files.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+# Copyright (C) 2018-2019 The LineageOS Project
+# Copyright (C) 2020 Paranoid Android
+#
+# 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.
+#
+
+# If we're being sourced by the common script that we called,
+# stop right here. No need to go down the rabbit hole.
+if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
+ return
+fi
+
+set -e
+
+# Required!
+export COMPONENT=perf
+export VENDOR=qcom/common
+
+"../extract-files.sh" "$@"
diff --git a/perf/init.ice.perf.rc b/perf/init.ice.perf.rc
new file mode 100644
index 0000000..d1feb97
--- /dev/null
+++ b/perf/init.ice.perf.rc
@@ -0,0 +1,33 @@
+# Copyright (C) 2020 Paranoid Android
+#
+# 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.
+
+on property:vendor.post_boot.parsed=1
+ # Override readahead to 128KiB.
+ write /sys/block/dm-0/queue/read_ahead_kb 128
+ write /sys/block/dm-1/queue/read_ahead_kb 128
+ write /sys/block/dm-2/queue/read_ahead_kb 128
+ write /sys/block/dm-3/queue/read_ahead_kb 128
+ write /sys/block/dm-4/queue/read_ahead_kb 128
+ write /sys/block/dm-5/queue/read_ahead_kb 128
+ write /sys/block/dm-6/queue/read_ahead_kb 128
+ write /sys/block/dm-7/queue/read_ahead_kb 128
+ write /sys/block/dm-8/queue/read_ahead_kb 128
+ write /sys/block/dm-9/queue/read_ahead_kb 128
+ write /sys/block/mmcblk0/queue/read_ahead_kb 128
+ write /sys/block/sda/queue/read_ahead_kb 128
+ write /sys/block/sdb/queue/read_ahead_kb 128
+ write /sys/block/sdc/queue/read_ahead_kb 128
+ write /sys/block/sdd/queue/read_ahead_kb 128
+ write /sys/block/sde/queue/read_ahead_kb 128
+ write /sys/block/sdf/queue/read_ahead_kb 128
diff --git a/perf/poweropt-service-disable.rc b/perf/poweropt-service-disable.rc
new file mode 100644
index 0000000..05aeacb
--- /dev/null
+++ b/perf/poweropt-service-disable.rc
@@ -0,0 +1,20 @@
+# Copyright (C) 2021 Paranoid Android
+#
+# 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.
+
+service poweropt-service /vendor/bin/poweropt-service
+ override
+ class main
+ user root
+ group system
+ disabled
diff --git a/perf/proprietary-files.txt b/perf/proprietary-files.txt
new file mode 100644
index 0000000..4222fa0
--- /dev/null
+++ b/perf/proprietary-files.txt
@@ -0,0 +1,136 @@
+-system_ext/app/PerformanceMode/PerformanceMode.apk
+-system_ext/app/workloadclassifier/workloadclassifier.apk
+system_ext/bin/perfservice
+system_ext/bin/qspmsvc
+system_ext/etc/init/perfservice.rc
+system_ext/etc/init/qspmsvc.rc
+system_ext/etc/perf/wlc_model.tflite
+system_ext/etc/seccomp_policy/perfservice.policy
+system_ext/lib/libbeluga.so
+system_ext/lib/libcomposerextn.qti.so
+system_ext/lib/libdolphin.so
+system_ext/lib/liblayerext.qti.so
+system_ext/lib/libqspmsvc.so
+system_ext/lib/libqti-at.so
+system_ext/lib/libqti-iopd-client_system.so
+system_ext/lib/libqti-perfd-client_system.so
+system_ext/lib/libqti_performance.so
+system_ext/lib/libqti_workloadclassifiermodel.so
+system_ext/lib/libskewknob_system.so
+system_ext/lib/libsmomo.qti.so
+system_ext/lib/libsmomoconfig.qti.so
+system_ext/lib/vendor.qti.hardware.limits@1.0.so
+system_ext/lib/vendor.qti.hardware.limits@1.1.so
+system_ext/lib/vendor.qti.hardware.iop@2.0.so
+system_ext/lib/vendor.qti.hardware.perf@2.0.so
+system_ext/lib/vendor.qti.hardware.perf@2.1.so
+system_ext/lib/vendor.qti.hardware.perf@2.2.so
+system_ext/lib/vendor.qti.hardware.perf@2.3.so
+system_ext/lib/vendor.qti.qspmhal@1.0.so
+system_ext/lib64/libbeluga.so
+system_ext/lib64/libcomposerextn.qti.so
+system_ext/lib64/libdolphin.so
+system_ext/lib64/liblayerext.qti.so
+system_ext/lib64/libqspmsvc.so
+system_ext/lib64/libqti-at.so
+system_ext/lib64/libqti-iopd-client_system.so
+system_ext/lib64/libqti-perfd-client_system.so
+system_ext/lib64/libqti_performance.so
+system_ext/lib64/libqti_workloadclassifiermodel.so
+system_ext/lib64/libskewknob_system.so
+system_ext/lib64/libsmomo.qti.so
+system_ext/lib64/libsmomoconfig.qti.so
+system_ext/lib64/vendor.qti.hardware.limits@1.0.so
+system_ext/lib64/vendor.qti.hardware.limits@1.1.so
+system_ext/lib64/vendor.qti.hardware.iop@2.0.so
+system_ext/lib64/vendor.qti.hardware.perf@2.0.so
+system_ext/lib64/vendor.qti.hardware.perf@2.1.so
+system_ext/lib64/vendor.qti.hardware.perf@2.2.so
+system_ext/lib64/vendor.qti.hardware.perf@2.3.so
+system_ext/lib64/vendor.qti.qspmhal@1.0.so
+system/etc/permissions/com.qualcomm.qti.Performance.xml|7976f2fd46b8d07814310cc957a70f829bdd6932
+system/etc/permissions/com.qualcomm.qti.UxPerformance.xml|d92749d80c5d956db8251b08ea6388d3f107a32c
+-system/framework/QXPerformance.jar
+-system/framework/QPerformance.jar
+-system/framework/UxPerformance.jar
+-vendor/app/pasrservice/pasrservice.apk
+vendor/bin/hw/vendor.qti.hardware.iop@2.0-service
+vendor/bin/hw/vendor.qti.hardware.perf@2.2-service
+vendor/bin/hw/vendor.qti.hardware.servicetracker@1.2-service
+vendor/bin/hw/vendor.qti.memory.pasrmanager@1.0-service
+vendor/bin/hw/vendor.qti.psiclient@1.0-service
+vendor/bin/msm_irqbalance
+vendor/bin/poweropt-service
+vendor/bin/vendor.qti.qspmhal@1.0-service
+vendor/etc/init/poweropt-service.rc
+vendor/etc/init/vendor.qti.hardware.iop@2.0-service.rc
+vendor/etc/init/vendor.qti.hardware.perf@2.2-service.rc
+vendor/etc/init/vendor.qti.hardware.servicetracker@1.2-service.rc
+vendor/etc/init/vendor.qti.memory.pasrmanager@1.0-service.rc
+vendor/etc/init/vendor.qti.psiclient@1.0-service.rc
+vendor/etc/init/vendor.qti.qspmhal@1.0-service.rc
+vendor/etc/pwr/PowerFeatureConfig.xml
+vendor/etc/pwr/VideoPowerOptFeature.xml
+vendor/etc/seccomp_policy/qspm.policy
+-vendor/etc/vintf/manifest/vendor.qti.hardware.servicetracker@1.2-service.xml
+-vendor/etc/vintf/manifest/vendor.qti.memory.pasrmanager@1.0-service.xml
+vendor/lib/hw/vendor.qti.hardware.servicetracker@1.2-impl.so
+vendor/lib/hw/vendor.qti.memory.pasrmanager@1.0-impl.so
+vendor/lib/libpasrutils.so
+vendor/lib/libperfconfig.so
+vendor/lib/libperfgluelayer.so
+vendor/lib/libperfioctl.so
+vendor/lib/libqti-iopd.so
+vendor/lib/libqti-iopd-client.so
+vendor/lib/libqti-perfd.so
+vendor/lib/libqti-perfd-client.so
+vendor/lib/libqti-util.so
+vendor/lib/libqti-utils.so
+vendor/lib/libskewknob.so
+vendor/lib/vendor.qti.hardware.iop@1.0.so
+vendor/lib/vendor.qti.hardware.iop@2.0.so
+vendor/lib/vendor.qti.hardware.perf@2.0.so
+vendor/lib/vendor.qti.hardware.perf@2.1.so
+vendor/lib/vendor.qti.hardware.perf@2.2.so
+vendor/lib/vendor.qti.memory.pasrmanager@1.0.so
+vendor/lib/vendor.qti.memory.pasrmanager@1.1.so
+vendor/lib/vendor.qti.power.pasrmanager@1.0.so
+vendor/lib/vendor.qti.qspmhal@1.0.so
+vendor/lib/vendor.qti.qspmhal@1.0-impl.so
+vendor/lib64/hw/vendor.qti.hardware.servicetracker@1.2-impl.so
+vendor/lib64/hw/vendor.qti.memory.pasrmanager@1.0-impl.so
+vendor/lib64/libadaptlaunch.so
+vendor/lib64/libappclassifier.so
+vendor/lib64/libgameoptfeature.so
+vendor/lib64/libgplaf.so
+vendor/lib64/liblearningmodule.so
+vendor/lib64/liblmutils-ns.so
+vendor/lib64/libmemperfd.so
+vendor/lib64/libmeters.so
+vendor/lib64/libmeters-ns.so
+vendor/lib64/libpasrutils.so
+vendor/lib64/libperfconfig.so
+vendor/lib64/libperfgluelayer.so
+vendor/lib64/libperfioctl.so
+vendor/lib64/libpowercallback.so
+vendor/lib64/libpowercore.so
+vendor/lib64/libprekill.so
+vendor/lib64/libqti-iopd.so
+vendor/lib64/libqti-iopd-client.so
+vendor/lib64/libqti-perfd.so
+vendor/lib64/libqti-perfd-client.so
+vendor/lib64/libqti-util.so
+vendor/lib64/libqti-utils.so
+vendor/lib64/libreffeature.so
+vendor/lib64/libskewknob.so
+vendor/lib64/libsplh.so
+vendor/lib64/vendor.qti.hardware.iop@1.0.so
+vendor/lib64/vendor.qti.hardware.iop@2.0.so
+vendor/lib64/vendor.qti.hardware.perf@2.0.so
+vendor/lib64/vendor.qti.hardware.perf@2.1.so
+vendor/lib64/vendor.qti.hardware.perf@2.2.so
+vendor/lib64/vendor.qti.memory.pasrmanager@1.0.so
+vendor/lib64/vendor.qti.memory.pasrmanager@1.1.so
+vendor/lib64/vendor.qti.power.pasrmanager@1.0.so
+vendor/lib64/vendor.qti.qspmhal@1.0.so
+vendor/lib64/vendor.qti.qspmhal@1.0-impl.so
diff --git a/perf/qti-perf.mk b/perf/qti-perf.mk
new file mode 100644
index 0000000..bb389c9
--- /dev/null
+++ b/perf/qti-perf.mk
@@ -0,0 +1,80 @@
+# Copyright (C) 2021 Paranoid Android
+#
+# 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.
+
+PRODUCT_SOONG_NAMESPACES += \
+ device/qcom/common/perf
+
+# Boot Jars
+PRODUCT_BOOT_JARS += \
+ QPerformance \
+ UxPerformance
+
+# Packages
+PRODUCT_PACKAGES += \
+ android.hardware.thermal@2.0 \
+ libavservices_minijail
+
+# Configs
+PRODUCT_COPY_FILES += \
+ $(call find-copy-subdir-files,*,$(LOCAL_PATH)/perf/configs/common,$(TARGET_COPY_OUT_VENDOR)/etc) \
+ $(call find-copy-subdir-files,*,$(LOCAL_PATH)/perf/configs/$(TARGET_BOARD_PLATFORM),$(TARGET_COPY_OUT_VENDOR)/etc)
+
+# Disable IOP HAL for select platforms.
+ifeq ($(call is-board-platform-in-list, msm8937 msm8953 msm8998 qcs605 sdm660 sdm710),true)
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/perf/vendor.qti.hardware.iop@2.0-service-disable.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.iop@2.0-service-disable.rc
+endif
+
+# Disable the poweropt service for non 5.4 platforms.
+ifneq ($(TARGET_KERNEL_VERSION),5.4)
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/perf/poweropt-service-disable.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/poweropt-service-disable.rc
+endif
+
+# Packages
+PRODUCT_PACKAGES += \
+ android.hardware.thermal@2.0.vendor \
+ init.ice.perf.rc \
+ libavservices_minijail.vendor \
+ libpsi.vendor \
+ libtflite \
+ vendor.qti.hardware.servicetracker@1.2.vendor
+
+ifeq ($(TARGET_KERNEL_VERSION),5.4)
+PRODUCT_PACKAGES += \
+ task_profiles-qti
+endif
+
+# Properties
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.vendor.perf-hal.ver=2.2 \
+ ro.vendor.extension_library=libqti-perfd-client.so \
+ vendor.power.pasr.enabled=true
+
+ifeq ($(call is-board-platform-in-list, lahaina),true)
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.vendor.beluga.p=0x3 \
+ ro.vendor.beluga.c=0x4800 \
+ ro.vendor.beluga.s=0x900 \
+ ro.vendor.beluga.t=0x240
+endif
+
+ifeq ($(TARGET_KERNEL_VERSION),5.4)
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.vendor.perf.scroll_opt=true \
+ vendor.pasr.activemode.enabled=true
+endif
+
+# Get non-open-source specific aspects
+$(call inherit-product-if-exists, vendor/qcom/common/perf/perf-vendor.mk)
diff --git a/perf/setup-makefiles.sh b/perf/setup-makefiles.sh
new file mode 100755
index 0000000..0052dfc
--- /dev/null
+++ b/perf/setup-makefiles.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+#
+# Copyright (C) 2018-2019 The LineageOS Project
+# Copyright (C) 2020 Paranoid Android
+#
+# 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.
+#
+
+set -e
+
+# Required!
+export COMPONENT=perf
+export VENDOR=qcom/common
+
+"../setup-makefiles.sh" "$@"
diff --git a/perf/task_profiles.json b/perf/task_profiles.json
new file mode 100644
index 0000000..695a7d9
--- /dev/null
+++ b/perf/task_profiles.json
@@ -0,0 +1,592 @@
+{
+ "Attributes": [
+ {
+ "Name": "LowCapacityCPUs",
+ "Controller": "cpuset",
+ "File": "background/cpus"
+ },
+ {
+ "Name": "HighCapacityCPUs",
+ "Controller": "cpuset",
+ "File": "foreground/cpus"
+ },
+ {
+ "Name": "MaxCapacityCPUs",
+ "Controller": "cpuset",
+ "File": "top-app/cpus"
+ },
+ {
+ "Name": "AudioAppCapacityCPUs",
+ "Controller": "cpuset",
+ "File": "audio-app/cpus"
+ },
+
+ {
+ "Name": "MemLimit",
+ "Controller": "memory",
+ "File": "memory.limit_in_bytes"
+ },
+ {
+ "Name": "MemSoftLimit",
+ "Controller": "memory",
+ "File": "memory.soft_limit_in_bytes"
+ },
+ {
+ "Name": "MemSwappiness",
+ "Controller": "memory",
+ "File": "memory.swappiness"
+ },
+ {
+ "Name": "UClampMin",
+ "Controller": "cpu",
+ "File": "cpu.uclamp.min"
+ },
+ {
+ "Name": "UClampMax",
+ "Controller": "cpu",
+ "File": "cpu.uclamp.max"
+ }
+ ],
+
+ "Profiles": [
+ {
+ "Name": "HighEnergySaving",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpu",
+ "Path": "background"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "Frozen",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "freezer",
+ "Path": "frozen"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "Unfrozen",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "freezer",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "NormalPerformance",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpu",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "HighPerformance",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpu",
+ "Path": "foreground"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "MaxPerformance",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpu",
+ "Path": "top-app"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "RealtimePerformance",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpu",
+ "Path": "rt"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "AudioAppPerformance",
+ "Actions" : [
+ {
+ "Name" : "JoinCgroup",
+ "Params" :
+ {
+ "Controller": "cpu",
+ "Path": "audio-app"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "VrKernelCapacity",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "VrServiceCapacityLow",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "system/background"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "VrServiceCapacityNormal",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "system"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "VrServiceCapacityHigh",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "system/performance"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "VrProcessCapacityLow",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "application/background"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "VrProcessCapacityNormal",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "application"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "VrProcessCapacityHigh",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "application/performance"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "ProcessCapacityLow",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "background"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "ProcessCapacityNormal",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "ProcessCapacityHigh",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "foreground"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "ProcessCapacityMax",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "top-app"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "ServiceCapacityLow",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "system-background"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "ServiceCapacityRestricted",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "restricted"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "CameraServiceCapacity",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "camera-daemon"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "AudioAppCapacity",
+ "Actions" : [
+ {
+ "Name" : "JoinCgroup",
+ "Params" :
+ {
+ "Controller": "cpuset",
+ "Path": "audio-app"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "BlkIOForeground",
+ "Actions" : [
+ {
+ "Name" : "JoinCgroup",
+ "Params" :
+ {
+ "Controller": "blkio",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "BlkIOBackground",
+ "Actions" : [
+ {
+ "Name" : "JoinCgroup",
+ "Params" :
+ {
+ "Controller": "blkio",
+ "Path": "bg"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "LowIoPriority",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "blkio",
+ "Path": "background"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "NormalIoPriority",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "blkio",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "HighIoPriority",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "blkio",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "MaxIoPriority",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "blkio",
+ "Path": ""
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "TimerSlackHigh",
+ "Actions": [
+ {
+ "Name": "SetTimerSlack",
+ "Params":
+ {
+ "Slack": "40000000"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "TimerSlackNormal",
+ "Actions": [
+ {
+ "Name": "SetTimerSlack",
+ "Params":
+ {
+ "Slack": "50000"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "PerfBoost",
+ "Actions": [
+ {
+ "Name": "SetClamps",
+ "Params":
+ {
+ "Boost": "50%",
+ "Clamp": "0"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "PerfClamp",
+ "Actions": [
+ {
+ "Name": "SetClamps",
+ "Params":
+ {
+ "Boost": "0",
+ "Clamp": "30%"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "LowMemoryUsage",
+ "Actions": [
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "MemSoftLimit",
+ "Value": "16MB"
+ }
+ },
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "MemSwappiness",
+ "Value": "150"
+
+ }
+ }
+ ]
+ },
+ {
+ "Name": "HighMemoryUsage",
+ "Actions": [
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "MemSoftLimit",
+ "Value": "512MB"
+ }
+ },
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "MemSwappiness",
+ "Value": "100"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "SystemMemoryProcess",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "memory",
+ "Path": "system"
+ }
+ }
+ ]
+ }
+ ],
+
+ "AggregateProfiles": [
+ {
+ "Name": "SCHED_SP_DEFAULT",
+ "Profiles": [ "TimerSlackNormal" ]
+ },
+ {
+ "Name": "SCHED_SP_BACKGROUND",
+ "Profiles": [ "HighEnergySaving", "LowIoPriority", "TimerSlackHigh" ]
+ },
+ {
+ "Name": "SCHED_SP_FOREGROUND",
+ "Profiles": [ "HighPerformance", "HighIoPriority", "TimerSlackNormal" ]
+ },
+ {
+ "Name": "SCHED_SP_TOP_APP",
+ "Profiles": [ "MaxPerformance", "MaxIoPriority", "TimerSlackNormal" ]
+ },
+ {
+ "Name": "SCHED_SP_RT_APP",
+ "Profiles": [ "RealtimePerformance", "MaxIoPriority", "TimerSlackNormal" ]
+ },
+ {
+ "Name": "CPUSET_SP_DEFAULT",
+ "Profiles": [ "TimerSlackNormal" ]
+ },
+ {
+ "Name": "CPUSET_SP_BACKGROUND",
+ "Profiles": [ "HighEnergySaving", "ProcessCapacityLow", "LowIoPriority", "TimerSlackHigh" ]
+ },
+ {
+ "Name": "CPUSET_SP_FOREGROUND",
+ "Profiles": [ "HighPerformance", "ProcessCapacityHigh", "HighIoPriority", "TimerSlackNormal" ]
+ },
+ {
+ "Name": "CPUSET_SP_TOP_APP",
+ "Profiles": [ "MaxPerformance", "ProcessCapacityMax", "MaxIoPriority", "TimerSlackNormal" ]
+ },
+ {
+ "Name": "CPUSET_SP_SYSTEM",
+ "Profiles": [ "ServiceCapacityLow", "TimerSlackNormal" ]
+ },
+ {
+ "Name": "CPUSET_SP_RESTRICTED",
+ "Profiles": [ "ServiceCapacityRestricted", "TimerSlackNormal" ]
+ }
+ ]
+}
diff --git a/perf/vendor.qti.hardware.iop@2.0-service-disable.rc b/perf/vendor.qti.hardware.iop@2.0-service-disable.rc
new file mode 100644
index 0000000..2f4215f
--- /dev/null
+++ b/perf/vendor.qti.hardware.iop@2.0-service-disable.rc
@@ -0,0 +1,20 @@
+# Copyright (C) 2021 Paranoid Android
+#
+# 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.
+
+service iop-hal-2-0 /vendor/bin/hw/vendor.qti.hardware.iop@2.0-service
+ override
+ class hal
+ user root
+ group root readproc
+ disabled