Steven Stallion wrote:
> Ouch, good catch! I just double checked the spec, and you are completely
> right, even though LAS powers high on the 8029, it must be set to zero
> effectively forcing you to use the 16-bit DMA configuration.
>
> Looks like I'll have to rework DMA ;)
>   

If the primary target for this is for emulated devices (i.e. QEMU, 
Parallels) it may be simpler to skip DMA altogether.  (It isn't clear to 
me that emulated DMA offers a performance win in those situations -- if 
it does, I'd expect it to be quite minimal.  But then again, I'm not 
sure how painful the logic behind emulated PIO is either.)

    -- Garrett

> Thanks guys,
>
> Steve
>
> Masa Murayama wrote:
>   
>> ----- 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
>   

_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to