Kernel Functions for Drivers ddirepput8(9F)
NAME
ddirepput8, ddirepput16, ddirepput32, ddirepput64,
ddirepputb, ddirepputw, ddirepputl, ddirepputll -
write data to the mapped memory address, device register or
allocated DMA memory address
SYNOPSIS
#include
#include
void ddirepput8(ddiacchandlet handle, uint8t *hostaddr,
uint8t *devaddr, sizet repcount, uintt flags);
void ddirepput16(ddiacchandlet handle, uint16t *hostaddr,
uint16t *devaddr, sizet repcount, uintt flags);
void ddirepput32(ddiacchandlet handle, uint32t *hostaddr,
uint32t *devaddr, sizet repcount, uintt flags);
void ddirepput64(ddiacchandlet handle, uint64t *hostaddr,
uint64t *devaddr,sizet repcount, uintt flags);
INTERFACE LEVEL
Solaris DI specific (Solaris DI). The ddirepputb(),
ddirepputl(), ddirepputll(), and ddirepputw() func-
tions are obsolete. The ddirepput8() function replaces
ddirepputb(). The ddirepput32() function replaces
ddirepputl(). The ddirepput64() function replaces
ddirepputll(). The ddirepput16() function replaces
ddirepputw().
PARAMETERS
handle The data access handle returned from setup
calls, such as ddiregsmapsetup(9F).
hostaddr Base host address.
devaddr Base device address.
repcount Number of data accesses to perform.
SunOS 5.11 Last change: 1 Nov 2005 1
Kernel Functions for Drivers ddirepput8(9F)
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 the mapped memory
or device register. repcount data is copied from the host
address, hostaddr, to the device address, devaddr. For
each input datum, the ddirepput8(), ddirepput16(),
ddirepput32(), and ddirepput64() functions write 8 bits,
16 bits, 32 bits, and 64 bits of data, respectively, to the
device address, devaddr. 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 treat the device address, devaddr, as a memory
buffer location on the device and increment 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 to a data register.
CONTEXT
These functions can be called from user, kernel, or inter-
rupt context.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 1 Nov 2005 2
Kernel Functions for Drivers ddirepput8(9F)
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability ddirepputb(),
ddirepputl(),
ddirepputll(), and
ddirepputw() are Obsolete
ddirepput8(),
ddirepput16(),
ddirepput32(),
ddirepput64() are Commit-
ted
SEE ALSO
ddiget8(9F), ddiput8(9F), ddiregsmapfree(9F),
ddiregsmapsetup(9F), ddirepget8(9F),
ddideviceaccattr(9S)
SunOS 5.11 Last change: 1 Nov 2005 3
|