Description

These routines generate a write of various sizes to memory space or
allocated DMA memory. The ddi_mem_put8(), ddi_mem_put16(), ddi_mem_put32(), and ddi_mem_put64() functions write 8 bits,
16 bits, 32 bits and 64 bits of data, respectively, to the device
address, dev_addr, in memory space.

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.

Context

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