Andrew Bresticker
a669efc4a3
MIPS: Add hook to get C0 performance counter interrupt
...
The hardware perf event driver and oprofile interpret the global
cp0_perfcount_irq differently: in the hardware perf event driver
it is an offset from MIPS_CPU_IRQ_BASE and in oprofile it is the
actual IRQ number. This still works most of the time since
MIPS_CPU_IRQ_BASE is usually 0, but is clearly wrong. Since the
performance counter interrupt may vary from platform to platform
like the C0 timer interrupt, add the optional get_c0_perfcount_int
hook which returns the IRQ number of the performance counter.
The hook should return < 0 if the performance counter interrupt is
shared with the timer. If the hook is not present, the CPU vector
reported in C0_IntCtl (cp0_perfcount_irq) is used.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Reviewed-by: Qais Yousef <qais.yousef@imgtec.com >
Tested-by: Qais Yousef <qais.yousef@imgtec.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jason Cooper <jason@lakedaemon.net >
Cc: Andrew Bresticker <abrestic@chromium.org >
Cc: Jeffrey Deans <jeffrey.deans@imgtec.com >
Cc: Markos Chandras <markos.chandras@imgtec.com >
Cc: Paul Burton <paul.burton@imgtec.com >
Cc: Qais Yousef <qais.yousef@imgtec.com >
Cc: Jonas Gorski <jogo@openwrt.org >
Cc: John Crispin <blogic@openwrt.org >
Cc: David Daney <ddaney.cavm@gmail.com >
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/7805/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:44:53 +01:00
Gabor Juhos
53330332f1
MIPS: ath79: add IRQ handling code for the QCA955X SoCs
...
The IRQ routing in the QCA955x SoCs is slightly
different from the routing implemented in the
already supported SoCs.
Cc: Rodriguez, Luis <rodrigue@qca.qualcomm.com >
Cc: Giori, Kathy <kgiori@qca.qualcomm.com >
Cc: QCA Linux Team <qca-linux-team@qca.qualcomm.com >
Signed-off-by: Gabor Juhos <juhosg@openwrt.org >
Patchwork: http://patchwork.linux-mips.org/patch/4955/
Signed-off-by: John Crispin <blogic@openwrt.org >
2013-02-19 09:36:25 +01:00
Gabor Juhos
fd633cf1cf
ath79: remove ATH79_MISC_IRQ_* defines
...
Use the ATH79_MISC_IRQ() macro instead.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org >
Patchwork: http://patchwork.linux-mips.org/patch/4930/
Signed-off-by: John Crispin <blogic@openwrt.org >
2013-02-17 01:25:42 +01:00
Gabor Juhos
7e69c10a8e
ath79: add ATH79_CPU_IRQ() macro
...
Remove the individual ATH79_CPU_IRQ_* constants and
use the new macro instead of those.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org >
Patchwork: http://patchwork.linux-mips.org/patch/4929/
Signed-off-by: John Crispin <blogic@openwrt.org >
2013-02-17 01:25:41 +01:00
Gabor Juhos
9c099c4e79
MIPS: ath79: simplify MISC IRQ handling
...
The current code uses multiple if statements for
demultiplexing the different interrupt sources.
Additionally, the MISC interrupt controller has
32 interrupt sources and the current code does not
handles all of them.
Get rid of the if statements and process all interrupt
sources in a loop to fix these issues.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org >
Patchwork: http://patchwork.linux-mips.org/patch/4874/
Signed-off-by: John Crispin <blogic@openwrt.org >
2013-02-17 01:25:27 +01:00
Gabor Juhos
fce5cc6e0d
MIPS: ath79: add IRQ handling code for AR934X
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org >
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com >
Cc: linux-mips@linux-mips.org
Cc: mcgrof@infradead.org
Patchwork: https://patchwork.linux-mips.org/patch/3510/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2012-05-15 17:49:09 +02:00
Gabor Juhos
4dbcbdf813
MIPS: ath79: rework IP2/IP3 interrupt handling
...
The current implementation assumes that flushing the
DDR writeback buffer is required for IP2/IP3 interrupts,
however this is not true for all SoCs.
Use SoC specific IP2/IP3 handlers instead of flushing
the buffers in the dispatcher code.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org >
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com >
Cc: linux-mips@linux-mips.org
Cc: mcgrof@infradead.org
Patchwork: https://patchwork.linux-mips.org/patch/3509/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2012-05-15 17:49:08 +02:00
Gabor Juhos
54eed4c77c
MIPS: ath79: Add AR933X specific IRQ initialization
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org >
Cc: linux-mips@linux-mips.org
Cc: Kathy Giori <kgiori@qca.qualcomm.com >
Cc: "Luis R. Rodriguez" <rodrigue@qca.qualcomm.com >
Patchwork: https://patchwork.linux-mips.org/patch/2530/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2011-12-07 22:02:45 +00:00
Gabor Juhos
d2b4ac1e5d
MIPS: ath79: Handle more MISC IRQs
...
The AR724X SoCs have more IRQ sources hooked into the MISC IRQ controller.
The patch adds support for them.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org >
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2440/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2011-12-07 22:02:44 +00:00
Thomas Gleixner
e4ec7989b4
MIPS: Convert the irq functions to the new names
...
Scripted with coccinelle.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2011-03-29 14:48:07 +02:00
Thomas Gleixner
3fb8818bd2
MIPS: ath79: Convert to new irq_chip functions
...
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2175/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2011-03-25 18:45:15 +01:00
Ralf Baechle
f9b08d9c60
MIPS: Remove useless initialization.
...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2011-03-25 18:45:13 +01:00
Gabor Juhos
d4a67d9dc8
MIPS: Add initial support for the Atheros AR71XX/AR724X/AR931X SoCs
...
This patch adds initial support for various Atheros SoCs based on the
MIPS 24Kc core. The following models are supported at the moment:
- AR7130
- AR7141
- AR7161
- AR9130
- AR9132
- AR7240
- AR7241
- AR7242
The current patch contains minimal support only, but the resulting
kernel can boot into user-space with using of an initramfs image on
various boards which are using these SoCs. Support for more built-in
devices and individual boards will be implemented in further patches.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org >
Signed-off-by: Imre Kaloz <kaloz@openwrt.org >
Cc: linux-mips@linux-mips.org
Cc: Luis R. Rodriguez <lrodriguez@atheros.com >
Cc: Cliff Holden <Cliff.Holden@Atheros.com >
Cc: Kathy Giori <Kathy.Giori@Atheros.com >
Patchwork: https://patchwork.linux-mips.org/patch/1947/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2011-01-18 19:30:24 +01:00