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

Reply via email to