----- Original Message ----- >Date: Mon, 01 Sep 2008 13:54:52 -0500 >From: Steven Stallion <[EMAIL PROTECTED]> >To: [EMAIL PROTECTED] >CC: Masa Murayama <[EMAIL PROTECTED]>, [email protected] >Subject: Re: [driver-discuss] DP8390 single-bus DMA alignment > > >IIRC Masa's driver supports all three; ISA, PCI, and PCMCIA. The >implementation I am working on is for PCI only. > >In 32-bit PCI configurations, Remote DMA should never be needed. In >fact, RSAR0 and RSAR1 are used to store the upper 16 bits of the phyaddr >of the buffer in 32-bit mode. >
Which datasheet did you read? I'd like to read the same datasheet you read. Let me know the product name of your target card, or the chipset name which the card employs. Although dp8390 describes various bus configurations, you can use only the bus configuration which the card product or the clone chipset implements. -masa >Garrett D'Amore wrote: >> 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
