git: busdma: Add PRIVBZONE and ALLOCALL bus_dma_tag_create() flags.

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Sat Jan 8 07:17:17 PST 2011


commit 7dbe273f94637e135182a3153c43b9d96a2a67ee
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date:   Mon Dec 27 15:44:23 2010 +0800

    busdma: Add PRIVBZONE and ALLOCALL bus_dma_tag_create() flags.
    
    PRIVBZONE
      Use a private bounce zone instead of a shared one.  A private bounce
      zone will vanish if the dma_tag is destroyed.
    
    ALLOCALL
      Allocate all required resources (mainly bounce buffer), if any
      allocation failes, bus_dmamap_create() will fail.
    
    Using PRIVBZONE alone could possiblely reduce the contention between
    driver instances.
    
    Using PRIVBZONE and ALLOCALL could promise that the "defered dmamap
    load callback" will not happen.  This could be used to ease some driver
    work and reduce the work load to fix the existing drivers which may
    (incorrectly) rely on or may not expect the "defered dmamap load
    callback" semantic of bus_dmamap_load().

Summary of changes:
 sys/platform/pc32/i386/busdma_machdep.c   |  108 ++++++++++++++++++++++++-----
 sys/platform/pc64/x86_64/busdma_machdep.c |  108 ++++++++++++++++++++++++-----
 sys/sys/bus_dma.h                         |    2 +
 3 files changed, 182 insertions(+), 36 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7dbe273f94637e135182a3153c43b9d96a2a67ee


-- 
DragonFly BSD source repository





More information about the Commits mailing list