Few more omap fixes that are not regressions or oopses and can

wait for the merge window.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.15 (GNU/Linux)
 
 iQIcBAABAgAGBQJSZ5QdAAoJEBvUPslcq6VzYjwQAKvzhTaA8yI3fKr7HYSGAfao
 lxHPaLMJORTCizyH/EUDSS0k2yDH8otIhyx1quQuC51Vk64vXxE1XXdsaPCy1t8B
 e+bWwAh51NgKJbSKDw+ZkNzSxePNmo+dRRCb6o5NQOgXuDqEwuyhZLaIS+7xVinw
 DSoKjU79bWexCZUEgHYAw/zi0KHRjro/FLrsiazcZt5zucijBjhBpvlyXik9Knpr
 nOZPUqeJd8ZXgEMqwPNiQDxYhIJNQVoHhF+upExU4bKOBMfTJDEqdoO344C6YyPn
 uzpYiHSSMdCfFi5Ahz1ZA/yYRo/9RqGdTFPIe0kL5Hk8vRxk5HZLUOeH+BFORudg
 ZvDURckFCDS7rwKvS4KVu28lr1sK36qDugdxYr1XN4RTNW6pmnf3GSuaHvd9BpaU
 UpMwENhR0JH5bG4McVTwKln6ogaqE0rbd+33QnPrsO3w+268sVbeiYhg5Dc3A5HO
 p2qKBWVlJevxLbUBnvFHpyrIn47LxFypl6pdlT+nh1UMjvW/zw1KGQcMONxGPUg9
 mZu9WG/qqgS/n+bekm0WB6e4bpkvRg9JzxFNQTJlvS3tCI+JG20eNN3u3JljOGER
 ngqPRQQ0e4FOZfZ1h/ejfrUjxOye+GzeeVgdtfOyUlrgGeLSHfWyZQo5vfER0EoV
 SIkm+t9gSHupqrlV5Q6X
 =WhmE
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.13/fixes-not-urgent-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes-non-critical

From Tony Lindgren:
Few more omap fixes that are not regressions or oopses and can
wait for the merge window.

* tag 'omap-for-v3.13/fixes-not-urgent-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: irq, AM33XX add missing register check
  ARM: OMAP2+: wakeupgen: AM43x adaptation

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2013-10-28 13:58:12 -07:00
commit 462fb38f3d
2 changed files with 14 additions and 6 deletions

View File

@ -233,7 +233,7 @@ static inline void omap_intc_handle_irq(void __iomem *base_addr, struct pt_regs
goto out; goto out;
irqnr = readl_relaxed(base_addr + 0xd8); irqnr = readl_relaxed(base_addr + 0xd8);
#ifdef CONFIG_SOC_TI81XX #if IS_ENABLED(CONFIG_SOC_TI81XX) || IS_ENABLED(CONFIG_SOC_AM33XX)
if (irqnr) if (irqnr)
goto out; goto out;
irqnr = readl_relaxed(base_addr + 0xf8); irqnr = readl_relaxed(base_addr + 0xf8);

View File

@ -33,8 +33,12 @@
#include "omap4-sar-layout.h" #include "omap4-sar-layout.h"
#include "common.h" #include "common.h"
#define MAX_NR_REG_BANKS 5 #define AM43XX_NR_REG_BANKS 7
#define MAX_IRQS 160 #define AM43XX_IRQS 224
#define MAX_NR_REG_BANKS AM43XX_NR_REG_BANKS
#define MAX_IRQS AM43XX_IRQS
#define DEFAULT_NR_REG_BANKS 5
#define DEFAULT_IRQS 160
#define WKG_MASK_ALL 0x00000000 #define WKG_MASK_ALL 0x00000000
#define WKG_UNMASK_ALL 0xffffffff #define WKG_UNMASK_ALL 0xffffffff
#define CPU_ENA_OFFSET 0x400 #define CPU_ENA_OFFSET 0x400
@ -47,8 +51,8 @@ static void __iomem *wakeupgen_base;
static void __iomem *sar_base; static void __iomem *sar_base;
static DEFINE_RAW_SPINLOCK(wakeupgen_lock); static DEFINE_RAW_SPINLOCK(wakeupgen_lock);
static unsigned int irq_target_cpu[MAX_IRQS]; static unsigned int irq_target_cpu[MAX_IRQS];
static unsigned int irq_banks = MAX_NR_REG_BANKS; static unsigned int irq_banks = DEFAULT_NR_REG_BANKS;
static unsigned int max_irqs = MAX_IRQS; static unsigned int max_irqs = DEFAULT_IRQS;
static unsigned int omap_secure_apis; static unsigned int omap_secure_apis;
/* /*
@ -418,12 +422,16 @@ int __init omap_wakeupgen_init(void)
irq_banks = OMAP4_NR_BANKS; irq_banks = OMAP4_NR_BANKS;
max_irqs = OMAP4_NR_IRQS; max_irqs = OMAP4_NR_IRQS;
omap_secure_apis = 1; omap_secure_apis = 1;
} else if (soc_is_am43xx()) {
irq_banks = AM43XX_NR_REG_BANKS;
max_irqs = AM43XX_IRQS;
} }
/* Clear all IRQ bitmasks at wakeupGen level */ /* Clear all IRQ bitmasks at wakeupGen level */
for (i = 0; i < irq_banks; i++) { for (i = 0; i < irq_banks; i++) {
wakeupgen_writel(0, i, CPU0_ID); wakeupgen_writel(0, i, CPU0_ID);
wakeupgen_writel(0, i, CPU1_ID); if (!soc_is_am43xx())
wakeupgen_writel(0, i, CPU1_ID);
} }
/* /*