Contained Within
Find More Documentation
Featured Support Resources
| Download this book in PDF
NAME
- ddi_dma_cookie - DMA address cookie
SYNOPSIS
-
#include <sys/sunddi.h>
INTERFACE LEVEL
- Solaris DDI specific (Solaris DDI).
DESCRIPTION
- The ddi_dma_cookie_t structure contains DMA address information required to program a DMA engine. It is filled in by a call to ddi_dma_getwin(9F),
-
ddi_dma_addr_bind_handle(9F), or ddi_dma_buf_bind_handle(9F) to get device specific DMA transfer information for a DMA request or a DMA window.
STRUCTURE MEMBERS
-
-
uint64_t
-
dmac_laddress;
-
/* 64 bit address * /
-
-
uint32_t dmac_address; /* 32 bit address * /
size_t dmac_size; /* transfer size * /
uint_t dmac_type; /* bus specific type bits * /
-
dmac_laddress specifies a 64 bit I/O address appropriate for programming the device's DMA engine. If a device has a 64-bit DMA address register a driver should use this field to program the DMA engine. dmac_address specifies a 32 bit I/O address. It should be used for devices which have a 32-bit DMA address register. The I/O address range that the device can address and other DMA attributes have to be specified in a ddi_dma_attr(9S) structure.
-
dmac_size describes the length of the transfer in bytes.
-
dmac_type contains bus specific type bits (if appropriate). For example, a device on a VME bus will have VME address modifier bits placed here.
SEE ALSO
-
pci(4), sbus(4), sysbus(4), vme(4), ddi_dma_addr_bind_handle(9F), ddi_dma_buf_bind_handle(9F), ddi_dma_getwin(9F), ddi_dma_nextcookie(9F), ddi_dma_attr(9S)
-
Writing Device Drivers
|
|