Do we need (or will we ever need) "remote DMA"? If this is used only in ISA configurations that we don't have to support, then I think the answer is "no". (Are you supporting only PCI cards, or also ISA configurations? This part was also used in PCMCIA cards.)
-- Garrett Steven Stallion wrote: > 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
