Multiple MSI-X interrupts for mpr
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 03 Oct 2025 15:28:45 UTC
Currently mpr driver don't allow to utilize multiple MSI-X interrupt.
Is possible to enable this by remove `msgs = min(msgs, 1);` line?
sys/dev/mpr/mpr_pci.c:
int
mpr_pci_alloc_interrupts(struct mpr_softc *sc)
{
device_t dev;
int error, msgs;
dev = sc->mpr_dev;
error = 0;
msgs = 0;
if (sc->disable_msix == 0) {
msgs = pci_msix_count(dev);
mpr_dprint(sc, MPR_INIT, "Counted %d MSI-X
messages\n", msgs);
msgs = min(msgs, sc->max_msix);
msgs = min(msgs, MPR_MSIX_MAX);
msgs = min(msgs, 1); /* XXX */
if (msgs != 0) {
mpr_dprint(sc, MPR_INIT, "Attempting to
allocate %d "
"MSI-X messages\n", msgs);
error = mpr_alloc_msix(sc, msgs);
}
}