Multiple MSI with Avalon-MM DMA example
Hello.
I am working with C10GX eval kit.
I use AN829 AlalonMM DMA design as a starting point.
One MSI is working well. I want to use 4 ones.
PCIe hip is confugured to use 4 MSI.
In linux driver I try to allocate 4 vectors with pci_alloc_irq_verctors, but the system (Ubuntu 20.1) allocates only one vector.
I setup MSI conrol register (0x50) in the following way:
bit [0] (MSI Ena) = 1,
bits [3 : 1] = 010 -- multiple messages capable, 4 pcs, setup by IP core itself,
bits [6 : 4] = 010 -- multiply message enable, 4 messages
bit [7] = 1 -- 64 bit adddress capable.
But this does not help.
In addition, from FPGA side I monitor MSIControl_o signals. Normally, they should contain data from MSI control register, but in my case "multiply message enable " field contains 000 - only one message.
What is the right sequence of multiply MSI configuration?
Thank you.