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