tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pci_intr_alloc() vs pci_intr_establish() - retry type?



Le lun. 3 déc. 2018 à 12:09, Masanobu SAITOH <msaitoh%execsw.org@localhost> a écrit :
> C3000's AHCI has multi-vector MSI-X table and it doesn't work since
> Nobember 20th...

Can you try if by chance this code adapted nvme(4) changes anything on
your system?

http://www.netbsd.org/~jdolecek/ahcisata_msixoff.diff

ahcisata(4) works for me on two different computers in MSI mode. I
don't have any ahcisata device which supports MSI-X, but it is working
on Cavium which has MSI-X. Perhaps some different BAR wierdness than
Cavium, or simply the boards using MSI-X should use the "cavium" BAR?

So another thing to try would be to make ahci_pci_abar() return
AHCI_PCI_ABAR_CAVIUM always and see if it changes things.

Also you can try rev 1.44 of ahcisata_pci.c with AHCISATA_DISABLE_MSIX
to see if it works if forced to MSI only.

I wonder whether there is something we still need to adjust during
general initialization, I see this on my hardware:

re(4) - on my system works when attached either MSI or MSI-X
nvme(4) - on my system works only when attached via MSI-X (regardless
of the PCI_CAP_MSIX), doesn't work when forced to MSI
ahcisata(4) works in MSI on my system, as MSI-X for skrll@, MSI-X
doesn't work for you

Jaromir


Home | Main Index | Thread Index | Old Index