summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/mailbox.c
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2011-03-11 03:54:14 +0100
committerTony Lindgren <tony@atomide.com>2011-03-11 03:54:14 +0100
commit94a06b74e724caabcf0464c81527cfbcae0c8aff (patch)
tree3570b6a627382a5eb5c8328b4959f615544d8e62 /arch/arm/mach-omap2/mailbox.c
parentMerge branch 'omap-l3-for-next' of git://dev.omapzoom.org/pub/scm/santosh/ker... (diff)
parentOMAP3: PM: Clear the SCTLR C bit in asm code to prevent data cache allocation (diff)
downloadlinux-94a06b74e724caabcf0464c81527cfbcae0c8aff.tar.xz
linux-94a06b74e724caabcf0464c81527cfbcae0c8aff.zip
Merge branch 'for_2.6.39/pm-misc' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
Diffstat (limited to 'arch/arm/mach-omap2/mailbox.c')
-rw-r--r--arch/arm/mach-omap2/mailbox.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
index 6e15e3d7c65e..86d564a640bb 100644
--- a/arch/arm/mach-omap2/mailbox.c
+++ b/arch/arm/mach-omap2/mailbox.c
@@ -138,10 +138,12 @@ static void omap2_mbox_disable_irq(struct omap_mbox *mbox,
omap_mbox_type_t irq)
{
struct omap_mbox2_priv *p = mbox->priv;
- u32 l, bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit;
- l = mbox_read_reg(p->irqdisable);
- l &= ~bit;
- mbox_write_reg(l, p->irqdisable);
+ u32 bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit;
+
+ if (!cpu_is_omap44xx())
+ bit = mbox_read_reg(p->irqdisable) & ~bit;
+
+ mbox_write_reg(bit, p->irqdisable);
}
static void omap2_mbox_ack_irq(struct omap_mbox *mbox,