----- Original Message ----- >Date: Mon, 01 Sep 2008 14:46:48 -0500 >From: Steven Stallion <[EMAIL PROTECTED]> >To: Masa Murayama <[EMAIL PROTECTED]> >CC: [EMAIL PROTECTED], [email protected] >Subject: Re: [driver-discuss] DP8390 single-bus DMA alignment > > >I'm reading the DP8390D datasheets; I am using an RTL8029 as an initial >target.
I'm sorry that I didn't know long address mode (32bit) of dp8390d chip set. But rtl8029 doesn't seem to support 32bit mode (LAS). Please refer the desription on DCR (data configuration register) in 8029 datasheet. -masa >Masa Murayama wrote: >> ----- 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 i n >>>>>>> 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 g et >>>>>>> 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
