Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
Commit 36c8c367 authored by Robert Nelson's avatar Robert Nelson
Browse files

sync with which dvfs patches are ready for 2.6.39


Signed-off-by: default avatarRobert Nelson <robertcnelson@gmail.com>
parent 44d2b42d
No related merge requests found
Showing
with 187 additions and 39 deletions
......@@ -290,8 +290,19 @@ patch -s -p1 < "${DIR}/patches/dspbridge/0037-staging-tidspbridge-set12-remove-h
function dvfs {
echo "dvfs"
patch -s -p1 < "${DIR}/patches/dvfs/for-2.6.39/0001-MAINTAINERS-update-Kevin-s-email-for-OMAP-PM-section.patch"
patch -s -p1 < "${DIR}/patches/dvfs/for-2.6.39/0002-OMAP3630-PM-don-t-warn-the-user-with-a-trace-in-case.patch"
patch -s -p1 < "${DIR}/patches/dvfs/for-2.6.39/0003-OMAP3-4-OPP-make-omapx_opp_init-non-static.patch"
patch -s -p1 < "${DIR}/patches/dvfs/for-2.6.39/0004-OMAP3-beagle-xm-enable-up-to-800MHz-OPP.patch"
patch -s -p1 < "${DIR}/patches/dvfs/for-2.6.39/0005-OMAP-PM-SmartReflex-fix-potential-NULL-dereference.patch"
patch -s -p1 < "${DIR}/patches/dvfs/for-2.6.39/0006-OMAP2-remove-unused-UART-base-addresses-from-omap_gl.patch"
patch -s -p1 < "${DIR}/patches/dvfs/for-2.6.39/0007-OMAP2-3-PM-remove-unnecessary-wakeup-sleep-dependenc.patch"
patch -s -p1 < "${DIR}/patches/dvfs/for-2.6.39/0008-omap3-pm-Use-exported-set_cr-instead-of-a-custom-one.patch"
patch -s -p1 < "${DIR}/patches/dvfs/for-2.6.39/0009-omap3-cpuidle-Add-description-field-to-each-C-state.patch"
patch -s -p1 < "${DIR}/patches/dvfs/for-2.6.39/0010-OMAP3-PM-Set-clear-T2-bit-for-Smartreflex-on-TWL.patch"
#from:http://gitorious.org/linux-omap-nm-sr/linux-omap-sr/commits/sr-dvfs-1.5
patch -s -p1 < "${DIR}/patches/dvfs/0001-MAINTAINERS-change-Kevin-s-email-for-OMAP-PM-section.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0002-OMAP3-CPUIdle-prevent-CORE-from-going-off-if-doing-s.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0003-OMAP-CPUfreq-ensure-driver-initializes-after-cpufreq.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0004-OMAP-CPUfreq-ensure-policy-is-fully-initialized.patch"
......@@ -300,13 +311,7 @@ patch -s -p1 < "${DIR}/patches/dvfs/0006-OMAP-PM-CPUFREQ-Fix-conditional-compila
patch -s -p1 < "${DIR}/patches/dvfs/0007-cpufreq-fixup-after-new-OPP-layer-merged.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0008-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0009-cpufreq-fixup-after-new-OPP-layer-merged.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0010-OMAP3630-PM-don-t-warn-the-user-with-a-trace-in-case.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0011-OMAP3-4-OPP-make-omapx_opp_init-non-static.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0012-OMAP3-beagle-xm-enable-up-to-800MHz-OPP.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0013-OMAP-PM-SmartReflex-fix-potential-NULL-dereference.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0014-OMAP2-remove-unused-UART-base-addresses-from-omap_gl.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0015-perf-add-OMAP-support-for-the-new-power-events.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0016-OMAP2-3-PM-remove-unnecessary-wakeup-sleep-dependenc.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0017-OMAP-Introduce-accessory-APIs-for-DVFS.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0018-OMAP-Introduce-device-specific-set-rate-and-get-rate.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0019-OMAP-Implement-Basic-DVFS.patch"
......@@ -320,7 +325,6 @@ patch -s -p1 < "${DIR}/patches/dvfs/0026-OMAP3-Add-voltage-dependency-table-for-
patch -s -p1 < "${DIR}/patches/dvfs/0027-OMAP2PLUS-Replace-voltage-values-with-Macros.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0028-OMAP2PLUS-Enable-various-options-in-defconfig.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0029-OMAP-Add-DVFS-Documentation.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0030-OMAP3-PM-Set-clear-T2-bit-for-Smartreflex-on-TWL.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0031-omap3430-voltage-fix-depedency-table.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0032-omap2-dvfs-fix-up-SR-enable-disable.patch"
patch -s -p1 < "${DIR}/patches/dvfs/0033-omap3-hwmod-add-smartreflex-irqs.patch"
......
From 76679cf056343e104f0001d014b85f8060b34ed5 Mon Sep 17 00:00:00 2001
From 95c1a64ae0dd3b5830a275ecae95267cdd4b738a Mon Sep 17 00:00:00 2001
From: Kevin Hilman <khilman@ti.com>
Date: Tue, 4 Jan 2011 15:33:08 -0800
Subject: [PATCH 01/56] MAINTAINERS: change Kevin's email for OMAP PM section
Subject: [PATCH 01/10] MAINTAINERS: update Kevin's email for OMAP PM section
Change my email to TI email address for OMAP PM maintenance.
......@@ -11,10 +11,10 @@ Signed-off-by: Kevin Hilman <khilman@ti.com>
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 5dd6c75..c63eb8a 100644
index 8afba63..6a58c8d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4485,7 +4485,7 @@ S: Maintained
@@ -4491,7 +4491,7 @@ S: Maintained
F: arch/arm/*omap*/*clock*
OMAP POWER MANAGEMENT SUPPORT
......
From 3f45fb7b89fd08ba2289ed74fab48e1fafcdc2b0 Mon Sep 17 00:00:00 2001
From f1c987b37dbec67d33df0ff36647cfc1c47c82bd Mon Sep 17 00:00:00 2001
From: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
Date: Mon, 31 Jan 2011 11:35:25 -0200
Subject: [PATCH 10/56] OMAP3630: PM: don't warn the user with a trace in case of PM34XX_ERRATUM
Subject: [PATCH 02/10] OMAP3630: PM: don't warn the user with a trace in case of PM34XX_ERRATUM
In case in user has a OMAP3630 < ES1.2 the kernel should warn the user
about the ERRATUM, but using pr_warn instead of WARN_ON is already
......@@ -16,10 +16,10 @@ Signed-off-by: Kevin Hilman <khilman@ti.com>
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-omap2/cpuidle34xx.c b/arch/arm/mach-omap2/cpuidle34xx.c
index b2d4e20..f8e35b3 100644
index f7b22a1..876eeca 100644
--- a/arch/arm/mach-omap2/cpuidle34xx.c
+++ b/arch/arm/mach-omap2/cpuidle34xx.c
@@ -496,7 +496,7 @@ void omap_init_power_states(void)
@@ -464,7 +464,7 @@ void omap_init_power_states(void)
if (IS_PM34XX_ERRATUM(PM_SDRC_WAKEUP_ERRATUM_i583)) {
omap3_power_states[OMAP3_STATE_C7].valid = 0;
cpuidle_params_table[OMAP3_STATE_C7].valid = 0;
......
From 604472251ff314d7a79ace6fe11736e2185d4707 Mon Sep 17 00:00:00 2001
From 48d72409c62bf155dd61280cff7bbc858dc0bbb3 Mon Sep 17 00:00:00 2001
From: Menon, Nishanth <nm@ti.com>
Date: Wed, 5 Jan 2011 20:49:35 +0000
Subject: [PATCH 11/56] OMAP3|4: OPP: make omapx_opp_init non-static
Subject: [PATCH 03/10] OMAP3|4: OPP: make omapx_opp_init non-static
omap3 and omap4 opp_init should be made non-static to allow
for platform specific opp table tweaking. making these static
......
From d36526037ea65a7c8bfdf27272d9a475a23b9031 Mon Sep 17 00:00:00 2001
From 30e21dcfcd931372c108a0cadf2bf6cb55716879 Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm@ti.com>
Date: Fri, 7 Jan 2011 09:41:13 -0600
Subject: [PATCH 12/56] OMAP3: beagle xm: enable up to 800MHz OPP
Subject: [PATCH 04/10] OMAP3: beagle xm: enable up to 800MHz OPP
OMP3630 silicon can enable higher frequencies only depending on the board
characteristics meeting the recommended standards, and has to be selectively
......
From 9f1c7c58af2c9725c4347a4e4a171884ba191da0 Mon Sep 17 00:00:00 2001
From 538b274aaac2a84c13401759aca6b2e571fb1cdd Mon Sep 17 00:00:00 2001
From: Vasiliy Kulikov <segoon@openwall.com>
Date: Wed, 19 Jan 2011 15:57:22 +0300
Subject: [PATCH 13/56] OMAP: PM: SmartReflex: fix potential NULL dereference
Subject: [PATCH 05/10] OMAP: PM: SmartReflex: fix potential NULL dereference
kzalloc() may fail, if so return -ENOMEM. Also Walter Harms suggested
to use kasprintf() instead of kzalloc+strcpy+strcat.
......@@ -13,7 +13,7 @@ Signed-off-by: Kevin Hilman <khilman@ti.com>
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
index c37e823..eba90a4 100644
index 95ac336..a1f532e 100644
--- a/arch/arm/mach-omap2/smartreflex.c
+++ b/arch/arm/mach-omap2/smartreflex.c
@@ -260,9 +260,11 @@ static int sr_late_init(struct omap_sr *sr_info)
......
From d62c777792b4080f5debf93c43d6bf3d3e67c61f Mon Sep 17 00:00:00 2001
From 110655bb8832e52170d2d2ed952304704f27669c Mon Sep 17 00:00:00 2001
From: Kevin Hilman <khilman@ti.com>
Date: Fri, 21 Jan 2011 14:30:15 -0800
Subject: [PATCH 14/56] OMAP2+: remove unused UART base addresses from omap_globals
Subject: [PATCH 06/10] OMAP2+: remove unused UART base addresses from omap_globals
Now that omap_hwmod + omap_device is used for OMAP UART device and
driver code, we no longer need the UART physical addresses in
......
From 42d5d9051e5c0b916eb1110bedac47e25f18329b Mon Sep 17 00:00:00 2001
From d0bc69bf5875fd8ff8cfc31e3005ab8f8b7b18c0 Mon Sep 17 00:00:00 2001
From: Paul Walmsley <paul@pwsan.com>
Date: Thu, 27 Jan 2011 02:52:55 -0700
Subject: [PATCH 16/56] OMAP2/3: PM: remove unnecessary wakeup/sleep dependency clear
Subject: [PATCH 07/10] OMAP2/3: PM: remove unnecessary wakeup/sleep dependency clear
The OMAP2 and OMAP3 PM code clears clockdomain wakeup and sleep
dependencies. This is unnecessary after commit
......@@ -43,10 +43,10 @@ index 97feb3a..10f8747 100644
clkdm_add_wkdep(mpu_clkdm, wkup_clkdm);
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index fd60820..7b2bc74 100644
index 6ade4ea..b9427c7 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -702,21 +702,6 @@ static void __init prcm_setup_regs(void)
@@ -695,21 +695,6 @@ static void __init prcm_setup_regs(void)
u32 omap3630_grpsel_uart4_mask = cpu_is_omap3630() ?
OMAP3630_GRPSEL_UART4_MASK : 0;
......
From 8704ef72ae49373f60ef4a678745cfd00106d99a Mon Sep 17 00:00:00 2001
From: Santosh Shilimkar <santosh.shilimkar@ti.com>
Date: Fri, 11 Feb 2011 20:42:11 +0530
Subject: [PATCH 08/10] omap3: pm: Use exported set_cr() instead of a custom one.
Remove the custom restore_control_register() and use the exported
set_cr() instead to set the system control register(SCTRL) value.
No functional change.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
---
arch/arm/mach-omap2/pm34xx.c | 7 +------
1 files changed, 1 insertions(+), 6 deletions(-)
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index b9427c7..1883a46 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -311,11 +311,6 @@ static irqreturn_t prcm_interrupt_handler (int irq, void *dev_id)
return IRQ_HANDLED;
}
-static void restore_control_register(u32 val)
-{
- __asm__ __volatile__ ("mcr p15, 0, %0, c1, c0, 0" : : "r" (val));
-}
-
/* Function to restore the table entry that was modified for enabling MMU */
static void restore_table_entry(void)
{
@@ -337,7 +332,7 @@ static void restore_table_entry(void)
control_reg_value = __raw_readl(scratchpad_address
+ OMAP343X_CONTROL_REG_VALUE_OFFSET);
/* This will enable caches and prediction */
- restore_control_register(control_reg_value);
+ set_cr(control_reg_value);
}
void omap_sram_idle(void)
--
1.7.1
From ae7531ad0a84cb796309afb4a203501c980e8cf1 Mon Sep 17 00:00:00 2001
From: Santosh Shilimkar <santosh.shilimkar@ti.com>
Date: Fri, 11 Feb 2011 20:42:12 +0530
Subject: [PATCH 09/10] omap3: cpuidle: Add description field to each C-state.
Add a description field to each idle C-state. This helps to give
better data with PowerTop and one don't have to refer to the code
to link what Cx means from system point of view while analysing
PowerTop data.
No functional change.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
---
arch/arm/mach-omap2/cpuidle34xx.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/cpuidle34xx.c b/arch/arm/mach-omap2/cpuidle34xx.c
index 876eeca..cba437d 100644
--- a/arch/arm/mach-omap2/cpuidle34xx.c
+++ b/arch/arm/mach-omap2/cpuidle34xx.c
@@ -58,6 +58,7 @@ struct omap3_processor_cx {
u32 core_state;
u32 threshold;
u32 flags;
+ const char *desc;
};
struct omap3_processor_cx omap3_power_states[OMAP3_MAX_STATES];
@@ -365,6 +366,7 @@ void omap_init_power_states(void)
omap3_power_states[OMAP3_STATE_C1].mpu_state = PWRDM_POWER_ON;
omap3_power_states[OMAP3_STATE_C1].core_state = PWRDM_POWER_ON;
omap3_power_states[OMAP3_STATE_C1].flags = CPUIDLE_FLAG_TIME_VALID;
+ omap3_power_states[OMAP3_STATE_C1].desc = "MPU ON + CORE ON";
/* C2 . MPU WFI + Core inactive */
omap3_power_states[OMAP3_STATE_C2].valid =
@@ -380,6 +382,7 @@ void omap_init_power_states(void)
omap3_power_states[OMAP3_STATE_C2].core_state = PWRDM_POWER_ON;
omap3_power_states[OMAP3_STATE_C2].flags = CPUIDLE_FLAG_TIME_VALID |
CPUIDLE_FLAG_CHECK_BM;
+ omap3_power_states[OMAP3_STATE_C2].desc = "MPU ON + CORE ON";
/* C3 . MPU CSWR + Core inactive */
omap3_power_states[OMAP3_STATE_C3].valid =
@@ -395,6 +398,7 @@ void omap_init_power_states(void)
omap3_power_states[OMAP3_STATE_C3].core_state = PWRDM_POWER_ON;
omap3_power_states[OMAP3_STATE_C3].flags = CPUIDLE_FLAG_TIME_VALID |
CPUIDLE_FLAG_CHECK_BM;
+ omap3_power_states[OMAP3_STATE_C3].desc = "MPU RET + CORE ON";
/* C4 . MPU OFF + Core inactive */
omap3_power_states[OMAP3_STATE_C4].valid =
@@ -410,6 +414,7 @@ void omap_init_power_states(void)
omap3_power_states[OMAP3_STATE_C4].core_state = PWRDM_POWER_ON;
omap3_power_states[OMAP3_STATE_C4].flags = CPUIDLE_FLAG_TIME_VALID |
CPUIDLE_FLAG_CHECK_BM;
+ omap3_power_states[OMAP3_STATE_C4].desc = "MPU OFF + CORE ON";
/* C5 . MPU CSWR + Core CSWR*/
omap3_power_states[OMAP3_STATE_C5].valid =
@@ -425,6 +430,7 @@ void omap_init_power_states(void)
omap3_power_states[OMAP3_STATE_C5].core_state = PWRDM_POWER_RET;
omap3_power_states[OMAP3_STATE_C5].flags = CPUIDLE_FLAG_TIME_VALID |
CPUIDLE_FLAG_CHECK_BM;
+ omap3_power_states[OMAP3_STATE_C5].desc = "MPU RET + CORE RET";
/* C6 . MPU OFF + Core CSWR */
omap3_power_states[OMAP3_STATE_C6].valid =
@@ -440,6 +446,7 @@ void omap_init_power_states(void)
omap3_power_states[OMAP3_STATE_C6].core_state = PWRDM_POWER_RET;
omap3_power_states[OMAP3_STATE_C6].flags = CPUIDLE_FLAG_TIME_VALID |
CPUIDLE_FLAG_CHECK_BM;
+ omap3_power_states[OMAP3_STATE_C6].desc = "MPU OFF + CORE RET";
/* C7 . MPU OFF + Core OFF */
omap3_power_states[OMAP3_STATE_C7].valid =
@@ -455,6 +462,7 @@ void omap_init_power_states(void)
omap3_power_states[OMAP3_STATE_C7].core_state = PWRDM_POWER_OFF;
omap3_power_states[OMAP3_STATE_C7].flags = CPUIDLE_FLAG_TIME_VALID |
CPUIDLE_FLAG_CHECK_BM;
+ omap3_power_states[OMAP3_STATE_C7].desc = "MPU OFF + CORE OFF";
/*
* Erratum i583: implementation for ES rev < Es1.2 on 3630. We cannot
@@ -512,6 +520,7 @@ int __init omap3_idle_init(void)
if (cx->type == OMAP3_STATE_C1)
dev->safe_state = state;
sprintf(state->name, "C%d", count+1);
+ strncpy(state->desc, cx->desc, CPUIDLE_DESC_LEN);
count++;
}
--
1.7.1
From cff7eec3a8e11627fe43f33f3fcf4fb9a22887d2 Mon Sep 17 00:00:00 2001
From 82789764b2be72b6d4192ce25e3dc706ba08cf48 Mon Sep 17 00:00:00 2001
From: Thara Gopinath <thara@ti.com>
Date: Fri, 4 Feb 2011 11:17:34 +0530
Subject: [PATCH 30/56] OMAP3: PM: Set/clear T2 bit for Smartreflex on TWL
Date: Tue, 15 Feb 2011 13:28:58 +0530
Subject: [PATCH 10/10] OMAP3: PM: Set/clear T2 bit for Smartreflex on TWL
Voltage control on TWL can be done using VMODE/I2C1/I2C_SR.
Since almost all platforms use I2C_SR on omap3, omap3_twl_init by
......@@ -14,13 +14,15 @@ the default behavior of omap3_twl_init.
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Shweta Gulati <shweta.gulati@ti.com>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Kevin Hilman <khilman@ti.com>
---
arch/arm/mach-omap2/omap_twl.c | 61 ++++++++++++++++++++++++++++++++++++++++
arch/arm/mach-omap2/omap_twl.c | 60 ++++++++++++++++++++++++++++++++++++++++
arch/arm/mach-omap2/pm.h | 1 +
2 files changed, 62 insertions(+), 0 deletions(-)
2 files changed, 61 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
index 00e1d2b..87e07da 100644
index 00e1d2b..b341c36 100644
--- a/arch/arm/mach-omap2/omap_twl.c
+++ b/arch/arm/mach-omap2/omap_twl.c
@@ -59,8 +59,15 @@
......@@ -58,7 +60,7 @@ index 00e1d2b..87e07da 100644
voltdm = omap_voltage_domain_lookup("mpu");
omap_voltage_register_pmic(voltdm, &omap3_mpu_volt_info);
@@ -277,3 +296,45 @@ int __init omap3_twl_init(void)
@@ -277,3 +296,44 @@ int __init omap3_twl_init(void)
return 0;
}
......@@ -94,7 +96,7 @@ index 00e1d2b..87e07da 100644
+ temp &= ~SMARTREFLEX_ENABLE;
+
+ ret = twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, temp,
+ TWL4030_DCDC_GLOBAL_CFG);
+ TWL4030_DCDC_GLOBAL_CFG);
+ if (!ret) {
+ twl_sr_enable_autoinit = true;
+ return 0;
......@@ -103,7 +105,6 @@ index 00e1d2b..87e07da 100644
+ pr_err("%s: Error access to TWL4030 (%d)\n", __func__, ret);
+ return ret;
+}
+
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
index 1c1b0ab..f4a5f71 100644
--- a/arch/arm/mach-omap2/pm.h
......
......@@ -7,7 +7,7 @@ KERNEL_REL=2.6.37
#PRE_RC=2.6.37-git18
RC_KERNEL=2.6.38
RC_PATCH=-rc7
ABI=3
ABI=3.1
if [ "${NO_DEVTMPS}" ] ; then
BUILD=dold${ABI}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment