Message ID | 20200603114553.12866-1-piotr.stankiewicz@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Forward MSI-X vector enable error code in pci_alloc_irq_vectors_affinity() | expand |
On 2020-06-03 5:45 a.m., Piotr Stankiewicz wrote: > There are several places in the kernel which check/ask for MSI or MSI-X > interrupts. It would make sense to have a shorthand constant, similar to > PCI_IRQ_ALL_TYPES, to use in these situations. So add PCI_IRQ_MSI_TYPES, > for this purpose. > > Signed-off-by: Piotr Stankiewicz <piotr.stankiewicz@intel.com> > Suggested-by: Andy Shevchenko <andriy.shevchenko@intel.com> > Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com> Looks good to me, Reviewed-by: Logan Gunthorpe <logang@deltatee.com> Thanks, Logan
That's a sensible change. In your title you can use "macro" or "definition" or "macro definition". "Define" is a verb. "PCI: Add a macro for message-signalled interrupt types" On 2020-06-03 7:45 a.m., Piotr Stankiewicz wrote: > There are several places in the kernel which check/ask for MSI or MSI-X > interrupts. It would make sense to have a shorthand constant, similar to "a shorthand constant" --> "a macro which defines all MSI-type of interrupt." Regards, Luben > PCI_IRQ_ALL_TYPES, to use in these situations. So add PCI_IRQ_MSI_TYPES, > for this purpose. > > Signed-off-by: Piotr Stankiewicz <piotr.stankiewicz@intel.com> > Suggested-by: Andy Shevchenko <andriy.shevchenko@intel.com> > Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com> > --- > Documentation/PCI/msi-howto.rst | 5 +++-- > include/linux/pci.h | 4 ++-- > 2 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/Documentation/PCI/msi-howto.rst b/Documentation/PCI/msi-howto.rst > index aa2046af69f7..2800ff5aa395 100644 > --- a/Documentation/PCI/msi-howto.rst > +++ b/Documentation/PCI/msi-howto.rst > @@ -105,7 +105,8 @@ if it can't meet the minimum number of vectors. > The flags argument is used to specify which type of interrupt can be used > by the device and the driver (PCI_IRQ_LEGACY, PCI_IRQ_MSI, PCI_IRQ_MSIX). > A convenient short-hand (PCI_IRQ_ALL_TYPES) is also available to ask for > -any possible kind of interrupt. If the PCI_IRQ_AFFINITY flag is set, > +any possible kind of interrupt, and (PCI_IRQ_MSI_TYPES) to ask for message > +signalled interrupts (MSI or MSI-X). If the PCI_IRQ_AFFINITY flag is set, > pci_alloc_irq_vectors() will spread the interrupts around the available CPUs. > > To get the Linux IRQ numbers passed to request_irq() and free_irq() and the > @@ -160,7 +161,7 @@ the single MSI mode for a device. It could be done by passing two 1s as > Some devices might not support using legacy line interrupts, in which case > the driver can specify that only MSI or MSI-X is acceptable:: > > - nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_MSI | PCI_IRQ_MSIX); > + nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_MSI_TYPES); > if (nvec < 0) > goto out_err; > > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 83ce1cdf5676..b6c9bf70363e 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -1422,8 +1422,8 @@ int pci_set_vga_state(struct pci_dev *pdev, bool decode, > */ > #define PCI_IRQ_VIRTUAL (1 << 4) > > -#define PCI_IRQ_ALL_TYPES \ > - (PCI_IRQ_LEGACY | PCI_IRQ_MSI | PCI_IRQ_MSIX) > +#define PCI_IRQ_MSI_TYPES (PCI_IRQ_MSI | PCI_IRQ_MSIX) > +#define PCI_IRQ_ALL_TYPES (PCI_IRQ_LEGACY | PCI_IRQ_MSI_TYPES) > > /* kmem_cache style wrapper around pci_alloc_consistent() */ > >
diff --git a/Documentation/PCI/msi-howto.rst b/Documentation/PCI/msi-howto.rst index aa2046af69f7..2800ff5aa395 100644 --- a/Documentation/PCI/msi-howto.rst +++ b/Documentation/PCI/msi-howto.rst @@ -105,7 +105,8 @@ if it can't meet the minimum number of vectors. The flags argument is used to specify which type of interrupt can be used by the device and the driver (PCI_IRQ_LEGACY, PCI_IRQ_MSI, PCI_IRQ_MSIX). A convenient short-hand (PCI_IRQ_ALL_TYPES) is also available to ask for -any possible kind of interrupt. If the PCI_IRQ_AFFINITY flag is set, +any possible kind of interrupt, and (PCI_IRQ_MSI_TYPES) to ask for message +signalled interrupts (MSI or MSI-X). If the PCI_IRQ_AFFINITY flag is set, pci_alloc_irq_vectors() will spread the interrupts around the available CPUs. To get the Linux IRQ numbers passed to request_irq() and free_irq() and the @@ -160,7 +161,7 @@ the single MSI mode for a device. It could be done by passing two 1s as Some devices might not support using legacy line interrupts, in which case the driver can specify that only MSI or MSI-X is acceptable:: - nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_MSI | PCI_IRQ_MSIX); + nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_MSI_TYPES); if (nvec < 0) goto out_err; diff --git a/include/linux/pci.h b/include/linux/pci.h index 83ce1cdf5676..b6c9bf70363e 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -1422,8 +1422,8 @@ int pci_set_vga_state(struct pci_dev *pdev, bool decode, */ #define PCI_IRQ_VIRTUAL (1 << 4) -#define PCI_IRQ_ALL_TYPES \ - (PCI_IRQ_LEGACY | PCI_IRQ_MSI | PCI_IRQ_MSIX) +#define PCI_IRQ_MSI_TYPES (PCI_IRQ_MSI | PCI_IRQ_MSIX) +#define PCI_IRQ_ALL_TYPES (PCI_IRQ_LEGACY | PCI_IRQ_MSI_TYPES) /* kmem_cache style wrapper around pci_alloc_consistent() */