From 3ab69c9bb444fc6e68cedb2039d2b1ab783e26a6 Mon Sep 17 00:00:00 2001 From: Androbot Date: Tue, 19 Oct 2010 19:11:57 +0200 Subject: [PATCH 1/5] Use more common headset name for better detection. --- arch/arm/mach-msm/galaxy/board-galaxy-headset.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-msm/galaxy/board-galaxy-headset.c b/arch/arm/mach-msm/galaxy/board-galaxy-headset.c index e19258cf..8a7e5311 100755 --- a/arch/arm/mach-msm/galaxy/board-galaxy-headset.c +++ b/arch/arm/mach-msm/galaxy/board-galaxy-headset.c @@ -154,7 +154,7 @@ static ssize_t h2w_print_name(struct switch_dev *sdev, char *buf) case H2W_NO_DEVICE: return sprintf(buf, "No Device\n"); case H2W_SEC_HEADSET: - return sprintf(buf, "H2W_SEC_HEADSET\n"); + return sprintf(buf, "Headset\n"); case H2W_NORMAL_HEADSET: return sprintf(buf, "H2W_NORMAL_HEADSET\n"); } From 46672789065d11bab6de414f99030270ac000f6a Mon Sep 17 00:00:00 2001 From: Androbot Date: Fri, 29 Oct 2010 16:27:34 +0200 Subject: [PATCH 2/5] msm: Support for configurable ondemand frequency range (cyanogen) --- arch/arm/Kconfig | 8 ++++++++ arch/arm/mach-msm/Kconfig | 38 +++++++++++++++++++------------------ arch/arm/mach-msm/cpufreq.c | 4 ++++ 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a4b25b30..70dc45f0 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1136,6 +1136,14 @@ endif source "drivers/cpuidle/Kconfig" +config CPU_FREQ_MSM + bool + depends on CPU_FREQ && ARCH_MSM + default y + help + This enables the CPUFreq driver for Qualcomm CPUs. + If in doubt, say Y. + endmenu menu "Floating point emulation" diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index a624dc55..41b8da77 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -336,24 +336,26 @@ config MSM_RPCSERVERS help none -config MSM_CPU_FREQ_SCREEN - bool - default n - depends on HAS_EARLYSUSPEND - help - Simple cpufreq scaling based on screen ON/OFF. - -if MSM_CPU_FREQ_SCREEN - -config MSM_CPU_FREQ_SCREEN_OFF - int "Screen off cpu frequency" - default 245760 - -config MSM_CPU_FREQ_SCREEN_ON - int "Screen on cpu frequency" - default 384000 - -endif # MSM_CPU_FREQ_SCREEN +if CPU_FREQ_MSM + +config MSM_CPU_FREQ_SET_MIN_MAX + bool "Set Min/Max CPU frequencies." + default n + help + Allow setting min and max CPU frequencies. Sysfs can be used + to override these values. + +config MSM_CPU_FREQ_MAX + int "Max CPU Frequency" + depends on MSM_CPU_FREQ_SET_MIN_MAX + default 384000 + +config MSM_CPU_FREQ_MIN + int "Min CPU Frequency" + depends on MSM_CPU_FREQ_SET_MIN_MAX + default 245760 + +endif # CPU_FREQ_MSM config MSM_HW3D tristate "MSM Hardware 3D Register Driver" diff --git a/arch/arm/mach-msm/cpufreq.c b/arch/arm/mach-msm/cpufreq.c index 53179912..317e4aac 100644 --- a/arch/arm/mach-msm/cpufreq.c +++ b/arch/arm/mach-msm/cpufreq.c @@ -90,6 +90,10 @@ static int __init msm_cpufreq_init(struct cpufreq_policy *policy) BUG_ON(cpufreq_frequency_table_cpuinfo(policy, table)); policy->cur = acpuclk_get_rate(); +#ifdef CONFIG_MSM_CPU_FREQ_SET_MIN_MAX + policy->min = CONFIG_MSM_CPU_FREQ_MIN; + policy->max = CONFIG_MSM_CPU_FREQ_MAX; +#endif policy->cpuinfo.transition_latency = acpuclk_get_switch_time() * NSEC_PER_USEC; return 0; From 4d2893e2c5df2b5b3662ca419f170fbfd7bec47a Mon Sep 17 00:00:00 2001 From: Androbot Date: Fri, 29 Oct 2010 16:32:14 +0200 Subject: [PATCH 3/5] msm7k: Update defconfig with stable clock settings (cyanogen) to avoid lock up at boot --- arch/arm/configs/gaosp_msm_defconfig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/arm/configs/gaosp_msm_defconfig b/arch/arm/configs/gaosp_msm_defconfig index 6bcfef48..e3f2028f 100644 --- a/arch/arm/configs/gaosp_msm_defconfig +++ b/arch/arm/configs/gaosp_msm_defconfig @@ -238,7 +238,9 @@ CONFIG_MSM_SERIAL_DEBUGGER=y CONFIG_MSM_SMD=y CONFIG_MSM_ONCRPCROUTER=y CONFIG_MSM_RPCSERVERS=y -# CONFIG_MSM_CPU_FREQ_SCREEN is not set +CONFIG_MSM_CPU_FREQ_SET_MIN_MAX=y +CONFIG_MSM_CPU_FREQ_MAX=528000 +CONFIG_MSM_CPU_FREQ_MIN=245760 CONFIG_MSM_HW3D=y CONFIG_MSM_ADSP=y # CONFIG_MSM_VREG_SWITCH_INVERTED is not set @@ -352,6 +354,7 @@ CONFIG_CPU_FREQ_SAMPLING_LATENCY_MULTIPLIER=1000 CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_FREQ_MSM=y # # Floating point emulation From aa9365b6ae8909701b0c2010138112858c2b849b Mon Sep 17 00:00:00 2001 From: Androbot Date: Fri, 29 Oct 2010 17:53:32 +0200 Subject: [PATCH 4/5] lowmemorykiller: don't consider swap as reclaimable (cyanogen) global_reclaimable_pages() also includes swap, which destroys performance if included. use NR_ACTIVE_FILE + NR_INACTIVE_FILE instead. --- drivers/staging/android/lowmemorykiller.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/android/lowmemorykiller.c b/drivers/staging/android/lowmemorykiller.c index b2ab7faa..bc02e2ad 100644 --- a/drivers/staging/android/lowmemorykiller.c +++ b/drivers/staging/android/lowmemorykiller.c @@ -59,7 +59,7 @@ static int lowmem_shrink(int nr_to_scan, gfp_t gfp_mask) int selected_tasksize = 0; int array_size = ARRAY_SIZE(lowmem_adj); int other_free = global_page_state(NR_FREE_PAGES); - int other_file = global_page_state(NR_FILE_PAGES); + int other_file = global_page_state(NR_ACTIVE_FILE) + global_page_state(NR_INACTIVE_FILE); if(lowmem_adj_size < array_size) array_size = lowmem_adj_size; if(lowmem_minfree_size < array_size) From 964a1f172bf90c72aae92a9a80837b81eb569532 Mon Sep 17 00:00:00 2001 From: Androbot Date: Thu, 4 Nov 2010 16:30:11 +0100 Subject: [PATCH 5/5] Lightsensor: disable debug code. --- drivers/i2c/chips/lightsensor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/i2c/chips/lightsensor.c b/drivers/i2c/chips/lightsensor.c index 4cc69415..a3870220 100755 --- a/drivers/i2c/chips/lightsensor.c +++ b/drivers/i2c/chips/lightsensor.c @@ -14,7 +14,7 @@ #include #endif -#define DEBUG 1 +#define DEBUG 0 #define TIME_INT (2*HZ) // 2 sec static struct workqueue_struct *lightsensor_wq;