From: David Brown <davidb@codeaurora.org>
To: David Brown <davidb@codeaurora.org>,
Daniel Walker <dwalker@fifo99.com>,
Bryan Huntsman <bryanh@codeaurora.org>,
Russell King <linux@arm.linux.org.uk>
Cc: Stephen Boyd <sboyd@codeaurora.org>,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org
Subject: [PATCH 11/24] ARM: msm: Don't touch GIC registers outside of GIC code
Date: Wed, 12 Sep 2012 09:58:47 -0700 [thread overview]
Message-ID: <1347469140-25069-12-git-send-email-davidb@codeaurora.org> (raw)
In-Reply-To: <1347469140-25069-1-git-send-email-davidb@codeaurora.org>
From: Stephen Boyd <sboyd@codeaurora.org>
The MSM code has some antiquated register writes to set up the
PPIs to be edge triggered. Now that we have the percpu irq
interface we don't need this code so let's remove it and update
the percpu irq user (msm_timer) to set the irq type.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
---
arch/arm/mach-msm/board-msm8960.c | 13 -------------
arch/arm/mach-msm/board-msm8x60.c | 3 ---
arch/arm/mach-msm/platsmp.c | 8 --------
arch/arm/mach-msm/timer.c | 4 ++--
4 files changed, 2 insertions(+), 26 deletions(-)
diff --git a/arch/arm/mach-msm/board-msm8960.c b/arch/arm/mach-msm/board-msm8960.c
index 65f4a1d..bdafe79 100644
--- a/arch/arm/mach-msm/board-msm8960.c
+++ b/arch/arm/mach-msm/board-msm8960.c
@@ -55,24 +55,11 @@ static void __init msm8960_map_io(void)
static void __init msm8960_init_irq(void)
{
- unsigned int i;
gic_init(0, GIC_PPI_START, MSM_QGIC_DIST_BASE,
(void *)MSM_QGIC_CPU_BASE);
- /* Edge trigger PPIs except AVS_SVICINT and AVS_SVICINTSWDONE */
- writel(0xFFFFD7FF, MSM_QGIC_DIST_BASE + GIC_DIST_CONFIG + 4);
-
if (machine_is_msm8960_rumi3())
writel(0x0000FFFF, MSM_QGIC_DIST_BASE + GIC_DIST_ENABLE_SET);
-
- /* FIXME: Not installing AVS_SVICINT and AVS_SVICINTSWDONE yet
- * as they are configured as level, which does not play nice with
- * handle_percpu_irq.
- */
- for (i = GIC_PPI_START; i < GIC_SPI_START; i++) {
- if (i != AVS_SVICINT && i != AVS_SVICINTSWDONE)
- irq_set_handler(i, handle_percpu_irq);
- }
}
static struct platform_device *sim_devices[] __initdata = {
diff --git a/arch/arm/mach-msm/board-msm8x60.c b/arch/arm/mach-msm/board-msm8x60.c
index ad87207..64ae269 100644
--- a/arch/arm/mach-msm/board-msm8x60.c
+++ b/arch/arm/mach-msm/board-msm8x60.c
@@ -67,9 +67,6 @@ static void __init msm8x60_init_irq(void)
of_irq_init(msm_dt_gic_match);
#endif
- /* Edge trigger PPIs except AVS_SVICINT and AVS_SVICINTSWDONE */
- writel(0xFFFFD7FF, MSM_QGIC_DIST_BASE + GIC_DIST_CONFIG + 4);
-
/* RUMI does not adhere to GIC spec by enabling STIs by default.
* Enable/clear is supposed to be RO for STIs, but is RW on RUMI.
*/
diff --git a/arch/arm/mach-msm/platsmp.c b/arch/arm/mach-msm/platsmp.c
index db0117e..b119f99 100644
--- a/arch/arm/mach-msm/platsmp.c
+++ b/arch/arm/mach-msm/platsmp.c
@@ -22,17 +22,12 @@
#include <asm/mach-types.h>
#include <asm/smp_plat.h>
-#include <mach/msm_iomap.h>
-
#include "scm-boot.h"
#define VDD_SC1_ARRAY_CLAMP_GFS_CTL 0x15A0
#define SCSS_CPU1CORE_RESET 0xD80
#define SCSS_DBG_STATUS_CORE_PWRDUP 0xE64
-/* Mask for edge trigger PPIs except AVS_SVICINT and AVS_SVICINTSWDONE */
-#define GIC_PPI_EDGE_MASK 0xFFFFD7FF
-
extern void msm_secondary_startup(void);
/*
* control for which core is the next to come out of the secondary
@@ -50,9 +45,6 @@ static inline int get_core_count(void)
void __cpuinit platform_secondary_init(unsigned int cpu)
{
- /* Configure edge-triggered PPIs */
- writel(GIC_PPI_EDGE_MASK, MSM_QGIC_DIST_BASE + GIC_DIST_CONFIG + 4);
-
/*
* if any interrupts are already enabled for the primary
* core (e.g. timer irq), then they will not have been enabled
diff --git a/arch/arm/mach-msm/timer.c b/arch/arm/mach-msm/timer.c
index 004f935..846e1e5 100644
--- a/arch/arm/mach-msm/timer.c
+++ b/arch/arm/mach-msm/timer.c
@@ -151,7 +151,7 @@ static int __cpuinit msm_local_timer_setup(struct clock_event_device *evt)
*__this_cpu_ptr(msm_evt.percpu_evt) = evt;
clockevents_register_device(evt);
- enable_percpu_irq(evt->irq, 0);
+ enable_percpu_irq(evt->irq, IRQ_TYPE_EDGE_RISING);
return 0;
}
@@ -219,7 +219,7 @@ static void __init msm_timer_init(void)
res = request_percpu_irq(ce->irq, msm_timer_interrupt,
ce->name, msm_evt.percpu_evt);
if (!res) {
- enable_percpu_irq(ce->irq, 0);
+ enable_percpu_irq(ce->irq, IRQ_TYPE_EDGE_RISING);
#ifdef CONFIG_LOCAL_TIMERS
local_timer_register(&msm_local_timer_ops);
#endif
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
next prev parent reply other threads:[~2012-09-12 16:59 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1347469140-25069-1-git-send-email-davidb@codeaurora.org>
2012-09-12 16:58 ` [PATCH 01/24] ARM: msm: Remove msm_hw_reset_hook David Brown
2012-09-12 17:09 ` [GIT PULL] msm-core changes for v3.7 David Brown
2012-09-12 16:58 ` [PATCH 02/24] ARM: msm: clock-pcom: Mark functions static David Brown
2012-09-12 16:58 ` [PATCH 03/24] ARM: msm: Remove unused idle.c David Brown
2012-09-12 16:58 ` [PATCH 04/24] ARM: msm: Fix early debug uart mapping on some memory configs David Brown
2012-09-12 16:58 ` [PATCH 05/24] ARM: msm: io: Remove 7x30 iomap region from 7x00 David Brown
2012-09-12 16:58 ` [PATCH 06/24] ARM: msm: io: Change the default static iomappings to be shared David Brown
2012-09-12 16:58 ` [PATCH 07/24] ARM: msm: Add handle_irq handler for 8660 DT machine David Brown
2012-09-12 16:58 ` [PATCH 08/24] ARM: msm: Add msm8660-surf.dts to Makefile.boot David Brown
2012-09-12 16:58 ` [PATCH 09/24] ARM: msm: Remove call to missing FPGA init on 8660 David Brown
2012-09-12 16:58 ` [PATCH 10/24] ARM: msm: Fix sparse warnings due to incorrect type David Brown
2012-09-12 16:58 ` David Brown [this message]
2012-09-12 16:58 ` [PATCH 12/24] ARM: msm: Allow timer.c to compile on multiple targets David Brown
2012-09-12 16:58 ` [PATCH 13/24] ARM: msm: Add DT support to msm_timer David Brown
2012-09-12 16:58 ` [PATCH 14/24] ARM: msm: Move 8660 to DT timer David Brown
2012-09-12 16:58 ` [PATCH 15/24] ARM: msm: Make 8660 a DT only target David Brown
2012-09-12 16:58 ` [PATCH 16/24] ARM: msm: Rename board-msm8x60 to signify its DT only status David Brown
2012-09-12 16:58 ` [PATCH 17/24] ARM: msm: Move io mapping prototypes to common.h David Brown
2012-09-12 16:58 ` [PATCH 18/24] ARM: msm: Add DT support for 8960 David Brown
2012-09-12 16:58 ` [PATCH 19/24] ARM: msm: Remove non-DT targets from 8960 David Brown
2012-09-12 16:58 ` [PATCH 20/24] ARM: msm: dma: use list_move_tail instead of list_del/list_add_tail David Brown
2012-09-12 16:58 ` [PATCH 21/24] ARM: msm: Remove unused acpuclock-arm11 David Brown
2012-09-12 16:58 ` [PATCH 22/24] ARM: msm: Remove uncompiled board-msm7x27 David Brown
2012-09-12 16:58 ` [PATCH 23/24] ARM: msm: Allow msm_iomap-8x60 and msm_iomap-8960 to coexist David Brown
2012-09-12 16:59 ` [PATCH 24/24] ARM: msm: Allow 8960 and 8660 to compile together David Brown
2012-09-17 0:38 ` Olof Johansson
2012-09-13 6:36 ` [GIT PULL] msm-core changes for v3.7 Olof Johansson
2012-09-13 7:31 ` David Brown
2012-09-13 7:33 ` Olof Johansson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1347469140-25069-12-git-send-email-davidb@codeaurora.org \
--to=davidb@codeaurora.org \
--cc=bryanh@codeaurora.org \
--cc=dwalker@fifo99.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=sboyd@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).