Lines Matching +full:sync +full:- +full:flag
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.
232 the sync operations copy data between the bounce pages and the memory region
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
264 will attempt to allocate memory requiring less expensive sync operations
267 but sync operations should still be used.
285 to track the mappings of any in-flight transactions.
294 the consumer should sync the memory region via
300 the consumer should sync the memory region via
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.
378 A machine-dependent type that describes individual
381 .Bd -literal
396 A machine-dependent opaque type describing an individual mapping.
418 .Bl -tag -width indent
450 .Bl -tag -width indent
482 .Bl -tag -width ".Dv BUS_DMASYNC_POSTWRITE"
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"
631 .Bl -tag -width ".Dv BUS_DMA_ALLOCNOW"
633 Pre-allocate enough resources to handle at least one map load operation on
641 Also, due to resource sharing with other tags, this flag does not guarantee
645 Indicate that the DMA engine and CPU are cache-coherent.
652 flag is currently implemented on arm64.
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
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
762 This flag is typically set on maps when the memory loaded with these will
765 Use of this flag does not remove the requirement of using
782 .Bl -tag -width ".Fa dmat"
804 .Bl -tag -width ".Fa buflen"
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.
855 flag.
876 .Bl -tag -width ".Er EINPROGRESS"
905 .Bl -tag -width ".Er CAM_DATA_SG_PADDR"
923 .Bl -item -offset indent -compact
939 flag is implied, thus no callback deferral will happen.
949 flag is implied, thus no callback deferral will happen.
962 flag is implied, thus no callback deferral will happen.
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
1018 .Bl -tag -width ".Fa dmam"
1035 .Bl -tag -width ".Fa dmat"
1058 memory, the buffer must be loaded and a DMA sync operation of
1064 sync operation must be performed before an additional device
1067 In this case, the buffer must be loaded, and a DMA sync operation of
1073 sync operation has been performed.
1086 .Bl -tag -width ".Fa alignment"
1094 .Bl -tag -width ".Dv BUS_DMA_NOWAIT"
1106 above for a description of this flag.
1111 flag is currently implemented on arm and arm64.
1122 flag is currently implemented on amd64 and i386 where it results in the
1166 .Bl -tag -width ".Fa vaddr"
1220 .Bl -item -offset indent -compact
1240 It is common practice to call some of these functions during driver start-up
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