aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/cpufreq/Kconfig11
-rw-r--r--drivers/cpufreq/cpufreq_pegasusq.c4
-rw-r--r--drivers/gpu/mali400/r3p2/mali/platform/pegasus-m400/exynos4_pmm.c28
3 files changed, 20 insertions, 23 deletions
diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
index 9d4b5dd..8112af3 100644
--- a/drivers/cpufreq/Kconfig
+++ b/drivers/cpufreq/Kconfig
@@ -17,17 +17,6 @@ config CPU_FREQ
if CPU_FREQ
-config HAS_BLUETOOTH_DEADLOCKS
- bool "System has bluetooth deadlocks"
- depends on BT_BCM4334
- default y
- help
- It seems that Android Lollipop introduced a bug which causes an
- event listener to deadlock when A2DP is used and governor forces
- only one core to stay awake. This hack prevents such situation by
- always leaving at least two cores online. I wish we could get rid
- of this at some point.
-
config CPU_FREQ_TABLE
tristate
diff --git a/drivers/cpufreq/cpufreq_pegasusq.c b/drivers/cpufreq/cpufreq_pegasusq.c
index aa172a1..c44af54 100644
--- a/drivers/cpufreq/cpufreq_pegasusq.c
+++ b/drivers/cpufreq/cpufreq_pegasusq.c
@@ -155,11 +155,7 @@ static unsigned int get_nr_run_avg(void)
#define MAX_HOTPLUG_RATE (40u)
#define DEF_MAX_CPU_LOCK (0)
-#ifdef CONFIG_HAS_BLUETOOTH_DEADLOCKS
-#define DEF_MIN_CPU_LOCK (2)
-#else
#define DEF_MIN_CPU_LOCK (0)
-#endif
#define DEF_CPU_UP_FREQ (500000)
#define DEF_CPU_DOWN_FREQ (200000)
#define DEF_UP_NR_CPUS (1)
diff --git a/drivers/gpu/mali400/r3p2/mali/platform/pegasus-m400/exynos4_pmm.c b/drivers/gpu/mali400/r3p2/mali/platform/pegasus-m400/exynos4_pmm.c
index 65acaa6..d2b919e 100644
--- a/drivers/gpu/mali400/r3p2/mali/platform/pegasus-m400/exynos4_pmm.c
+++ b/drivers/gpu/mali400/r3p2/mali/platform/pegasus-m400/exynos4_pmm.c
@@ -38,7 +38,7 @@
#include <linux/workqueue.h>
#ifdef CONFIG_CPU_EXYNOS4210
-#define MALI_DVFS_STEPS 2
+#define MALI_DVFS_STEPS 3
#define MALI_DVFS_WATING 10 /* msec */
#define MALI_DVFS_DEFAULT_STEP 0
#else
@@ -87,7 +87,11 @@ typedef struct mali_runtime_resumeTag{
unsigned int step;
}mali_runtime_resume_table;
-mali_runtime_resume_table mali_runtime_resume = {266, 900000, 1};
+#if defined(CONFIG_CPU_EXYNOS4212) || defined(CONFIG_CPU_EXYNOS4412)
+mali_runtime_resume_table mali_runtime_resume = {266, 900000, 1}; /* step 1 */
+#else
+mali_runtime_resume_table mali_runtime_resume = {160, 950000, 1}; /* step 1 */
+#endif
/* dvfs table */
mali_dvfs_table mali_dvfs[MALI_DVFS_STEPS]={
@@ -98,8 +102,10 @@ mali_dvfs_table mali_dvfs[MALI_DVFS_STEPS]={
/* step 3 */{440 ,1000000 ,1025000 ,85 , 90},
/* step 4 */{533 ,1000000 ,1075000 ,95 ,100} };
#else
- /* step 0 */{134 ,1000000 , 950000 ,85 , 90},
- /* step 1 */{267 ,1000000 ,1050000 ,85 ,100} };
+ /* step 0 */{100 ,1000000 , 950000 ,0 , 85},
+ /* step 1 */{160 ,1000000 , 950000 ,80 ,90},
+ /* step 2 */{267 ,1000000 ,1000000 ,80 ,100},
+ };
#endif
#ifdef EXYNOS4_ASV_ENABLED
@@ -166,16 +172,22 @@ static unsigned int asv_3d_volt_4212_9_table[MALI_DVFS_STEPS][ASV_LEVEL_PD] = {
#else
static unsigned int asv_3d_volt_4210_12_table[MALI_DVFS_STEPS][ASV_LEVEL_4210_12] = {
- { 1000000, 1000000, 1000000, 950000, 950000, 950000, 950000, 950000}, /* L1(134Mhz) */
+ { 1000000, 1000000, 1000000, 950000, 950000, 950000, 950000, 950000}, /* L2(100Mhz) */
#if (MALI_DVFS_STEPS > 1)
- { 1100000, 1100000, 1100000, 1000000, 1000000, 1000000, 1000000, 950000}, /* L0(266Mhz) */
+ { 1000000, 1000000, 1000000, 950000, 950000, 950000, 950000, 950000}, /* L1(160Mhz) */
+#if (MALI_DVFS_STEPS > 2)
+ { 1100000, 1100000, 1100000, 1000000, 1000000, 1000000, 1000000, 950000}, /* L0(267Mhz) */
+#endif
#endif
};
static unsigned int asv_3d_volt_4210_14_table[MALI_DVFS_STEPS][ASV_LEVEL_4210_14] = {
- { 1000000, 1000000, 950000, 950000, 950000}, /* L1(134Mhz) */
+ { 1000000, 1000000, 950000, 950000, 950000}, /* L2(100Mhz) */
#if (MALI_DVFS_STEPS > 1)
- { 1100000, 1100000, 1000000, 1000000, 950000}, /* L0(266Mhz) */
+ { 1000000, 1000000, 950000, 950000, 950000}, /* L1(160Mhz) */
+#if (MALI_DVFS_STEPS > 2)
+ { 1100000, 1100000, 1000000, 1000000, 950000}, /* L0(267Mhz) */
+#endif
#endif
};
#endif