mirror of
https://github.com/opnsense/src.git
synced 2026-05-13 17:50:39 -04:00
- 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
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| dwmmc.c | ||
| dwmmc_altera.c | ||
| dwmmc_hisi.c | ||
| dwmmc_reg.h | ||
| dwmmc_rockchip.c | ||
| dwmmc_samsung.c | ||
| dwmmc_var.h | ||