Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Valued Contributor III
735 Views

DeviceIOControl - DMA - Interrupt issues

Hi, 

 

Here is the logic flow: 

 

1. GUI program sends DeviceIoControl command setup to driver: 

setup DMA descriptors 

2. GUI program sends DeviceIoControl command Start to driver: 

call the routine of start DMA Read and write (with parameter of# of loops) 

3. ISR routine receives interrupts 

Checks# of loops, if not, zero, call the same of above routine to restart DMA R/W. 

 

It works only if put a debug line before start DMA: 

KdPrintf("."); //if this line is commented, no interrupts will be received.  

StartDMA(); 

 

Anyone has any suggestions what is wrong? 

Thanks, 

 

Tiger
0 Kudos
1 Reply
Highlighted
Valued Contributor III
4 Views

Re: DeviceIOControl - DMA - Interrupt issues

There are two problems: One it needs synchronization, and the other is to check the interrupt status registers, because the interrupt is shared by both read and write. That fixes the problem.

0 Kudos