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