Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
989 Views

Unconnected interrupts with SOPC Builder

Hello people, 

 

I created a sopc system with a PCIe core, a dma controller and memory. I want the dma controller to send an interrupt when a dma transfer ends. 

 

The dma's interrupt sender port is connected to the pcie interrupt receiver port with priority 0 (the highest). 

 

I don't see any interrupts on my computer regardless of the selected type, eg. legacy interrupts oder MSI. 

 

I took the rtl viewer to see what's wrong. All signals connected to pcie_compiler_0:wrapper are connected to ground ('0'), eg.  

app_int_sts, app_msi_req, app_msi_num[3:0], etc. 

 

RxmIrq and RxmIrq_num[] are connected. 

 

So it's logical that no interrupts are triggered on the computer.  

 

I don't know how to fix this. Maybe it's a bug. 

 

I'm using Quartus 10.0 SP1. 

 

Thanks in advance. 

 

 

Regards, 

 

Frederik
0 Kudos
2 Replies
Altera_Forum
Honored Contributor I
40 Views

The interrupts are coming through now. I had to set the AVL_IRQ bit in the Avalon-MM to PCI Express Interrupt Enable Register at address: 0x0050. 

 

Eg.  

iowrite32((u32)1<<7, (u32*)(ape->bar[0]+PCIE_CONTROL_REGISTER_OFFSET+0x0050)); 

 

This is different from the altpciechdma driver that was in the linux kernel. If you want to use it for your own, add the above line after the map_bars() function in the probe() function and it will work properly. 

 

 

Regards, 

 

Frederik
Altera_Forum
Honored Contributor I
40 Views

Hello Frederik, 

 

I am trying to do something similar like you with Qsys and I am observing the same "problem", the signals app_int_sts, app_msi_req, app_msi_num[3:0] are terminated to zero. Is this a real problem? 

 

The dma's interrupt sender port signals are RxmIrq and RxmIrq_num[ ] ? I am confused. 

 

thank you in advance, 

Tonis
Reply