PCI_ALLOC_IRQ_VECTOR(9)

NAME
pci_alloc_irq_vectors_affinity - allocate multiple IRQs for a device

SYNOPSIS

int pci_alloc_irq_vectors_affinity(struct pci_dev * dev, unsigned int min_vecs, unsigned int max_vecs, unsigned int flags, const struct irq_affinity * affd);

ARGUMENTS

dev
    PCI device to operate on

min_vecs
    minimum number of vectors required (must be >= 1)

max_vecs
    maximum (desired) number of vectors

flags
    flags or quirks for the allocation

affd
    optional description of the affinity requirements

DESCRIPTION

Allocate up to max_vecs interrupt vectors for dev, using MSI-X or MSI vectors if available, and fall back to a single legacy vector if neither is available. Return the number of vectors allocated, (which might be smaller than max_vecs) if successful, or a negative error code on error. If less than min_vecs interrupt vectors are available for dev the function will fail with -ENOSPC.

To get the Linux IRQ number used for a vector that can be passed to request_irq use the pci_irq_vector helper.

COPYRIGHT