mirror of
https://github.com/opnsense/src.git
synced 2026-04-27 17:17:19 -04:00
front-end doesn't support SDMA or the latter implements a platform-
specific transfer method instead. While at it, factor out allocation
and freeing of SDMA resources to sdhci_dma_{alloc,free}() in order to
keep the code more readable when adding support for ADMA variants.
o Base the size of the SDMA bounce buffer on MAXPHYS up to the maximum
of 512 KiB instead of using a fixed 4-KiB-buffer. With the default
MAXPHYS of 128 KiB and depending on the controller and medium, this
reduces the number of SDHCI interrupts by a factor of ~16 to ~32 on
sequential reads while an increase of throughput of up to ~84 % was
seen.
Front-ends for broken controllers that only support an SDMA buffer
boundary of a specific size may set SDHCI_QUIRK_BROKEN_SDMA_BOUNDARY
and supply a size via struct sdhci_slot. According to Linux, only
Qualcomm MSM-type SDHCI controllers are affected by this, though.
Requested by: Shreyank Amartya (unconditional bump to 512 KiB)
o Introduce a SDHCI_DEPEND macro for specifying the dependency of the
front-end modules on the sdhci(4) one and bump the module version
of sdhci(4) to 2 via an also newly introduced SDHCI_VERSION in order
to ensure that all components are in sync WRT struct sdhci_slot.
o In sdhci(4):
- Make pointers const were applicable,
- replace a few device_printf(9) calls with slot_printf() for
consistency, and
- sync some local functions with their prototypes WRT static.
|
||
|---|---|---|
| .. | ||
| bcm283x_dwc_fdt.c | ||
| bcm2835_audio.c | ||
| bcm2835_bsc.c | ||
| bcm2835_bscreg.h | ||
| bcm2835_bscvar.h | ||
| bcm2835_clkman.c | ||
| bcm2835_clkman.h | ||
| bcm2835_cpufreq.c | ||
| bcm2835_dma.c | ||
| bcm2835_dma.h | ||
| bcm2835_fb.c | ||
| bcm2835_fbd.c | ||
| bcm2835_ft5406.c | ||
| bcm2835_gpio.c | ||
| bcm2835_intr.c | ||
| bcm2835_machdep.c | ||
| bcm2835_mbox.c | ||
| bcm2835_mbox.h | ||
| bcm2835_mbox_prop.h | ||
| bcm2835_pwm.c | ||
| bcm2835_rng.c | ||
| bcm2835_sdhci.c | ||
| bcm2835_sdhost.c | ||
| bcm2835_spi.c | ||
| bcm2835_spireg.h | ||
| bcm2835_spivar.h | ||
| bcm2835_systimer.c | ||
| bcm2835_vcbus.h | ||
| bcm2835_vcio.c | ||
| bcm2835_wdog.c | ||
| bcm2835_wdog.h | ||
| bcm2836.c | ||
| bcm2836_mp.c | ||
| bcm2836_mp.h | ||
| files.bcm283x | ||
| files.bcm2835 | ||
| files.bcm2836 | ||
| std.bcm2835 | ||
| std.bcm2836 | ||
| std.rpi | ||
| vc_vchi_audioserv_defs.h | ||