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?



Jared McNeill <jmcneill%invisible.ca@localhost> wrote:
>On Wed, 28 Nov 2018, Jaromír Doleček wrote:
>
>> pci_intr_alloc() checks what the device claims to support down the
>> call stack, reading the PCI config space. I assume there some
>> negotiation between the PCI bus and the device. I hope device can't
>> claim to support e.g. MSI-X if the bus doesn't.
>
>Device claiming to support MSI-X is fine. The bus should only set 
>PCI_FLAGS_MSIX_OKAY in its pcibus_attach_args pba_flags in the case that 
>MSI-X is supported, and then the MD code will filter it out:

I traced through what one of my non-MSI machines does at boot.

The wm(4) driver asks for MSI-X interrupts, the MD PCI code gives it an
INTx interrupt, the driver sets things up correctly to use the returned
interrupt, it doesn't loop in the driver retrying the pci_intr_alloc().


Home | Main Index | Thread Index | Old Index