Lines Matching +full:no +full:- +full:map

16 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR, CONTRIBUTORS OR THE
44 .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
119 .Fn bus_dmamap_destroy "bus_dma_tag_t dmat" "bus_dmamap_t map"
121 .Fn bus_dmamap_load "bus_dma_tag_t dmat" "bus_dmamap_t map" "void *buf" \
125 .Fn bus_dmamap_load_bio "bus_dma_tag_t dmat" "bus_dmamap_t map" \
129 .Fn bus_dmamap_load_ccb "bus_dma_tag_t dmat" "bus_dmamap_t map" \
133 .Fn bus_dmamap_load_crp "bus_dma_tag_t dmat" "bus_dmamap_t map" \
137 .Fn bus_dmamap_load_crp_buffer "bus_dma_tag_t dmat" "bus_dmamap_t map" \
141 .Fn bus_dmamap_load_mbuf "bus_dma_tag_t dmat" "bus_dmamap_t map" \
145 .Fn bus_dmamap_load_mbuf_sg "bus_dma_tag_t dmat" "bus_dmamap_t map" \
148 .Fn bus_dmamap_load_uio "bus_dma_tag_t dmat" "bus_dmamap_t map" \
152 .Fn bus_dmamap_unload "bus_dma_tag_t dmat" "bus_dmamap_t map"
154 .Fn bus_dmamap_sync "bus_dma_tag_t dmat" "bus_dmamap_t map" \
161 "bus_dmamap_t map"
170 API is a bus, device, and machine-independent (MI) interface to
182 For example, if a DMA engine in a device is limited to 32-bit addresses,
190 For example, a device might require 16-byte alignment of its descriptor ring
201 The per-group tags can then inherit these restrictions from this
203 tag rather than having to list them explicitly when creating the per-group tags.
223 When a mapping is no longer needed,
234 Sync operations also handle architecture-specific details such as CPU cache
239 Static transactions are used with a long-lived memory region that is reused
279 Dynamic transactions map memory regions provided by other parts of the system.
285 to track the mappings of any in-flight transactions.
309 When a consumer is no longer scheduling DMA transactions,
315 .Bl -tag -width indent
317 A machine-dependent (MD) opaque type that describes the
329 a driver can over-ride individual fields to suit its needs.
331 .Bd -literal
353 .Bl -tag -width indent
371 .Ql trunc_page(testaddr) + PAGE_SIZE - 1 ,
374 can be accommodated by the device and non-zero otherwise.
376 .Em Note: The use of filters is no longer supported and will result in an error.
378 A machine-dependent type that describes individual
381 .Bd -literal
396 A machine-dependent opaque type describing an individual mapping.
397 One map is used for each memory allocation that will be loaded.
400 While the value of the map may evaluate to
418 .Bl -tag -width indent
450 .Bl -tag -width indent
482 .Bl -tag -width ".Dv BUS_DMASYNC_POSTWRITE"
505 will not be called since the function loading the map should
508 .Bl -tag -width indent
537 Operations to be performed by the client-specified
539 .Bl -tag -width ".Dv BUS_DMA_UNLOCK"
547 .Bl -tag -width indent
553 .Bl -tag -width ".Fa filtfuncarg"
577 The boundary must be a power of 2 and must be no smaller than the
580 indicates that there are no boundary restrictions.
631 .Bl -tag -width ".Dv BUS_DMA_ALLOCNOW"
633 Pre-allocate enough resources to handle at least one map load operation on
645 Indicate that the DMA engine and CPU are cache-coherent.
703 argument is non-NULL, this parent tag is associated with the template and
733 key-value parameters.
735 it into a key-value structure that is directly usable as a parameter argument.
737 .Bd -literal
751 Allocates and initializes a DMA map.
753 .Bl -tag -width ".Fa nsegments"
758 .Bl -tag -width ".Dv BUS_DMA_COHERENT"
760 Attempt to map the memory loaded with this map such that cache sync
772 where the resulting DMA map will be stored.
779 .It Fn bus_dmamap_destroy "dmat" "map"
780 Frees all resources associated with a given DMA map.
782 .Bl -tag -width ".Fa dmat"
785 .Fa map .
786 .It Fa map
787 The DMA map to destroy.
793 .Fa map .
794 .It Fn bus_dmamap_load "dmat" "map" "buf" "buflen" "*callback" \
800 associated with the DMA map
801 .Fa map .
804 .Bl -tag -width ".Fa buflen"
807 .Fa map .
808 .It Fa map
809 A DMA map without a currently active mapping.
826 .Bl -tag -width ".Dv BUS_DMA_NOWAIT"
831 The generated transactions to and from the virtual page are non-cacheable.
836 .Bl -tag -width ".Er EINPROGRESS"
847 This may result in out-of-order processing of requests.
861 .Fa map ,
876 .Bl -tag -width ".Er EINPROGRESS"
888 .It Fn bus_dmamap_load_bio "dmat" "map" "bio" "callback" "callback_arg" "flags"
896 .It Fn bus_dmamap_load_ccb "dmat" "map" "ccb" "callback" "callback_arg" "flags"
905 .Bl -tag -width ".Er CAM_DATA_SG_PADDR"
923 .Bl -item -offset indent -compact
931 .It Fn bus_dmamap_load_crp "dmat" "map" "crp" "callback" "callback_arg" "flags"
939 flag is implied, thus no callback deferral will happen.
940 .It Fn bus_dmamap_load_crp_buffer "dmat" "map" "cb" "callback" "callback_arg" \
949 flag is implied, thus no callback deferral will happen.
950 .It Fn bus_dmamap_load_mbuf "dmat" "map" "mbuf" "callback2" "callback_arg" \
962 flag is implied, thus no callback deferral will happen.
971 .It Fn bus_dmamap_load_mbuf_sg "dmat" "map" "mbuf" "segs" "nsegs" "flags"
984 .It Fn bus_dmamap_load_uio "dmat" "map" "uio" "callback2" "callback_arg" "flags"
995 .Fa uio->uio_resid .
998 flag is implied, thus no callback deferral will happen.
1003 .Fa uio->uio_segflg
1009 .Fa "uio->uio_td->td_proc" Ns 's
1011 User space memory must be in-core and wired prior to attempting a map
1015 .It Fn bus_dmamap_unload "dmat" "map"
1016 Unloads a DMA map.
1018 .Bl -tag -width ".Fa dmam"
1021 .Fa map .
1022 .It Fa map
1023 The DMA map that is to be unloaded.
1030 prior to unloading the map.
1031 .It Fn bus_dmamap_sync "dmat" "map" "op"
1035 .Bl -tag -width ".Fa dmat"
1038 .Fa map .
1039 .It Fa map
1086 .Bl -tag -width ".Fa alignment"
1094 .Bl -tag -width ".Dv BUS_DMA_NOWAIT"
1103 Attempt to map this memory in a coherent fashion.
1128 where the resulting DMA map will be stored.
1150 referenced by the returned map, the synchronization requirements
1160 .It Fn bus_dmamem_free "dmat" "*vaddr" "map"
1166 .Bl -tag -width ".Fa vaddr"
1171 .It Fa map
1172 DMA map to be invalidated.
1220 .Bl -item -offset indent -compact
1240 It is common practice to call some of these functions during driver start-up
1242 So long as there is a guarantee of no possible concurrent use of the tag by
1252 called with any non-sleepable locks held:
1254 .Bl -item -offset indent -compact
1274 .%T "A Machine-Independent DMA Framework for NetBSD"
1305 .An -nosplit