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
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
irq-bcm2836.c
irq-bcm6345-l1.c
irq-bcm7038-l1.c
irq-bcm7120-l2.c
irq-brcmstb-l2.c
irqchip: brcmstb-l2: Define an irq_pm_shutdown function
2017-08-07 13:50:52 +01:00
irq-clps711x.c
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
irq-ftintc010.c
irqchip/faraday: Replace moxa with ftintc010
2017-04-07 10:36:30 +01:00
irq-gic-common.c
irq-gic-common.h
irq-gic-pm.c
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
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
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
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
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
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
irq-sa11x0.c
irq-sirfsoc.c
irq-st.c
irq-stm32-exti.c
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
irq-ts4800.c
irq-versatile-fpga.c
irq-vf610-mscm-ir.c
irq-vic.c
irq-vt8500.c
irq-xilinx-intc.c
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