Цитата(krux @ Nov 5 2015, 20:16)

а покажите, что у вас записано в MSI Control Register? в PCI BAR, в MSI capability structure.
Это пока не могу, но
#lspci -vv говорит, что поддерживает 4 или 2 (пробовал разные настройки для ядра PCIe Bridge).
Цитата(krux @ Nov 5 2015, 20:16)

кроме того, дело может быть и в материнке.
бывает так, что MSI-прерываний материнка поддерживает 1 на устройство, а MSI-X - несколько.
а бывает наоборот, что MSI-X не поддерживается вообще, а MSI можно несколько.
Попробовал и MSI-X использовать (настроил ядро на поддержку MSI-X), результат тот же - показывает, что устройство поддерживает 4, а система выделяет только одно, при попытке выделить больше выдаёт ошибку (если использую MSI, то просто выделяет одно).
Цитата(krux @ Nov 5 2015, 20:16)

поэтому если хотите чтобы много прерываний было на разных платформах, то в драйвере придется раскорячится - и поддерживать по максимуму, и MSI, и MSI-X.
но это не гарантирует того, что вашу плату не вставят туда, где будет только Legacy-поддержка с одним прерыванием.
А что если использовать одно, но от AXI Interrupt Controller-a, а на него завести сколько необходимо? Или это "костыль" (в драйвере придётся разруливать, что за устройство послало прерывание) - правильно добиться выделения нескольких MSI/MSI-X прерываний?