A DMA engine on a VMEbus in a SPARC machine has the following attributes:
It can address the full 32-bit range.
It has a 32-bit DMA counter register.
It can handle byte-aligned transfers.
It supports 2- to 256-byte burst sizes, and all powers of 2 in between.
It has a minimum effective transfer size of 2 bytes.
It has a 24-bit address register.
It has a 17-element scatter-gather list.
The device operates on sectors only.
The resulting attribute structure is:
static ddi_dma_attr_t attributes = {
DMA_ATTR_V0, /* Version number */
0x00000000, /* low address */
0xFFFFFFFF, /* high address */
0xFFFFFFFF, /* counter register max */
1, /* byte alignment */
0x1FE, /* burst sizes */
0x2, /* minimum transfer size */
0xFFFFFFFF, /* max xfer size */
0xFFFFFF, /* address register max */
17, /* no scatter-gather */
512, /* device operates on sectors */
0, /* attr flag: set to 0 */
};