Thomas Gleixner
ba714a9c1d
pinctrl/amd: Use regular interrupt instead of chained
...
The AMD pinctrl driver uses a chained interrupt to demultiplex the GPIO
interrupts. Kevin Vandeventer reported, that his new AMD Ryzen locks up
hard on boot when the AMD pinctrl driver is initialized. The reason is an
interrupt storm. It's not clear whether that's caused by hardware or
firmware or both.
Using chained interrupts on X86 is a dangerous endavour. If a system is
misconfigured or the hardware buggy there is no safety net to catch an
interrupt storm.
Convert the driver to use a regular interrupt for the demultiplex
handler. This allows the interrupt storm detector to catch the malfunction
and lets the system boot up.
This should be backported to stable because it's likely that more users run
into this problem as the AMD Ryzen machines are spreading.
Reported-by: Kevin Vandeventer
Link: https://bugzilla.suse.com/show_bug.cgi?id=1034261
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-06-09 10:51:54 +02:00
..
aspeed
pinctrl: aspeed: g5: Add pinconf support
2017-04-24 14:55:50 +02:00
bcm
pinctrl: bcm: make use of raw_spinlock variants
2017-03-16 16:39:14 +01:00
berlin
Pin control bulk changes for the v4.11 kernel cycle:
2017-02-21 16:34:22 -08:00
freescale
pinctrl: mxs: atomically switch mux and drive strength config
2017-05-23 11:27:53 +02:00
intel
pinctrl: cherryview: Extend the Chromebook DMI quirk to Intel_Strago systems
2017-05-23 10:08:40 +02:00
mediatek
pinctrl: mediatek: Use real dependencies
2017-01-26 16:26:50 +01:00
meson
This is the bulk of pin control changes for the v4.12 cycle:
2017-05-02 17:59:33 -07:00
mvebu
pinctrl: armada-37xx: Add gpio support
2017-04-24 13:47:29 +02:00
nomadik
pxa
qcom
This is the bulk of pin control changes for the v4.12 cycle:
2017-05-02 17:59:33 -07:00
samsung
This is the bulk of pin control changes for the v4.12 cycle:
2017-05-02 17:59:33 -07:00
sh-pfc
This is the bulk of pin control changes for the v4.12 cycle:
2017-05-02 17:59:33 -07:00
sirf
pinctrl: sirf: atlas7: make use of raw_spinlock variants
2017-03-16 16:39:15 +01:00
spear
pinctrl: spear: make bool drivers explicitly non-modular
2017-02-13 14:25:55 +01:00
stm32
pinctrl: stm32: Add STM32F469 MCU support
2017-04-24 14:26:14 +02:00
sunxi
pinctrl: sunxi: Fix SPDIF function name for A83T
2017-05-23 11:31:27 +02:00
tegra
pinctrl: tegra: xusb: Silence sparse warnings
2017-04-24 18:35:54 +02:00
ti
pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()
2017-04-07 01:08:08 +02:00
uniphier
This is the bulk of pin control changes for the v4.12 cycle:
2017-05-02 17:59:33 -07:00
vt8500
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
core.c
pinctrl: core: Fix warning by removing bogus code
2017-05-22 17:36:13 +02:00
core.h
devicetree.c
devicetree.h
Kconfig
pinctrl: Add pincontrol driver for ARTPEC-6 SoC
2017-04-07 11:48:33 +02:00
Makefile
pinctrl: armada-37xx: Add pin controller support for Armada 37xx
2017-04-24 11:31:36 +02:00
pinconf-generic.c
Revert "pinctrl: generic: Add bi-directional and output-enable"
2017-05-22 10:39:10 +02:00
pinconf.c
pinctrl: Fix spelling typos
2017-03-14 14:42:22 +01:00
pinconf.h
pinctrl: Allow configuration of pins from gpiolib based drivers
2017-01-26 15:23:01 +01:00
pinctrl-adi2-bf54x.c
pinctrl-adi2-bf60x.c
pinctrl-adi2.c
pinctrl-adi2.h
pinctrl-amd.c
pinctrl/amd: Use regular interrupt instead of chained
2017-06-09 10:51:54 +02:00
pinctrl-amd.h
pinctrl: amd: make use of raw_spinlock variants
2017-03-16 16:39:15 +01:00
pinctrl-artpec6.c
pinctrl: artpec6: Fix return value check in artpec6_pmx_probe()
2017-04-28 09:40:52 +02:00
pinctrl-as3722.c
pinctrl-at91-pio4.c
pinctrl: at91-pio4: handle suspend to ram
2017-04-07 14:32:51 +02:00
pinctrl-at91.c
pinctrl-at91.h
pinctrl-coh901.c
pinctrl-coh901.h
pinctrl-da850-pupd.c
Merge branch 'ib-pinctrl-genprops' into devel
2017-01-26 15:27:54 +01:00
pinctrl-digicolor.c
pinctrl-falcon.c
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-lpc18xx.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-max77620.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-oxnas.c
pinctrl-palmas.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-pic32.c
pinctrl-pic32.h
pinctrl-pistachio.c
pinctrl-rockchip.c
pinctrl: rockchip: avoid hardirq-unsafe functions in irq_chip
2017-03-28 11:18:50 +02:00
pinctrl-single.c
pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()
2017-04-07 01:08:08 +02:00
pinctrl-st.c
pinctrl: st: add irq_request/release_resources callbacks
2017-03-23 10:10:39 +01:00
pinctrl-sx150x.c
pinctrl / gpio: Introduce .set_config() callback for GPIO chips
2017-01-26 15:27:37 +01:00
pinctrl-tb10x.c
pinctrl-tz1090-pdc.c
pinctrl-tz1090.c
pinctrl-u300.c
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c
pinctrl-zynq.c
pinmux.c
pinctrl: core: Fix warning by removing bogus code
2017-05-22 17:36:13 +02:00
pinmux.h