HomeFreeBSD

MFC r347337:

Description

MFC r347337:

o Implement a bounce buffer based on device reserved memory.

Grab device reserved physical memory regions from FDT using standard
"memory-region" property and use vmem(9) to allocate buffers from it.
The same vmem could be used by DMA engine drivers to allocate memory for
DMA descriptors.
This is required for platforms that provide uncached memory region
reserved exclusively for DMA operations.

o Change sleepable sx(9) lock type to non-sleepable mutex(9) since

network drivers usually hold mutex during DMA operations. So we don't
take sleepable lock after non-sleepable.

Tested on U.S. Government Furnished Equipment (GFE) 64-bit RISC-V cores.

Sponsored by: DARPA, AFRL

Details

Provenance
brAuthored on
Parents
rS348622: MFC r347226:
Branches
Unknown
Tags
Unknown