Andrew Bresticker
4060bbe993
MIPS: Move gic.h to include/linux/irqchip/mips-gic.h
...
Now that the MIPS GIC irqchip lives in drivers/irqchip/, move
its header over to include/linux/irqchip/.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jason Cooper <jason@lakedaemon.net >
Cc: Paul Burton <paul.burton@imgtec.com >
Cc: Qais Yousef <qais.yousef@imgtec.com >
Cc: John Crispin <blogic@openwrt.org >
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8129/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:44:59 +01:00
Andrew Bresticker
327b8c89d4
MIPS: SEAD3: Stop using GIC REG macros
...
Stop using the REG macros from gic.h and instead use proper iomem
accessors.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Cc: Daniel Lezcano <daniel.lezcano@linaro.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jason Cooper <jason@lakedaemon.net >
Cc: Paul Burton <paul.burton@imgtec.com >
Cc: Qais Yousef <qais.yousef@imgtec.com >
Cc: John Crispin <blogic@openwrt.org >
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8125/
Patchwork: https://patchwork.linux-mips.org/patch/8228/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:44:58 +01:00
Andrew Bresticker
a393d93059
MIPS: SEAD3: Use generic plat_irq_dispatch
...
The generic plat_irq_dispatch provided in irq_cpu.c is sufficient for
dispatching interrupts on SEAD-3 in legacy and vectored interrupt modes.
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: Jeffrey Deans <jeffrey.deans@imgtec.com >
Cc: Markos Chandras <markos.chandras@imgtec.com >
Cc: Paul Burton <paul.burton@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/7822/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:44:57 +01:00
Andrew Bresticker
18743d2781
irqchip: mips-gic: Stop using per-platform mapping tables
...
Now that the GIC properly uses IRQ domains, kill off the per-platform
routing tables that were used to make the GIC appear transparent.
This includes:
- removing the mapping tables and the support for applying them,
- moving GIC IPI support to the GIC driver,
- properly routing the i8259 through the GIC on Malta, and
- updating IRQ assignments on SEAD-3 when the GIC is present.
Platforms no longer will pass an interrupt mapping table to gic_init.
Instead, they will pass the CPU interrupt vector (2 - 7) that they
expect the GIC to route interrupts to. Note that in EIC mode this
value is ignored and all GIC interrupts are routed to EIC vector 1.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Acked-by: Jason Cooper <jason@lakedaemon.net >
Reviewed-by: Qais Yousef <qais.yousef@imgtec.com >
Tested-by: Qais Yousef <qais.yousef@imgtec.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jeffrey Deans <jeffrey.deans@imgtec.com >
Cc: Markos Chandras <markos.chandras@imgtec.com >
Cc: Paul Burton <paul.burton@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/7816/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:44:56 +01:00
Andrew Bresticker
c49581a4df
irqchip: mips-gic: Use IRQ domains
...
Use a simple IRQ domain for the MIPS GIC. Remove the gic_platform_init
callback as it's no longer necessary for it to set the irqchip.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Acked-by: Jason Cooper <jason@lakedaemon.net >
Reviewed-by: Qais Yousef <qais.yousef@imgtec.com >
Tested-by: Qais Yousef <qais.yousef@imgtec.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jeffrey Deans <jeffrey.deans@imgtec.com >
Cc: Markos Chandras <markos.chandras@imgtec.com >
Cc: Paul Burton <paul.burton@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/7811/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:44:55 +01:00
Andrew Bresticker
5561c9e467
irqchip: mips-gic: Remove platform irq_ack/irq_eoi callbacks
...
There's no need for platforms to have their own GIC irq_ack/irq_eoi
callbacks. irq_ack need only clear the GIC's edge detector on
edge-triggered interrupts and there's no need at all for irq_eoi.
Also get rid of the mask_ack callback since it's not necessary either.
Signed-off-by: Andrew Bresticker <abrestic@chromium.org >
Acked-by: Jason Cooper <jason@lakedaemon.net >
Reviewed-by: Qais Yousef <qais.yousef@imgtec.com >
Tested-by: Qais Yousef <qais.yousef@imgtec.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jeffrey Deans <jeffrey.deans@imgtec.com >
Cc: Markos Chandras <markos.chandras@imgtec.com >
Cc: Paul Burton <paul.burton@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/7809/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:44:55 +01:00
Andrew Bresticker
a67b3cf1af
MIPS: Remove gic_{enable,disable}_interrupt()
...
Nothing calls gic_{enable,disable}_interrupt() any more.
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/7806/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2014-11-24 07:44:53 +01:00
Steven J. Hill
ff86714fda
MIPS: Move 'gic_present' to common location.
...
Move the global variable 'gic_present' to be defined in the file
'arch/mips/kernel/irq-gic.c' instead of defining it individually
for each platform making use of the GIC. Also change the type to
be an unsigned integer instead of signed.
Signed-off-by: Steven J. Hill <Steven.Hill@imgtec.com >
2013-05-09 17:55:20 +02:00
Steven J. Hill
3070033a16
MIPS: Add core files for MIPS SEAD-3 development platform.
...
More information about the SEAD-3 platform can be found at
<http://www.mips.com/products/development-kits/mips-sead-3/ >
on MTI's site. Currently, the M14K family of cores is what
the SEAD-3 is utilised with.
Signed-off-by: Douglas Leung <douglas@mips.com >
Signed-off-by: Chris Dearman <chris@mips.com >
Signed-off-by: Steven J. Hill <sjhill@mips.com >
2012-09-13 15:43:46 -05:00