Kernel Functions for Drivers ddimemrepput8(9F)
NAME
ddimemrepput8, ddimemrepput16, ddimemrepput32,
ddimemrepput64, ddimemrepputb, ddimemrepputl,
ddimemrepputll, ddimemrepputw - write multiple data to
mapped device in the memory space or allocated DMA memory
SYNOPSIS
#include
#include
void ddimemrepput8(ddiacchandlet handle, uint8t *hostaddr,
uint8t *devaddr, sizet repcount, uintt flags);
void ddimemrepput16(ddiacchandlet handle, uint16t *hostaddr,
uint16t *devaddr, sizet repcount, uintt flags);
void ddimemrepput32(ddiacchandlet handle, uint32t *hostaddr,
uint32t *devaddr, sizet repcount, uintt flags);
void ddimemrepput64(ddiacchandlet handle, uint64t *hostaddr,
uint64t *devaddr, sizet repcount, uintt flags);
INTERFACE LEVEL
Solaris DI specific (Solaris DI). The ddimemrepput8(),
ddimemrepput16(), ddimemrepput32(),
ddimemrepput64(), ddimemrepputb(), ddimemrepputl(),
ddimemrepputll(), and ddimemrepputw() functions are
obsolete. The ddirepput8(9F) function replaces
ddimemrepput8(). The ddirepput16(9F) function replaces
ddimemrepput16(). The ddirepput32(9F) function replaces
ddimemrepput32(). The ddirepput64(9F) function replaces
ddimemrepput64(). The ddirepput8(9F) function replaces
ddimemrepputb(). The ddirepput32(9F) function replaces
ddimemrepputl(). The ddirepput64(9F) function replaces
ddimemrepputll(). The ddirepput16(9F) function replaces
ddimemrepputw().
PARAMETERS
handle The data access handle returned from setup
calls, such as ddiregsmapsetup(9F).
hostaddr Base host address.
SunOS 5.11 Last change: 1 Nov 2005 1
Kernel Functions for Drivers ddimemrepput8(9F)
devaddr Base device address.
repcount Number of data accesses to perform.
flags Device address flags:
DIDEVAUTOINCR Automatically increment
the device address,
devaddr, during data
accesses.
DIDEVNOAUTOINCR Do not advance the dev-
ice address, devaddr,
during data accesses.
DESCRIPTION
These routines generate multiple writes to memory space or
allocated DMA memory. repcount data is copied from the host
address, hostaddr, to the device address, devaddr, in
memory space. For each input datum, the ddimemrepput8(),
ddimemrepput16(), ddimemrepput32(), and
ddimemrepput64() functions write 8 bits, 16 bits, 32 bits
and 64 bits of data, respectively, to the device address.
devaddr and hostaddr must be aligned to the datum boundary
described by the function.
Each individual datum will automatically be translated to
maintain a consistent view between the host and the device
based on the encoded information in the data access handle.
The translation may involve byte-swapping if the host and
the device have incompatible endian characteristics.
When the flags argument is set to DIDEVAUTOINCR, these
functions will treat the device address, devaddr, as a
memory buffer location on the device and increments its
address on the next input datum. However, when the flags
argument is set to DIDEVNOAUTOINCR, the same device
address will be used for every datum access. For example,
this flag may be useful when writing from a data register.
CONTEXT
These functions can be called from user, kernel, or inter-
rupt context.
SunOS 5.11 Last change: 1 Nov 2005 2
Kernel Functions for Drivers ddimemrepput8(9F)
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Obsolete
SEE ALSO
ddimemget8(9F), ddimemput8(9F), ddimemrepget8(9F),
ddiregsmapsetup(9F), ddirepput8(9F), ddirepput16(9F),
ddirepput32(9F), ddirepput64(9F),
ddideviceaccattr(9S)
SunOS 5.11 Last change: 1 Nov 2005 3
|