cvs commit: src/sys/i386/i386 busdma_machdep.c
Jake Burkholder
jake at FreeBSD.org
Mon Apr 7 09:08:33 PDT 2003
jake 2003/04/07 09:08:32 PDT
FreeBSD src repository
Modified files:
sys/i386/i386 busdma_machdep.c
Log:
Add support for bounce buffers to _bus_dmamap_load_buffer, which is the
backend for bus_dmamap_load_mbuf and bus_dmamap_load_uio.
- Increaes MAX_BPAGES to 512. Less than this causes fxp to quickly runs out
of bounce pages.
- Add an argument to reserve_bounce_pages indicating wether this operation
should fail or be queued for later processing if we run out of memory.
The EINPROGRESS return value is not handled properly by consumers of
bus_dmamap_load_mbuf.
- If bounce buffers are required allocate minimum 1 bounce page at map
creation time. If maxsize was small previously this could get truncated
to 0 and the drivers would quickly run out of bounce pages.
- Fix a bug handling the return value of alloc_bounce_pages at map creation
time. It returns the number of pages allocated, not 0 on success.
- Use bus_addr_t for physical addresses to avoid truncation.
- Assert that the map is non-null and not the no bounce map in
add_bounce_pages.
Sponsored by: DARPA, Network Associates Laboratories
Revision Changes Path
1.39 +63 -20 src/sys/i386/i386/busdma_machdep.c
More information about the cvs-src
mailing list