Update bus_dma.9 for the expanded template API. Add some
clarifying language about the operation of parent tags in templates.
This commit is contained in:
parent
74c781ed91
commit
e18eb7b14e
@ -63,6 +63,8 @@
|
||||
.Nm bus_dma_template_init ,
|
||||
.Nm bus_dma_template_tag ,
|
||||
.Nm bus_dma_template_clone ,
|
||||
.Nm bus_dma_template_fill,
|
||||
.Nm BUS_DMA_TEMPLATE_FILL,
|
||||
.Nm bus_dmamap_create ,
|
||||
.Nm bus_dmamap_destroy ,
|
||||
.Nm bus_dmamap_load ,
|
||||
@ -90,19 +92,29 @@
|
||||
.Fn bus_dma_tag_destroy "bus_dma_tag_t dmat"
|
||||
.Ft void
|
||||
.Fo bus_dma_template_init
|
||||
.Fa "bus_dma_template_t template"
|
||||
.Fa "bus_dma_template_t *template"
|
||||
.Fa "bus_dma_tag_t parent"
|
||||
.Fc
|
||||
.Ft int
|
||||
.Fo bus_dma_template_tag
|
||||
.Fa "bus_dma_template_t template"
|
||||
.Fa "bus_dma_template_t *template"
|
||||
.Fa "bus_dma_tag_t *dmat"
|
||||
.Fc
|
||||
.Ft void
|
||||
.Fo bus_dma_template_clone
|
||||
.Fa "bus_dma_template_t template"
|
||||
.Fa "bus_dma_template_t *template"
|
||||
.Fa "bus_dma_tag_t dmat"
|
||||
.Fc
|
||||
.Ft void
|
||||
.Fo bus_dma_template_fill
|
||||
.Fa "bus_dma_template_t *template"
|
||||
.Fa "bus_dma_param_t params[]"
|
||||
.Fa "u_int count"
|
||||
.Fc
|
||||
.Fo BUS_DMA_TEMPLATE_FILL
|
||||
.Fa "bus_dma_template_t *template"
|
||||
.Fa "bus_dma_param_t param ..."
|
||||
.Fc
|
||||
.Ft int
|
||||
.Fn bus_dmamap_create "bus_dma_tag_t dmat" "int flags" "bus_dmamap_t *mapp"
|
||||
.Ft int
|
||||
@ -697,8 +709,12 @@ Initializes a
|
||||
.Fa bus_dma_template_t
|
||||
structure. If the
|
||||
.Fa parent
|
||||
argument is non-NULL, values from this tag will be copied into the template,
|
||||
replacing any defaults.
|
||||
argument is non-NULL, this parent tag is associated with the template and
|
||||
will be compiled into the dma tag that is later created. The values
|
||||
of the parent are not copied into the template. During tag creation in
|
||||
.Fn bus_dma_tag_template ,
|
||||
any parameters from the parent tag that are more restrictive than what is
|
||||
in the provided template will overwrite what goes into the new tag.
|
||||
.It Fn bus_dma_template_tag "*template" "*dmat"
|
||||
Unpacks a template into a tag, and returns the tag via the
|
||||
.Fa dmat .
|
||||
@ -712,6 +728,31 @@ The template does not need to be initialized first. All of its fields will
|
||||
be overwritten by the values contained in the tag. When paired with
|
||||
.Fn bus_dma_template_tag ,
|
||||
this function is useful for creating copies of tags.
|
||||
.It Fn bus_dma_template_fill "*template" "params[]" "count"
|
||||
Fills in the selected fields of the template with the keyed values from the
|
||||
.Fa params
|
||||
array. This is not meant to be called directly, use
|
||||
.Fn BUS_DMA_TEMPLATE_FILL
|
||||
instead.
|
||||
.It Fn BUS_DMA_TEMPLATE_FILL "*template" "param ..."
|
||||
Fills in the selected fields of the template with a variable number of
|
||||
key-value parameters. The macros listed below take an argument of the
|
||||
specified type and encapsulate it into a key-value structure that is directly
|
||||
usable as a parameter argument. Muliple parameters may be provided at once.
|
||||
.Bd -literal
|
||||
BD_PARENT() void *
|
||||
BD_ALIGNMENT() uintmax_t
|
||||
BD_BOUNDARY() uintmax_t
|
||||
BD_LOWADDR() vm_paddr_t
|
||||
BD_HIGHADDR() vm_paddr_t
|
||||
BD_MAXSIZE() uintmax_t
|
||||
BD_NSEGMENTS() uintmax_t
|
||||
BD_MAXSEGSIZE() uintmax_t
|
||||
BD_FLAGS() uintmax_t
|
||||
BD_LOCKFUNC() void *
|
||||
BD_LOCKFUNCARG() void *
|
||||
.Ed
|
||||
.Pp
|
||||
.It Fn bus_dmamap_create "dmat" "flags" "*mapp"
|
||||
Allocates and initializes a DMA map.
|
||||
Arguments are as follows:
|
||||
|
Loading…
x
Reference in New Issue
Block a user