Steven Stallion wrote: > I'm reading the DP8390D datasheets; I am using an RTL8029 as an initial > target. >
And indeed, RTL8029 support is probably all that is really needed at this point. I doubt anyone is using other DP8390 based cards (i.e. no ISA based cards, and *probably* no PCMCIA cards) anymore. I'm very amenable to integrating rtl 8029 support in order to facilitate Parallels and QEMU. I'd be opposed to integration of other legacy device support, since I doubt we could properly test it or maintain it, and I doubt anyone would really need -- or even use -- it. -- Garrett > 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 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
