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