freebsd-skq/sys/dev/mmc/host
Michal Meloun 8727c174b0 dwmmc: Multiple busdma fixes.
- limit maximum segment size to 2048 bytes.  Although dwmmc supports a buffer
  fragment with a maximum length of 4095 bytes, use the nearest lower power
  of two as the maximum fragment size. Otherwise, busdma create excessive
  buffer fragments.
- fix off by one error in computation of the maximum data transfer length.
- in addition, reserve two DMA descriptors that can be used by busdma
  bouncing. The beginning or end of the buffer can be misaligned.
- Don’t ignore errors passed to bus_dmamap_load() callback function.
- In theory, a DMA engine may be running at time when next dma descriptor is
  constructed. Create a full DMA descriptor before OWN bit is set.

MFC after:	2 weeks
2021-02-03 21:15:11 +01:00
..
dwmmc_altera.c arm: dwmmc: Use mmc_fdt_helpers 2020-04-14 16:35:18 +00:00
dwmmc_hisi.c arm: dwmmc: Use mmc_fdt_helpers 2020-04-14 16:35:18 +00:00
dwmmc_reg.h
dwmmc_rockchip.c arm: dwmmc: Use mmc_fdt_helpers 2020-04-14 16:35:18 +00:00
dwmmc_samsung.c arm: dwmmc: Use mmc_fdt_helpers 2020-04-14 16:35:18 +00:00
dwmmc_var.h dwmmc: Add MMCCAM part 2020-07-24 19:52:52 +00:00
dwmmc.c dwmmc: Multiple busdma fixes. 2021-02-03 21:15:11 +01:00