problem with DMA when writting driver for rtl8139?

mwitosz-linux mwitosz-linux w o2.pl
Nie, 10 Wrz 2006, 16:03:29 CEST


hi, everybody
my name is Mariusz, I am newbie to linux kernel, 
For several weeks I have been writing kernel driver for network card based on 
rtl8139c chip. 

I have some problems with DMA, i suppose.

there is a bit in Transmit Status Descriptor of RTL8139c which after clearing(It must be cleared to 
start transmit operation) shouldb be placed in 1 state - which according to RTL8139 specification means that 
DMA copy from memory to internal RTL fifo has finished.

The problem is: rtl doesn't clear this bit

I use  pci_map_single to map address of packet buffer to dma capable memory, then cpu_to_le32 to get physicall
address of this buffer. 

Do you have any idea what may work wrong?

here is my code:
1) rtlmodule contains functions related to initialization issues
2) rtlopen contains functions related to open device issues and interrupt handling
3) rtltransmit contains functions related to transmision issues

and here is output from kernel

best regards, 
Mariusz Witosz


Więcej informacji o liście dyskusyjnej pld-kernel