Kernel Functions for Drivers ddirepget8(9F)
NAME
ddirepget8, ddirepget16, ddirepget32, ddirepget64,
ddirepgetw, ddirepgetl, ddirepgetll, ddirepgetb -
read data from the mapped memory address, device register or
allocated DMA memory address
SYNOPSIS
#include
#include
void ddirepget8(ddiacchandlet handle, uint8t *hostaddr,
uint8t *devaddr, sizet repcount, uintt flags);
void ddirepget16(ddiacchandlet handle, uint16t *hostaddr,
uint16t *devaddr, sizet repcount, uintt flags);
void ddirepget32(ddiacchandlet handle, uint32t *hostaddr,
uint32t *devaddr, sizet repcount, uintt flags);
void ddirepget64(ddiacchandlet handle, uint64t *hostaddr,
uint64t *devaddr, sizet repcount, uintt flags);
INTERFACE LEVEL
Solaris DI specific (Solaris DI). The ddirepgetb(),
ddirepgetl(), ddirepgetll(), and ddirepgetw() func-
tions are obsolete. The ddirepget8() function replaces
ddirepgetb(). The ddirepget32() function replaces
ddirepgetl(). The ddirepget64() function replaces
ddirepgetll(). The ddirepget16() function replaces
ddirepgetw().
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 ddirepget8(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 reads from the mapped
memory or device register. repcount data is copied from the
device address, devaddr, to the host address, hostaddr.
For each input datum, the ddirepget8(), ddirepget16(),
ddirepget32(), and ddirepget64() functions read 8 bits,
16 bits, 32 bits, and 64 bits of data, respectively, from
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
function 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 to
DIDEVNOAUTOINCR, the same device address will be used
for every datum access. For example, this flag may be useful
when reading from a data register.
RETURN VALUES
These functions return the value read from the mapped
address.
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 ddirepget8(9F)
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability ddirepgetb(),
ddirepgetl(),
ddirepgetll(), and
ddirepgetw() are Obsolete
ddirepget8(),
ddirepget16(),
ddirepget32(),
ddirepget64() are Commit-
ted
SEE ALSO
ddiget8(9F), ddiput8(9F), ddiregsmapfree(9F),
ddiregsmapsetup(9F), ddirepput8(9F)
SunOS 5.11 Last change: 1 Nov 2005 3
|