[3.11.y.z extended stable] Patch "ARM: OMAP2+: Disable POSTED mode for errata i103 and i767" has been added to staging queue
Luis Henriques
luis.henriques at canonical.com
Wed Dec 11 14:41:01 UTC 2013
This is a note to let you know that I have just added a patch titled
ARM: OMAP2+: Disable POSTED mode for errata i103 and i767
to the linux-3.11.y-queue branch of the 3.11.y.z extended stable tree
which can be found at:
http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.11.y-queue
If you, or anyone else, feels it should not be added to this tree, please
reply to this email.
For more information about the 3.11.y.z tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
Thanks.
-Luis
------
>From 650552673fd7d17b09adcffd980e4dfdb412fecf Mon Sep 17 00:00:00 2001
From: Joel Fernandes <joelf at ti.com>
Date: Tue, 26 Nov 2013 15:03:36 -0800
Subject: ARM: OMAP2+: Disable POSTED mode for errata i103 and i767
commit 912e663127c5f700da6805ce21635dce703cb2cc upstream.
Enabling of Posted mode is seen to cause problems on dmtimer modules on AM33xx
(much like other OMAPs). Reference discussions on forums [1] [2]. Earlier
patch solving this on other OMAPs [3].
For OMAP SoCs with this errata, the fix has been to not enable Posted mode.
However, on some SoCs (atleast AM33xx) which carry this errata, Posted mode
is enabled on reset. So we not only need to ignore enabling of the POSTED bit
when the timer is requested, but also disable Posted mode if errata is present.
[1] http://e2e.ti.com/support/arm/sitara_arm/f/791/t/285744.aspx
[2] http://e2e.ti.com/support/arm/sitara_arm/f/791/t/270632.aspx
[3] http://www.spinics.net/lists/linux-omap/msg81770.html
Reported-by: Russ Dill <russ.dill at ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar at ti.com>
Signed-off-by: Joel Fernandes <joelf at ti.com>
Signed-off-by: Tony Lindgren <tony at atomide.com>
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
arch/arm/plat-omap/include/plat/dmtimer.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/arm/plat-omap/include/plat/dmtimer.h b/arch/arm/plat-omap/include/plat/dmtimer.h
index fb92abb..2861b15 100644
--- a/arch/arm/plat-omap/include/plat/dmtimer.h
+++ b/arch/arm/plat-omap/include/plat/dmtimer.h
@@ -336,8 +336,11 @@ static inline void __omap_dm_timer_enable_posted(struct omap_dm_timer *timer)
if (timer->posted)
return;
- if (timer->errata & OMAP_TIMER_ERRATA_I103_I767)
+ if (timer->errata & OMAP_TIMER_ERRATA_I103_I767) {
+ timer->posted = OMAP_TIMER_NONPOSTED;
+ __omap_dm_timer_write(timer, OMAP_TIMER_IF_CTRL_REG, 0, 0);
return;
+ }
__omap_dm_timer_write(timer, OMAP_TIMER_IF_CTRL_REG,
OMAP_TIMER_CTRL_POSTED, 0);
--
1.8.3.2
More information about the kernel-team
mailing list