DMA under the PCI express protocol?

Status
Not open for further replies.
pci express interrupt issues

Did you use the MEMORY IO mapping? The directly pointer access is not suggested, although on the X86 you can do the right thing.

I think the spin_lock/spin_unlock is not necessary. Sometimes it may cause dead-lock.

When you write the "ptr+0xE", you can try to read some device status register to make sure you've written successfully.

Or you can simply "printk" some information after the write operation. I've met the similar problem, then I check the device status register after clear the interrupt. The problem does not occour any more.

May the information can help you.
 

dma and pci express

well now i am checking the status register inside the code,
now the number of writes done by the ISR are as accepted but the number of interrupt shown in /proc/interrupts is more.
I had used two static varibles i and j in the ISR and it shows that number of interrupts serviced same as what i am expecting but there are some unserviced ones too.
That shouldn't be the case since even though the interrupt IRQ is shared with usb controller, no usb has been connected.

I think my clearing of interrupt is the problem here.. will modify my code to see if it solves the problem..

Thanks a lot for your help.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…