summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRajashekar Adi <radi@codeaurora.org>2019-09-19 13:49:12 +0530
committerMichael Bestas <mkbestas@lineageos.org>2020-03-08 02:31:32 +0200
commit338920c7488af69ad3fe17033a641103bba83f1a (patch)
tree3918f176d813fd5ca5442e88118e787d601e336d
parent0db671a26287909fd2a866bcac07268bfb696d22 (diff)
downloadvendor_qcom_opensource_power-338920c7488af69ad3fe17033a641103bba83f1a.tar.gz
vendor_qcom_opensource_power-338920c7488af69ad3fe17033a641103bba83f1a.tar.bz2
vendor_qcom_opensource_power-338920c7488af69ad3fe17033a641103bba83f1a.zip
Power:Add powerhints to camera and VR
Add powerhint support for atoll Change-Id: I7dd1ce7eba459e80ad08f0b97390cc265e0908fa
-rw-r--r--config/atoll/powerhint.xml271
-rw-r--r--power-vendor-product.mk2
2 files changed, 273 insertions, 0 deletions
diff --git a/config/atoll/powerhint.xml b/config/atoll/powerhint.xml
new file mode 100644
index 0000000..0b551ba
--- /dev/null
+++ b/config/atoll/powerhint.xml
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="utf-8" ?>
+
+<!--
+/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+-->
+<HintConfigs>
+ <Powerhint>
+
+ <!-- camera 30fps and camera preview -->
+ <!--L CPU CORE 0 SCHED LOAD BOOST -->
+ <!--L CPU CORE 1 SCHED LOAD BOOST -->
+ <!--L CPU CORE 2 SCHED LOAD BOOST -->
+ <!--L CPU CORE 3 SCHED LOAD BOOST -->
+ <!--L CPU CORE 4 SCHED LOAD BOOST -->
+ <!--L CPU CORE 5 SCHED LOAD BOOST -->
+ <!--L CPU Hispeed freq of 1017Mhz -->
+ <!--L CPU - Set hispeed load 95 -->
+ <!--CPU-LLCC BWMON - Set sample_ms 20 -->
+ <!--LLCC-DDR BWMON - Set sample_ms 20 -->
+ <!--CPU-LLCC BWMON - Set up_scale 0 -->
+ <Config
+ Id="0x00001331" Enable="true" Timeout="0" Target="atoll"
+ Resources="0x40C68100, 0xFFFFFFFA, 0x40C68110, 0xFFFFFFFA, 0x40C68120, 0xFFFFFFFA,
+ 0x40C68130, 0xFFFFFFFA, 0x40C68140, 0xFFFFFFFA, 0x40C68150, 0xFFFFFFFA,
+ 0x4143C100, 0x3F9, 0x41440100, 0x5F, 0x41820000, 0x14, 0x4300C000, 0x14, 0x4182C000, 0"/>
+
+ <!-- camera 60 FPS -->
+ <!--L CPU CORE 0 SCHED LOAD BOOST -->
+ <!--L CPU CORE 1 SCHED LOAD BOOST -->
+ <!--L CPU CORE 2 SCHED LOAD BOOST -->
+ <!--L CPU CORE 3 SCHED LOAD BOOST -->
+ <!--L CPU CORE 4 SCHED LOAD BOOST -->
+ <!--L CPU CORE 5 SCHED LOAD BOOST -->
+ <!--CPU-LLCC BWMON - Set sample_ms 20 -->
+ <!--LLCC-DDR BWMON - Set sample ms 20 -->
+ <!--CPU-LLCC BWMON - Set up_scale 0 -->
+ <Config
+ Id="0x00001332" Enable="true" Timeout="0" Target="atoll"
+ Resources="0x40C68100, 0xFFFFFFFA, 0x40C68110, 0xFFFFFFFA, 0x40C68120, 0xFFFFFFFA,
+ 0x40C68130, 0xFFFFFFFA, 0x40C68140, 0xFFFFFFFA, 0x40C68150, 0xFFFFFFFA,
+ 0x41820000, 0x14, 0x4300C000, 0x14, 0x4182C000, 0"/>
+
+ <!-- camera HFR -->
+ <!--L CPU CORE 0 SCHED LOAD BOOST -->
+ <!--L CPU CORE 1 SCHED LOAD BOOST -->
+ <!--L CPU CORE 2 SCHED LOAD BOOST -->
+ <!--L CPU CORE 3 SCHED LOAD BOOST -->
+ <!--L CPU CORE 4 SCHED LOAD BOOST -->
+ <!--L CPU CORE 5 SCHED LOAD BOOST -->
+ <!--CPU-LLCC BWMON - Set sample_ms 20 -->
+ <!--LLCC-DDR BWMON - Set sample ms 20 -->
+ <!--CPU-LLCC BWMON - Set up_scale 0 -->
+ <Config
+ Id="0x00001333" Enable="true" Timeout="0" Target="atoll"
+ Resources="0x40C68100, 0xFFFFFFFA, 0x40C68110, 0xFFFFFFFA, 0x40C68120, 0xFFFFFFFA,
+ 0x40C68130, 0xFFFFFFFA, 0x40C68140, 0xFFFFFFFA, 0x40C68150, 0xFFFFFFFA,
+ 0x41820000, 0x14, 0x4300C000, 0x14, 0x4182C000, 0"/>
+
+ <!-- HFR 480fps -->
+ <!--L CPU CORE 0 SCHED LOAD BOOST -->
+ <!--L CPU CORE 1 SCHED LOAD BOOST -->
+ <!--L CPU CORE 2 SCHED LOAD BOOST -->
+ <!--L CPU CORE 3 SCHED LOAD BOOST -->
+ <!--L CPU CORE 4 SCHED LOAD BOOST -->
+ <!--L CPU CORE 5 SCHED LOAD BOOST -->
+ <!--CPU-LLCC BWMON - Set sample_ms 20 -->
+ <!--LLCC-DDR BWMON - Set sample ms 20 -->
+ <!--CPU CORE 0 Min freq to 1.2Ghz -->
+ <!--CPU-LLCC BWMON - Set up_scale 0 -->
+ <Config
+ Id="0x00001334" Enable="true" Timeout="0" Target="atoll"
+ Resources="0x40C68100, 0xFFFFFFFA, 0x40C68110, 0xFFFFFFFA, 0x40C68120, 0xFFFFFFFA,
+ 0x40C68130, 0xFFFFFFFA, 0x40C68140, 0xFFFFFFFA, 0x40C68150, 0xFFFFFFFA,
+ 0x41820000, 0x14, 0x4300C000, 0x14, 0x40800100, 0x4B9, 0x4182C000, 0"/>
+
+ <!-- same settings for all the qvr power levels intentionally -->
+ <!-- qvr level cpu1 gpu1 -->
+ <!-- B CPU - Cluster min freq ~.806 Ghz -->
+ <!-- B CPU - Cluster max freq ~.2.169 Ghz -->
+ <!-- L CPU - Cluster min freq ~.576 Ghz -->
+ <!-- L CPU - Cluster max freq ~1.248 Ghz -->
+ <!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
+ <!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
+ <!-- Min Big CPUs 2 -->
+ <!-- Idefinite Duration -->
+ <Config
+ Id="0x0000130A" Enable="true" Target="atoll" Timeout="0"
+ Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
+ 0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
+
+ <!-- qvr level cpu1 gpu2 -->
+ <!-- B CPU - Cluster min freq ~.806 Ghz -->
+ <!-- B CPU - Cluster max freq ~.2.169 Ghz -->
+ <!-- L CPU - Cluster min freq ~.576 Ghz -->
+ <!-- L CPU - Cluster max freq ~1.248 Ghz -->
+ <!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
+ <!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
+ <!-- Min Big CPUs 2 -->
+ <!-- Idefinite Duration -->
+ <Config
+ Id="0x0000130B" Enable="true" Target="atoll" Timeout="0"
+ Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
+ 0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
+
+ <!-- qvr level cpu1 gpu3 -->
+ <!-- B CPU - Cluster min freq ~.806 Ghz -->
+ <!-- B CPU - Cluster max freq ~.2.169 Ghz -->
+ <!-- L CPU - Cluster min freq ~.576 Ghz -->
+ <!-- L CPU - Cluster max freq ~1.248 Ghz -->
+ <!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
+ <!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
+ <!-- Min Big CPUs 2 -->
+ <!-- Idefinite Duration -->
+ <Config
+ Id="0x0000130C" Enable="true" Target="atoll" Timeout="0"
+ Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
+ 0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
+
+ <!-- qvr level cpu2 gpu1 -->
+ <!-- B CPU - Cluster min freq ~.806 Ghz -->
+ <!-- B CPU - Cluster max freq ~.2.169 Ghz -->
+ <!-- L CPU - Cluster min freq ~.576 Ghz -->
+ <!-- L CPU - Cluster max freq ~1.248 Ghz -->
+ <!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
+ <!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
+ <!-- Min Big CPUs 2 -->
+ <!-- Idefinite Duration -->
+ <Config
+ Id="0x0000130D" Enable="true" Target="atoll" Timeout="0"
+ Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
+ 0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
+
+ <!-- qvr level cpu2 gpu2 -->
+ <!-- B CPU - Cluster min freq ~.806 Ghz -->
+ <!-- B CPU - Cluster max freq ~.2.169 Ghz -->
+ <!-- L CPU - Cluster min freq ~.576 Ghz -->
+ <!-- L CPU - Cluster max freq ~1.248 Ghz -->
+ <!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
+ <!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
+ <!-- Min Big CPUs 2 -->
+ <!-- Idefinite Duration -->
+ <Config
+ Id="0x0000130E" Enable="true" Target="atoll" Timeout="0"
+ Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
+ 0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
+
+ <!-- qvr level cpu2 gpu3 -->
+ <!-- B CPU - Cluster min freq ~.806 Ghz -->
+ <!-- B CPU - Cluster max freq ~.2.169 Ghz -->
+ <!-- L CPU - Cluster min freq ~.576 Ghz -->
+ <!-- L CPU - Cluster max freq ~1.248 Ghz -->
+ <!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
+ <!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
+ <!-- Min Big CPUs 2 -->
+ <!-- Idefinite Duration -->
+ <Config
+ Id="0x0000130F" Enable="true" Target="atoll" Timeout="0"
+ Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
+ 0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
+
+ <!-- qvr level cpu3 gpu1 -->
+ <!-- B CPU - Cluster min freq ~.806 Ghz -->
+ <!-- B CPU - Cluster max freq ~.2.169 Ghz -->
+ <!-- L CPU - Cluster min freq ~.576 Ghz -->
+ <!-- L CPU - Cluster max freq ~1.248 Ghz -->
+ <!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
+ <!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
+ <!-- Min Big CPUs 2 -->
+ <!-- Idefinite Duration -->
+ <Config
+ Id="0x00001310" Enable="true" Target="atoll" Timeout="0"
+ Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
+ 0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
+
+ <!-- qvr level cpu3 gpu2 -->
+ <!-- B CPU - Cluster min freq ~.806 Ghz -->
+ <!-- B CPU - Cluster max freq ~.2.169 Ghz -->
+ <!-- L CPU - Cluster min freq ~.576 Ghz -->
+ <!-- L CPU - Cluster max freq ~1.248 Ghz -->
+ <!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
+ <!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
+ <!-- Min Big CPUs 2 -->
+ <!-- Idefinite Duration -->
+ <Config
+ Id="0x00001311" Enable="true" Target="atoll" Timeout="0"
+ Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
+ 0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
+
+ <!-- qvr level cpu3 gpu3 -->
+ <!-- B CPU - Cluster min freq ~.806 Ghz -->
+ <!-- B CPU - Cluster max freq ~2.169 Ghz -->
+ <!-- L CPU - Cluster min freq ~.576 Ghz -->
+ <!-- L CPU - Cluster max freq ~1.248 Ghz -->
+ <!-- GPU - min pwrlevel 7 (freq 180 Mhz) -->
+ <!-- GPU - max pwrlevel 0 (freq 825 Mhz) -->
+ <!-- Min Big CPUs 2 -->
+ <!-- Idefinite Duration -->
+ <Config
+ Id="0x00001312" Enable="true" Target="atoll" Timeout="0"
+ Resources="0x40800000, 0x326, 0x40804000, 0x879, 0x40800100, 0x240, 0x40804100, 0x4E0,
+ 0x42804000, 0x7, 0x42808000, 0x0, 0x41000000, 0x2"/>
+
+ <!-- sustained performance -->
+ <!-- B CPU - Cluster min freq uncapped -->
+ <!-- L CPU - Cluster min freq uncapped -->
+ <!-- B CPU - Cluster max freq ~1.22 GHz -->
+ <!-- L CPU - Cluster max freq ~1.22 Ghz -->
+ <!-- GPU - min freq 275Mhz -->
+ <!-- GPU - max freq 400Mhz -->
+ <!-- GPUBW freq uncapped -->
+ <Config
+ Id="0x00001206" Enable="true" Timeout="0" Target="atoll"
+ Resources="0x40800000, 0x0, 0x40800100, 0x0, 0x40804000, 0x4CC, 0x40804100, 0x4CC,
+ 0X4280C000, 0x113, 0X42810000, 0x190, 0x42814000, 0x0"/>
+
+ <!-- vr mode -->
+ <!-- B CPU - Cluster min freq ~1.22 Ghz -->
+ <!-- L CPU - Cluster min freq ~0.940 Ghz -->
+ <!-- B CPU - Cluster max freq ~1.90 Ghz -->
+ <!-- L CPU - Cluster max freq ~1.70 Ghz -->
+ <!-- GPU - min freq 275Mhz -->
+ <!-- GPU - max freq 625Mhz -->
+ <!-- GPUBW uncapped -->
+ <Config
+ Id="0x00001207" Enable="true" Timeout="0" Target="atoll"
+ Resources="0x40800000, 0x4CC, 0x40800100, 0x3AC, 0x40804000, 0x76C, 0x40804100, 0x6C0,
+ 0X4280C000, 0x113, 0X4280C000, 0x271, 0x42814000, 0x0"/>
+
+ <!-- vr mode sustained performance -->
+ <!-- B CPU - Cluster min freq ~1.22 Ghz -->
+ <!-- L CPU - Cluster min freq ~1.22 Ghz -->
+ <!-- B CPU - Cluster max freq ~1.22 Ghz -->
+ <!-- L CPU - Cluster max freq ~1.22 Ghz -->
+ <!-- GPU - min freq 400Mhz -->
+ <!-- GPU - max freq 400Mhz -->
+ <!-- GPUBW uncapped -->
+ <Config
+ Id="0x00001301" Enable="true" Timeout="0" Target="atoll"
+ Resources="0x40800000, 0x4CC, 0x40800100, 0x4CC, 0x40804000, 0x4CC, 0x40804100, 0x4CC,
+ 0X4280C000, 0x190, 0X42810000, 0x190, 0x42814000, 0x0"/>
+
+ </Powerhint>
+</HintConfigs>
+
+
diff --git a/power-vendor-product.mk b/power-vendor-product.mk
index 60691a4..8dda07e 100644
--- a/power-vendor-product.mk
+++ b/power-vendor-product.mk
@@ -9,4 +9,6 @@ else ifeq ($(TARGET_BOARD_PLATFORM),kona)
PRODUCT_COPY_FILES += vendor/qcom/opensource/power/config/kona/powerhint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.xml
else ifeq ($(TARGET_BOARD_PLATFORM),lito)
PRODUCT_COPY_FILES += vendor/qcom/opensource/power/config/lito/powerhint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.xml
+else ifeq ($(TARGET_BOARD_PLATFORM),atoll)
+PRODUCT_COPY_FILES += vendor/qcom/opensource/power/config/atoll/powerhint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.xml
endif