Marty Faltesek wrote:
> If as you say the issue is not to cross 4k boundary, you want something
> like what the ATA driver is doing:
>
> #define PCIIDE_BOUNDARY (0x1000)
>
> ddi_dma_attr_t ata_prd_dma_attr = {
> DMA_ATTR_V0, /* dma_attr_version */
> 0, /* dma_attr_addr_lo */
> 0xffffffffU, /* dma_attr_addr_hi */
> PCIIDE_BOUNDARY - 1, /* dma_attr_count_max */
> sizeof (int), /* dma_attr_align */
> 1, /* dma_attr_burstsizes */
> 1, /* dma_attr_minxfer */
> PCIIDE_BOUNDARY, /* dma_attr_maxxfer */
> PCIIDE_BOUNDARY - 1, /* dma_attr_seg */
> 1, /* dma_attr_sgllen */
> 1, /* dma_attr_granular */
> 0 /* dma_attr_flags */
> };
>
>
> The key fields are dma_attr_count_max, dma_attr_maxxfer and
> dma_attr_seg.
Thank you, this seems to do the trick. In fact, the dma_attr_seg
field seems to exist to do exactly what I want. I don't know
how I overlooked that in the man page.
Thanks again,
Drew
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss