bus_dma_tag fixes and enhancements.
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 4 Jun 2009 18:10:20 +0000 (11:10 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 4 Jun 2009 18:10:20 +0000 (11:10 -0700)
commit6eed46e7fc815d4961ef5a4e274c13c3d98b0ce7
tree1409fec7fc9b128e695a81c89ca54b3e89bce806
parentd55cd0cb2cf1bf7e208b3554817f9bd130543c36
bus_dma_tag fixes and enhancements.

* Protect the cached segment list in the bus_dma_tag structure
  with a spinlock.

* Cache up to 8 segments on the stack when applicable (needs more work).

* Add function call bus_dma_tag_getmaxsize() to access the maxsize field
  in the tag.

* Fix a bug in bus_dmamap_load_uio() which did not properly append segments
  when the uio has more then one iov.  (untested).
sys/platform/pc32/i386/busdma_machdep.c
sys/platform/pc64/amd64/busdma_machdep.c