Hi,

You do not have a dedicated EDMA channel for DM9000-EMIF. But you can always 
use an unallocated DMA channel for Transmit and Receive.

EDMA will be used to transfer the data to/from DDR from/to DM9000 FIFO.

We had tried to change the current DM9000 driver to use EDMA on the transmit 
path. We had to change the hard_xmit function of DM9000A to set up the DMA 
channel, provide source (DDR location), destination (DM9000A FIFO) parameters 
and finally start the DMA. Once we get the DMA completion interrupt (callback), 
we configure the DM9000 TX registers to start the transmission. It becomes a 
little tricky, since DM9000 controller has two TX buffers and while it is 
transmitting one buffer, other one can be filled up through DMA.

We did free up CPU cycles, but did not improve the performance much. This could 
be due to the wait for DMA interrupts and also not changing the Receive side to 
use DMA.

Thanks
Sneha
________________________________
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Griffis, Brad
Sent: Wednesday, December 10, 2008 11:03 AM
To: umangsu lee; [email protected]
Subject: RE: DMA for device connected on DM355's EMIF ?

There are two pieces to this issue:

1)   The transfer between memory and the DM9000.  This should be no problem as 
the DM9000 will show up in the EMIF address space.
2)   The initiation of the transfer.  You either need to manually invoke the 
transfer (through the ESR) or an event can start the transfer.  For example, 
assuming the DM9000 toggles some kind of pin to indicate it’s ready for a data 
transfer you could hook that pin up to GPINT0 which drives EDMA event 32 as 
shown in the datasheet.

Brad

________________________________
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of umangsu lee
Sent: Wednesday, December 10, 2008 2:52 AM
To: [email protected]
Subject: DMA for device connected on DM355's EMIF ?

Hi All,

I am  new to the DM355 &  Davinci-linux development.
We have a  custom DM355 based board which  is similar to DM355EVM board.

The board have  DM9000 ethernet chip on EMIF .
I want to  implment DMA  for  DM9000's transmit/receive oparation,
DM355 has EDMA provisions for various peripherals but  DM9000 on EMIF is not
one of them .
Even datasheet doesnt tell anything about using DMA for device connected on 
EMIF.

Is it possible to  use any available DMA channel  for the DM9000 ethernet chip  
which  is connected via EMIF.
if so  which  channel  I can use for it ?

Any help will  be greatly  appreaciated !!


Best Regards!


 U. C. Lee
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to