James Hogan
2c0e838238
irqchip: mips-gic: SYNC after enabling GIC region
...
A SYNC is required between enabling the GIC region and actually trying
to use it, even if the first access is a read, otherwise its possible
depending on the timing (and in my case depending on the precise
alignment of certain kernel code) to hit CM bus errors on that first
access.
Add the SYNC straight after setting the GIC base.
[paul.burton@imgtec.com:
Changes later in this series increase our likelihood of hitting this
by reducing the amount of code that runs between enabling the GIC &
accessing it.]
Fixes: a7057270c2 ("irqchip: mips-gic: Add device-tree support")
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: <stable@vger.kernel.org> # 3.19.x-
Patchwork: https://patchwork.linux-mips.org/patch/17019/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2017-08-30 13:57:29 +02:00
..
alphascale_asm9260-icoll.h
exynos-combiner.c
irqchip/exynos-combiner: Fix usage of __raw IO
2016-06-23 18:26:42 +00:00
irq-alpine-msi.c
irq-armada-370-xp.c
irqchip updates for v4.13
2017-06-23 14:26:29 +02:00
irq-aspeed-i2c-ic.c
irqchip/aspeed-i2c-ic: Add I2C IRQ controller for Aspeed
2017-06-22 14:15:00 +01:00
irq-aspeed-vic.c
irqchip/aspeed-vic: Add AST2500 compatible string
2017-06-22 14:13:39 +01:00
irq-ath79-cpu.c
irq-ath79-misc.c
irq-atmel-aic-common.c
irqchip/atmel-aic: Remove root argument from ->fixup() prototype
2017-07-04 11:10:37 +01:00
irq-atmel-aic-common.h
irqchip/atmel-aic: Remove root argument from ->fixup() prototype
2017-07-04 11:10:37 +01:00
irq-atmel-aic.c
irqchip/atmel-aic: Remove root argument from ->fixup() prototype
2017-07-04 11:10:37 +01:00
irq-atmel-aic5.c
irqchip/atmel-aic: Remove root argument from ->fixup() prototype
2017-07-04 11:10:37 +01:00
irq-bcm2835.c
irqchip: bcm2835: Avoid arch/arm-specific handle_IRQ
2016-06-04 14:16:59 +00:00
irq-bcm2836.c
cpu/hotplug: Cleanup state names
2016-12-25 10:47:44 +01:00
irq-bcm6345-l1.c
treewide: remove redundant #include <linux/kconfig.h>
2016-10-11 15:06:33 -07:00
irq-bcm7038-l1.c
irqchip/bcm7038-l1: Implement irq_cpu_offline() callback
2016-11-18 14:17:22 +01:00
irq-bcm7120-l2.c
treewide: remove redundant #include <linux/kconfig.h>
2016-10-11 15:06:33 -07:00
irq-brcmstb-l2.c
irqchip: brcmstb-l2: Define an irq_pm_shutdown function
2017-08-07 13:50:52 +01:00
irq-clps711x.c
irqchip: clps711x: Changing the compatibility string to match with the smallest supported chip
2016-07-06 17:38:15 +02:00
irq-crossbar.c
irqchip/irqdomain updates for 4.11-rc2
2017-03-09 12:06:41 +01:00
irq-digicolor.c
irqchip/digicolor: Drop unnecessary static
2017-07-18 21:59:23 +02:00
irq-dw-apb-ictl.c
irq-eznps.c
irqchip/eznps: Drop pointless static qualifier in nps400_of_init()
2016-10-19 14:24:36 +02:00
irq-ftintc010.c
irqchip/faraday: Replace moxa with ftintc010
2017-04-07 10:36:30 +01:00
irq-gic-common.c
irqchip/gic: Prepare for adding platform driver
2016-06-13 11:53:52 +01:00
irq-gic-common.h
irq-gic-pm.c
irqchip/gic-pm: Update driver to use of_pm_clk_add_clk
2016-09-12 19:46:28 +01:00
irq-gic-realview.c
irqchip/gic/realview: Drop unnecessary static
2017-07-18 21:59:22 +02:00
irq-gic-v2m.c
irqchip/MSI: Use irq_domain_update_bus_token instead of an open coded access
2017-06-22 18:29:17 +02:00
irq-gic-v3-its-pci-msi.c
irqchip/gic-v3-its: Fix MSI alias accounting
2017-06-22 14:13:26 +01:00
irq-gic-v3-its-platform-msi.c
irqchip/gic-v3-its-platform-msi: Fix msi-parent parsing loop
2017-08-10 16:26:54 +01:00
irq-gic-v3-its.c
irqchip fixes for 4.13
2017-08-14 09:34:10 +02:00
irq-gic-v3.c
irqchip/gic: Ensure we have an ISB between ack and ->handle_irq
2017-08-02 16:55:59 +01:00
irq-gic.c
irqchip/gic: Ensure we have an ISB between ack and ->handle_irq
2017-08-02 16:55:59 +01:00
irq-hip04.c
cpu/hotplug: Cleanup state names
2016-12-25 10:47:44 +01:00
irq-i8259.c
irqchip/i8259: Constify irq_domain_ops
2017-06-22 14:12:49 +01:00
irq-imgpdc.c
irq-imx-gpcv2.c
irqchip/irq-imx-gpcv2: Constify irq_domain_ops
2017-06-22 14:12:55 +01:00
irq-ingenic.c
irq-jcore-aic.c
irqchip/jcore: Fix lost per-cpu interrupts
2016-10-14 14:26:55 +02:00
irq-keystone.c
irqchip/keystone: Fix "scheduling while atomic" on rt
2016-12-31 18:41:45 +00:00
irq-lpc32xx.c
irq-ls-scfg-msi.c
irq-mbigen.c
irqchip/irq-mbigen: Constify irq_domain_ops
2017-06-22 14:13:00 +01:00
irq-metag-ext.c
irqchip/metag-ext: Improve function-level documentation
2016-10-05 11:53:35 +02:00
irq-metag.c
irq-mips-cpu.c
irqchip/mips-cpu: Drop unnecessary static
2017-07-18 21:59:22 +02:00
irq-mips-gic.c
irqchip: mips-gic: SYNC after enabling GIC region
2017-08-30 13:57:29 +02:00
irq-mmp.c
irq-mtk-cirq.c
irqchip: Add Mediatek mtk-cirq driver
2017-04-07 10:52:22 +01:00
irq-mtk-sysirq.c
irqchip/mtk-sysirq: Remove unnecessary barrier when configuring trigger
2017-04-07 10:52:17 +01:00
irq-mvebu-gicp.c
irqchip/irq-mvebu-gicp: Allocate enough memory for spi_bitmap
2017-06-30 15:32:46 +01:00
irq-mvebu-gicp.h
irqchip/irq-mvebu-gicp: Add new driver for Marvell GICP
2017-06-23 09:14:57 +01:00
irq-mvebu-icu.c
irqchip/irq-mvebu-icu: Add new driver for Marvell ICU
2017-06-23 09:14:57 +01:00
irq-mvebu-odmi.c
irq-mvebu-pic.c
irqchip/mvebu-pic: New driver for Marvell Armada 7K/8K PIC
2016-08-22 22:58:27 +00:00
irq-mxs.c
irqchip/mxs: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND
2016-12-31 19:06:44 +00:00
irq-nvic.c
irq-omap-intc.c
irqchip/omap-intc: Fix missing <linux/irqchip/irq-omap-intc.h> include
2016-06-13 00:57:23 +00:00
irq-or1k-pic.c
irqchip/or1k-pic: Fix interrupt acknowledgement
2017-06-30 15:33:11 +01:00
irq-orion.c
irq-partition-percpu.c
irq-pic32-evic.c
irq-renesas-h8s.c
irqchip/irq-renesas-h8s: Constify irq_domain_ops
2017-06-22 14:13:20 +01:00
irq-renesas-h8300h.c
irqchip/irq-renesas-h8300h: Constify irq_domain_ops
2017-06-22 14:13:14 +01:00
irq-renesas-intc-irqpin.c
irq-renesas-irqc.c
irq-s3c24xx.c
irqchip/s3c24xx: Fixup IO accessors for big endian
2016-06-23 18:28:00 +00:00
irq-sa11x0.c
irq-sirfsoc.c
irqchip/sirfsoc: Fix sparse warnings on __iomem
2016-06-13 00:48:31 +00:00
irq-st.c
irqchip/st: Mark st_irq_syscfg_resume() __maybe_unused
2016-12-19 10:55:43 +01:00
irq-stm32-exti.c
drivers/irqchip: Add STM32 external interrupts support
2016-09-21 14:13:21 +02:00
irq-sun4i.c
irq-sunxi-nmi.c
irqchip/sunxi-nmi: Support sun6i-a31-r-intc compatible
2017-06-22 14:08:17 +01:00
irq-tango.c
irq-tb10x.c
irq-tegra.c
irqchip/tegra: Fix sparse warnings on __iomem
2016-06-13 00:49:39 +00:00
irq-ts4800.c
irq-versatile-fpga.c
irq-vf610-mscm-ir.c
irq-vic.c
irqchip/vic: Improve function-level documentation
2016-10-05 11:53:35 +02:00
irq-vt8500.c
irq-xilinx-intc.c
powerpc/virtex: Use generic xilinx irqchip driver
2016-11-29 09:14:50 +00:00
irq-xtensa-mx.c
xtensa: don't use linux IRQ #0
2017-06-05 16:53:10 -07:00
irq-xtensa-pic.c
xtensa: don't use linux IRQ #0
2017-06-05 16:53:10 -07:00
irq-zevio.c
irqchip.c
Kconfig
arm64 updates for 4.13:
2017-07-05 17:09:27 -07:00
Makefile
irqchip/irq-mvebu-icu: Add new driver for Marvell ICU
2017-06-23 09:14:57 +01:00
qcom-irq-combiner.c
irqchip/qcom: Use builtin_platform_driver to simplify the code
2017-06-22 14:15:00 +01:00
spear-shirq.c