DDI_PUT8(9F) Kernel Functions for Drivers DDI_PUT8(9F)


NAME


ddi_put8, ddi_put16, ddi_put32, ddi_put64, ddi_putb, ddi_putl, ddi_putll,
ddi_putw - write data to the mapped memory address, device register or
allocated DMA memory address

SYNOPSIS


#include <sys/ddi.h>
#include <sys/sunddi.h>


void ddi_put8(ddi_acc_handle_t handle, uint8_t *dev_addr,
uint8_t value);


void ddi_put16(ddi_acc_handle_t handle, uint16_t *dev_addr,
uint16_t value);


void ddi_put32(ddi_acc_handle_t handle, uint32_t *dev_addr,
uint32_t value);


void ddi_put64(ddi_acc_handle_t handle, uint64_t *dev_addr,
uint64_t value);


INTERFACE LEVEL


Solaris DDI specific (Solaris DDI). The ddi_putb(), ddi_putl(),
ddi_putll(), and ddi_putw() functions are obsolete. The ddi_put8()
function replaces ddi_putb(). The ddi_put32() function replaces
ddi_putl(). The ddi_put64() function replaces ddi_putll(). The
ddi_put16() function replaces ddi_putw().

PARAMETERS


handle
The data access handle returned from setup calls, such as
ddi_regs_map_setup(9F).


value
The data to be written to the device.


dev_addr
Base device address.


DESCRIPTION


These routines generate a write of various sizes to the mapped memory or
device register. The ddi_put8(), ddi_put16(), ddi_put32(), and
ddi_put64() functions write 8 bits, 16 bits, 32 bits and 64 bits of data,
respectively, to the device address, dev_addr.


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.


For certain bus types, you can call these DDI functions from a high-
interrupt context. These types include ISA and SBus buses. See
sysbus(4), isa(4), and sbus(4) for details. For the PCI bus, you can,
under certain conditions, call these DDI functions from a high-interrupt
context. See pci(4).

CONTEXT


These functions can be called from user, kernel, or interrupt context.

ATTRIBUTES


See attributes(5) for descriptions of the following attributes:


+--------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------------------+
|Interface Stability | ddi_putb(), ddi_putl(), |
| | ddi_putll(), and ddi_putw() |
| | are Obsolete ddi_put8(), |
| | ddi_put16(), ddi_put32(), |
| | ddi_put64() are Committed |
+--------------------+-----------------------------+

SEE ALSO


ddi_get8(9F), ddi_regs_map_free(9F), ddi_regs_map_setup(9F),
ddi_rep_get8(9F), ddi_rep_put8(9F), ddi_device_acc_attr(9S)


November 1, 2005 DDI_PUT8(9F)