Hrmm. Reading the spec, it seems to indicate there are 2 primary modes of operation with respect to DMA.
The most common is a dual bus setup using both the local bus and the remote DMA as you mentioned (which you are completely correct, remote dma acts as a slave channel). The single bus option (the one I am working toward since the code will be significantly cleaner) merges the remote DMA to form a single 32-bit addressable channel. Masa Murayama wrote: > ----- Original Message ----- >> Date: Sun, 31 Aug 2008 21:25:52 -0500 >> From: Steven Stallion <[EMAIL PROTECTED]> >> To: [email protected] >> Cc: "Garrett D'Amore" <[EMAIL PROTECTED]> >> Subject: [driver-discuss] DP8390 single-bus DMA alignment >> >> >> All, >> >> I'm having some problems getting DMA to align appropriately for the >> DP8390. The DP8390's DMA engine is programmed with the upper 16 bits in >> single bus mode (single 32-bit DMA). >> >> After reading the documentation for ddi_dma_attr_t, it looks like >> dma_attr_sgl can be used to accomplish this, however I can't seem to get >> dma_cookie_t.dmac_address to align correctly: >> >> >> static ddi_dma_attr_t ne_dma_attr = { >> DMA_ATTR_V0, /* dma_attr_version */ >> 0, /* dma_attr_addr_lo */ >> 0xffffffff, /* dma_attr_addr_hi */ >> 0xffffffff, /* dma_attr_count_max */ >> 1, /* dma_attr_align */ >> 0x1f, /* dma_attr_burstsizes */ >> 1, /* dma_attr_minxfer */ >> 0xffffffff, /* dma_attr_maxxfer */ >> 0xffff, /* dma_attr_sgl */ >> 1, /* dma_attr_sgllen */ >> 1, /* dma_attr_granular */ >> 0 /* dma_attr_flags */ >> }; >> >> dmac.dma_address is: 0xc0190040. >> >> Any ideas? >> >> Steve > > I don't think you need dma attribute for dp8390. > DP8390 doesn't have dma capability. The remote dma > capability in the datasheet, means to access the > internal ram in DP8390 internal bus from outside, > i.e, sparc or i86 cpu. > Typical NE2000 compatible cards implements the remote dma > with IO instructions from ISA or PCI bus, that is exactly same > with PIO we call now. > > -masa > > _______________________________________________ >> driver-discuss mailing list >> [email protected] >> http://mail.opensolaris.org/mailman/listinfo/driver-discuss > _______________________________________________ driver-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/driver-discuss
