我正在为一个包含DMA控制器的PowerPC SoC编写内核模块。我希望在Linux内核中映射DMA中断。我的DMA结构有两个中断:
struct dma
{
u32 dma1;
u32 dma2;
}*dma;
我已经在内核中进行了DMA结构的内存映射。我使用了irq_of_parse_and_map()
函数来获取相应中断的虚拟中断(virq)号码。
dma->dma1=irq_of_parse_and_map(ofdev->node,0);
dma->dma2=irq_of_parse_and_map(ofdev->node,1);
但我无法获取上述中断的VIRQ编号。有哪些API可用于访问VIRQ编号?
arch/powerpc/include/asm/irq.h
中有许多对virq
的引用。你看过那里了吗? - Brian Cain