aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2016-02-03 13:15:11 +0100
committerWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2016-02-03 13:15:11 +0100
commitaf90aa3080dd6af491f0131165a58beedb9e6217 (patch)
treed4a76180397fd7c2dd3c6ef6060bdc55be37cbe1
parent4fb23ca1a553ad49a02e0fffc0474f615a72660e (diff)
parentbe3d845ee40c30b52b56a7fb44013674ccab03fd (diff)
downloadkernel_samsung_smdk4412-af90aa3080dd6af491f0131165a58beedb9e6217.zip
kernel_samsung_smdk4412-af90aa3080dd6af491f0131165a58beedb9e6217.tar.gz
kernel_samsung_smdk4412-af90aa3080dd6af491f0131165a58beedb9e6217.tar.bz2
Merge branch 'cm-13.0' of https://github.com/CyanogenMod/android_kernel_samsung_smdk4412 into replicant-6.0replicant-6.0-alpha-0002replicant-6.0-old
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> Conflicts: usr/galaxys2_initramfs_files/init
-rw-r--r--arch/arm/configs/cyanogenmod_d710_defconfig2
-rw-r--r--arch/arm/configs/cyanogenmod_i777_defconfig2
-rw-r--r--arch/arm/configs/cyanogenmod_i9100_defconfig2
-rw-r--r--arch/arm/configs/cyanogenmod_i9300_defconfig1
-rw-r--r--arch/arm/configs/cyanogenmod_n7000_defconfig2
-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
-rw-r--r--kernel/time/tick-sched.c2
-rwxr-xr-xusr/galaxys2_initramfs_files/init42
10 files changed, 67 insertions, 29 deletions
diff --git a/arch/arm/configs/cyanogenmod_d710_defconfig b/arch/arm/configs/cyanogenmod_d710_defconfig
index c396f95..e5945d3 100644
--- a/arch/arm/configs/cyanogenmod_d710_defconfig
+++ b/arch/arm/configs/cyanogenmod_d710_defconfig
@@ -2493,7 +2493,7 @@ CONFIG_MMC_EMBEDDED_SDIO=y
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_MINORS=12
CONFIG_MMC_BLOCK_BOUNCE=y
# CONFIG_MMC_BLOCK_DEFERRED_RESUME is not set
# CONFIG_SDIO_UART is not set
diff --git a/arch/arm/configs/cyanogenmod_i777_defconfig b/arch/arm/configs/cyanogenmod_i777_defconfig
index b3969ee..49d5e4d 100644
--- a/arch/arm/configs/cyanogenmod_i777_defconfig
+++ b/arch/arm/configs/cyanogenmod_i777_defconfig
@@ -2522,7 +2522,7 @@ CONFIG_MMC_EMBEDDED_SDIO=y
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_MINORS=12
CONFIG_MMC_BLOCK_BOUNCE=y
# CONFIG_MMC_BLOCK_DEFERRED_RESUME is not set
# CONFIG_SDIO_UART is not set
diff --git a/arch/arm/configs/cyanogenmod_i9100_defconfig b/arch/arm/configs/cyanogenmod_i9100_defconfig
index 5804d5b..1fe48b3 100644
--- a/arch/arm/configs/cyanogenmod_i9100_defconfig
+++ b/arch/arm/configs/cyanogenmod_i9100_defconfig
@@ -2521,7 +2521,7 @@ CONFIG_MMC_EMBEDDED_SDIO=y
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_MINORS=12
CONFIG_MMC_BLOCK_BOUNCE=y
# CONFIG_MMC_BLOCK_DEFERRED_RESUME is not set
# CONFIG_SDIO_UART is not set
diff --git a/arch/arm/configs/cyanogenmod_i9300_defconfig b/arch/arm/configs/cyanogenmod_i9300_defconfig
index 2743d3a..a493382 100644
--- a/arch/arm/configs/cyanogenmod_i9300_defconfig
+++ b/arch/arm/configs/cyanogenmod_i9300_defconfig
@@ -712,7 +712,6 @@ CONFIG_CMDLINE_EXTEND=y
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
-CONFIG_HAS_BLUETOOTH_DEADLOCKS=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
diff --git a/arch/arm/configs/cyanogenmod_n7000_defconfig b/arch/arm/configs/cyanogenmod_n7000_defconfig
index 7e233d1..0ac33a0 100644
--- a/arch/arm/configs/cyanogenmod_n7000_defconfig
+++ b/arch/arm/configs/cyanogenmod_n7000_defconfig
@@ -2541,7 +2541,7 @@ CONFIG_MMC_PARANOID_SD_INIT=y
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_MINORS=12
CONFIG_MMC_BLOCK_BOUNCE=y
# CONFIG_MMC_BLOCK_DEFERRED_RESUME is not set
# CONFIG_SDIO_UART is not set
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
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index c0be5f2..c473ce2 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -811,7 +811,7 @@ void tick_cancel_sched_timer(int cpu)
hrtimer_cancel(&ts->sched_timer);
# endif
- memset(ts, 0, sizeof(*ts));
+ ts->nohz_mode = NOHZ_MODE_INACTIVE;
}
#endif
diff --git a/usr/galaxys2_initramfs_files/init b/usr/galaxys2_initramfs_files/init
new file mode 100755
index 0000000..cb3da8e
--- /dev/null
+++ b/usr/galaxys2_initramfs_files/init
@@ -0,0 +1,42 @@
+#!/stage1/busybox sh
+_PATH="$PATH"
+export PATH=/stage1
+
+busybox cd /
+busybox date >>boot.txt
+exec >>boot.txt 2>&1
+busybox rm init
+busybox mount -t proc proc /proc
+busybox mount -t sysfs sysfs /sys
+
+load_image=/stage1/boot.cpio
+
+if busybox grep -q bootmode=2 /proc/cmdline ; then
+
+ # recovery boot
+
+ # default to recovery ramdisk bundled with kernel
+ load_image=/stage1/recovery.cpio
+
+ # attempt isorec (isolated recovery) boot
+
+ # if the raw /dev/block/platform/dw_mmc/by-name/RECOVERY
+ # partition contains valid lzop-compressed data
+ if busybox lzop -dc /dev/block/mmcblk0p6 > /stage1/isorec.cpio ; then
+ # and if said data is a valid cpio archive
+ if busybox cpio -t < /stage1/isorec.cpio ; then
+ # then use it as the recovery ramdisk
+ load_image=/stage1/isorec.cpio
+ fi
+ fi
+
+fi
+
+busybox cpio -i < ${load_image}
+
+busybox umount /sys
+busybox umount /proc
+busybox date >>boot.txt
+busybox rm -fr /stage1 /dev/*
+export PATH="${_PATH}"
+exec /init