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 */ };