opnsense-src/sys/arm/broadcom/bcm2835
Mitchell Horne 806ebc9eba bcm2835_sdhci: don't use DMA for kernel dumps
When handling a data irq, the sdhci driver calls the
sdhci_platform_will_handle() method, to determine if it should allow the
platform driver to handle the transfer or fall back to programmed I/O.
While dumping, the data irq path may be invoked directly (not from an
interrupt context), which the bcm2835_sdhci DMA code is not prepared to
handle. Return early in this case, to force the fallback to PIO.

Otherwise, the KASSERT that follows will be triggered, and the dump will
fail. On non-INVARIANTS kernels, the system will hang, waiting for a DMA
interrupt that will never arrive.

Reviewed by:	kevans
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D31893
2021-09-21 10:08:39 -03:00
..
bcm283x_dwc_fdt.c
bcm2835_audio.c arm: clean up empty lines in .c and .h files 2020-09-01 21:17:24 +00:00
bcm2835_bsc.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
bcm2835_bscreg.h
bcm2835_bscvar.h
bcm2835_clkman.c
bcm2835_clkman.h
bcm2835_cpufreq.c arm: clean up empty lines in .c and .h files 2020-09-01 21:17:24 +00:00
bcm2835_dma.c bcm2835: push address mapping conversion for DMA/mailbox to runtime 2019-11-20 03:57:46 +00:00
bcm2835_dma.h bcm2835_sdhci: "fix" DMA on the RPi 4 2019-11-23 01:46:02 +00:00
bcm2835_fb.c arm: clean up empty lines in .c and .h files 2020-09-01 21:17:24 +00:00
bcm2835_fbd.c Split long lines in the Raspberry Pi FB driver 2020-07-10 09:34:47 +00:00
bcm2835_firmware.c arm64: rpi4: firmware: Attach at BUS_PASS_BUS + BUS_PASS_ORDER_LATE 2021-02-17 13:18:21 +01:00
bcm2835_firmware.h Aadd Raspberry Pi firmware messages to manage GPIOs 2020-07-28 11:13:37 +00:00
bcm2835_ft5406.c rpi_ft5406: Recognize raspberrypi,firmware-ts touchscreen 2021-05-09 12:13:19 +02:00
bcm2835_gpio.c arm64: rpi4: gpio: Add brcm,bcm2711-gpio compatible 2021-02-17 13:18:26 +01:00
bcm2835_intr.c arm: clean up empty lines in .c and .h files 2020-09-01 21:17:24 +00:00
bcm2835_machdep.c arm: clean up empty lines in .c and .h files 2020-09-01 21:17:24 +00:00
bcm2835_mbox.c arm: clean up empty lines in .c and .h files 2020-09-01 21:17:24 +00:00
bcm2835_mbox.h
bcm2835_mbox_prop.h arm: clean up empty lines in .c and .h files 2020-09-01 21:17:24 +00:00
bcm2835_pwm.c arm: clean up empty lines in .c and .h files 2020-09-01 21:17:24 +00:00
bcm2835_rng.c arm64: Add support for bcm2838 RNG 2021-03-06 12:28:35 +01:00
bcm2835_sdhci.c bcm2835_sdhci: don't use DMA for kernel dumps 2021-09-21 10:08:39 -03:00
bcm2835_sdhost.c arm: clean up empty lines in .c and .h files 2020-09-01 21:17:24 +00:00
bcm2835_spi.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
bcm2835_spireg.h
bcm2835_spivar.h
bcm2835_systimer.c arm: clean up empty lines in .c and .h files 2020-09-01 21:17:24 +00:00
bcm2835_vcbus.c bcm2835_vcbus: unifdef all platform definitions 2020-01-17 21:39:28 +00:00
bcm2835_vcbus.h RPI: Fix DMA/SDHCI on the BCM2836 (Raspberry Pi 2) 2019-12-09 17:34:40 +00:00
bcm2835_vcio.c
bcm2835_wdog.c Fix reboot command on the Raspberry Pi series. 2020-06-22 08:12:21 +00:00
bcm2835_wdog.h
bcm2836.c bcm_lintc: don't attach if "interrupt-controller" is missing 2019-11-07 21:31:15 +00:00
bcm2836_mp.c
bcm2836_mp.h Remove "all rights reserved" from copyright for the file I own. 2019-12-03 21:00:45 +00:00
bcm2838_pci.c bcm2838_pci.c: Respect DMA limits of controller. 2020-09-12 23:49:43 +00:00
bcm2838_xhci.c arm: clean up empty lines in .c and .h files 2020-09-01 21:17:24 +00:00
files.bcm283x Handle Raspberry Pi 4 xhci firmware loading. 2020-08-03 10:19:50 +00:00
files.bcm2835
files.bcm2836
raspberrypi_gpio.c Add a GPIO driver for the Raspberry Pi firmware GPIOs 2020-08-03 17:18:12 +00:00
std.bcm2835
std.bcm2836
std.rpi
vc_vchi_audioserv_defs.h