All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-pci@vger.kernel.org, Will Deacon <will@kernel.org>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Dave Jiang <dave.jiang@intel.com>,
	Ashok Raj <ashok.raj@intel.com>, Joerg Roedel <joro@8bytes.org>,
	x86@kernel.org, Jason Gunthorpe <jgg@mellanox.com>,
	Allen Hubbe <allenbh@gmail.com>,
	Kevin Tian <kevin.tian@intel.com>,
	"Ahmed S. Darwish" <darwi@linutronix.de>,
	Jon Mason <jdmason@kudzu.us>,
	linuxppc-dev@lists.ozlabs.org,
	Alex Williamson <alex.williamson@redhat.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Marc Zyngier <maz@kernel.org>,
	Logan Gunthorpe <logang@deltatee.com>
Subject: Re: [patch 34/39] PCI/MSI: Reject multi-MSI early
Date: Wed, 16 Nov 2022 10:31:18 -0600	[thread overview]
Message-ID: <20221116163118.GA1116261@bhelgaas> (raw)
In-Reply-To: <20221111122015.574339988@linutronix.de>

On Fri, Nov 11, 2022 at 02:55:09PM +0100, Thomas Gleixner wrote:
> When hierarchical MSI interrupt domains are enabled then there is no point
> to do tons of work and detect the missing support for multi-MSI late in the
> allocation path.
> 
> Just query the domain feature flags right away. The query function is going
> to be used for other purposes later and has a mode argument which influences
> the result:
> 
>   ALLOW_LEGACY returns true when:
>      - there is no irq domain attached (legacy support)
>      - there is a irq domain attached which has the feature flag set
> 
>   DENY_LEGACY returns only true when:
>      - there is a irq domain attached which has the feature flag set
> 
> This allows to use the function universally without ifdeffery in the
> calling code.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Acked-by: Bjorn Helgaas <bhelgaas@google.com>

> ---
>  drivers/pci/msi/irqdomain.c |   22 ++++++++++++++++++++++
>  drivers/pci/msi/msi.c       |    4 ++++
>  drivers/pci/msi/msi.h       |    9 +++++++++
>  3 files changed, 35 insertions(+)
> 
> --- a/drivers/pci/msi/irqdomain.c
> +++ b/drivers/pci/msi/irqdomain.c
> @@ -187,6 +187,28 @@ struct irq_domain *pci_msi_create_irq_do
>  }
>  EXPORT_SYMBOL_GPL(pci_msi_create_irq_domain);
>  
> +/**
> + * pci_msi_domain_supports - Check for support of a particular feature flag
> + * @pdev:		The PCI device to operate on
> + * @feature_mask:	The feature mask to check for (full match)
> + * @mode:		If ALLOW_LEGACY this grants the feature when there is no irq domain
> + *			associated to the device. If DENY_LEGACY the lack of an irq domain
> + *			makes the feature unsupported

Looks like some of these might be wider than 80 columns, which I think
was the typical width of this file.

> + */
> +bool pci_msi_domain_supports(struct pci_dev *pdev, unsigned int feature_mask,
> +			     enum support_mode mode)
> +{
> +	struct msi_domain_info *info;
> +	struct irq_domain *domain;
> +
> +	domain = dev_get_msi_domain(&pdev->dev);
> +
> +	if (!domain || !irq_domain_is_hierarchy(domain))
> +		return mode == ALLOW_LEGACY;
> +	info = domain->host_data;
> +	return (info->flags & feature_mask) == feature_mask;
> +}
> +
>  /*
>   * Users of the generic MSI infrastructure expect a device to have a single ID,
>   * so with DMA aliases we have to pick the least-worst compromise. Devices with
> --- a/drivers/pci/msi/msi.c
> +++ b/drivers/pci/msi/msi.c
> @@ -347,6 +347,10 @@ static int msi_capability_init(struct pc
>  	struct msi_desc *entry;
>  	int ret;
>  
> +	/* Reject multi-MSI early on irq domain enabled architectures */
> +	if (nvec > 1 && !pci_msi_domain_supports(dev, MSI_FLAG_MULTI_PCI_MSI, ALLOW_LEGACY))
> +		return 1;
> +
>  	/*
>  	 * Disable MSI during setup in the hardware, but mark it enabled
>  	 * so that setup code can evaluate it.
> --- a/drivers/pci/msi/msi.h
> +++ b/drivers/pci/msi/msi.h
> @@ -97,6 +97,15 @@ int __pci_enable_msix_range(struct pci_d
>  void __pci_restore_msi_state(struct pci_dev *dev);
>  void __pci_restore_msix_state(struct pci_dev *dev);
>  
> +/* irq_domain related functionality */
> +
> +enum support_mode {
> +	ALLOW_LEGACY,
> +	DENY_LEGACY,
> +};
> +
> +bool pci_msi_domain_supports(struct pci_dev *dev, unsigned int feature_mask, enum support_mode mode);
> +
>  /* Legacy (!IRQDOMAIN) fallbacks */
>  
>  #ifdef CONFIG_PCI_MSI_ARCH_FALLBACKS
> 

WARNING: multiple messages have this Message-ID (diff)
From: Bjorn Helgaas <helgaas@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
	x86@kernel.org, Joerg Roedel <joro@8bytes.org>,
	Will Deacon <will@kernel.org>,
	linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Marc Zyngier <maz@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jason Gunthorpe <jgg@mellanox.com>,
	Dave Jiang <dave.jiang@intel.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Logan Gunthorpe <logang@deltatee.com>,
	Ashok Raj <ashok.raj@intel.com>, Jon Mason <jdmason@kudzu.us>,
	Allen Hubbe <allenbh@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	linuxppc-dev@lists.ozlabs.org,
	"Ahmed S. Darwish" <darwi@linutronix.de>,
	Reinette Chatre <reinette.chatre@intel.com>
Subject: Re: [patch 34/39] PCI/MSI: Reject multi-MSI early
Date: Wed, 16 Nov 2022 10:31:18 -0600	[thread overview]
Message-ID: <20221116163118.GA1116261@bhelgaas> (raw)
In-Reply-To: <20221111122015.574339988@linutronix.de>

On Fri, Nov 11, 2022 at 02:55:09PM +0100, Thomas Gleixner wrote:
> When hierarchical MSI interrupt domains are enabled then there is no point
> to do tons of work and detect the missing support for multi-MSI late in the
> allocation path.
> 
> Just query the domain feature flags right away. The query function is going
> to be used for other purposes later and has a mode argument which influences
> the result:
> 
>   ALLOW_LEGACY returns true when:
>      - there is no irq domain attached (legacy support)
>      - there is a irq domain attached which has the feature flag set
> 
>   DENY_LEGACY returns only true when:
>      - there is a irq domain attached which has the feature flag set
> 
> This allows to use the function universally without ifdeffery in the
> calling code.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Acked-by: Bjorn Helgaas <bhelgaas@google.com>

> ---
>  drivers/pci/msi/irqdomain.c |   22 ++++++++++++++++++++++
>  drivers/pci/msi/msi.c       |    4 ++++
>  drivers/pci/msi/msi.h       |    9 +++++++++
>  3 files changed, 35 insertions(+)
> 
> --- a/drivers/pci/msi/irqdomain.c
> +++ b/drivers/pci/msi/irqdomain.c
> @@ -187,6 +187,28 @@ struct irq_domain *pci_msi_create_irq_do
>  }
>  EXPORT_SYMBOL_GPL(pci_msi_create_irq_domain);
>  
> +/**
> + * pci_msi_domain_supports - Check for support of a particular feature flag
> + * @pdev:		The PCI device to operate on
> + * @feature_mask:	The feature mask to check for (full match)
> + * @mode:		If ALLOW_LEGACY this grants the feature when there is no irq domain
> + *			associated to the device. If DENY_LEGACY the lack of an irq domain
> + *			makes the feature unsupported

Looks like some of these might be wider than 80 columns, which I think
was the typical width of this file.

> + */
> +bool pci_msi_domain_supports(struct pci_dev *pdev, unsigned int feature_mask,
> +			     enum support_mode mode)
> +{
> +	struct msi_domain_info *info;
> +	struct irq_domain *domain;
> +
> +	domain = dev_get_msi_domain(&pdev->dev);
> +
> +	if (!domain || !irq_domain_is_hierarchy(domain))
> +		return mode == ALLOW_LEGACY;
> +	info = domain->host_data;
> +	return (info->flags & feature_mask) == feature_mask;
> +}
> +
>  /*
>   * Users of the generic MSI infrastructure expect a device to have a single ID,
>   * so with DMA aliases we have to pick the least-worst compromise. Devices with
> --- a/drivers/pci/msi/msi.c
> +++ b/drivers/pci/msi/msi.c
> @@ -347,6 +347,10 @@ static int msi_capability_init(struct pc
>  	struct msi_desc *entry;
>  	int ret;
>  
> +	/* Reject multi-MSI early on irq domain enabled architectures */
> +	if (nvec > 1 && !pci_msi_domain_supports(dev, MSI_FLAG_MULTI_PCI_MSI, ALLOW_LEGACY))
> +		return 1;
> +
>  	/*
>  	 * Disable MSI during setup in the hardware, but mark it enabled
>  	 * so that setup code can evaluate it.
> --- a/drivers/pci/msi/msi.h
> +++ b/drivers/pci/msi/msi.h
> @@ -97,6 +97,15 @@ int __pci_enable_msix_range(struct pci_d
>  void __pci_restore_msi_state(struct pci_dev *dev);
>  void __pci_restore_msix_state(struct pci_dev *dev);
>  
> +/* irq_domain related functionality */
> +
> +enum support_mode {
> +	ALLOW_LEGACY,
> +	DENY_LEGACY,
> +};
> +
> +bool pci_msi_domain_supports(struct pci_dev *dev, unsigned int feature_mask, enum support_mode mode);
> +
>  /* Legacy (!IRQDOMAIN) fallbacks */
>  
>  #ifdef CONFIG_PCI_MSI_ARCH_FALLBACKS
> 

  reply	other threads:[~2022-11-16 16:35 UTC|newest]

Thread overview: 283+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-11 13:54 [patch 00/39] genirq, PCI/MSI: Support for per device MSI and PCI/IMS - Part 1 cleanups Thomas Gleixner
2022-11-11 13:54 ` Thomas Gleixner
2022-11-11 13:54 ` [patch 01/39] PCI/MSI: Check for MSI enabled in __pci_msix_enable() Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 15:39   ` Ashok Raj
2022-11-16 15:39     ` Ashok Raj
2022-11-17 13:07     ` Thomas Gleixner
2022-11-17 13:07       ` Thomas Gleixner
2022-11-17 14:00       ` Ashok Raj
2022-11-17 14:00         ` Ashok Raj
2022-11-16 16:35   ` Bjorn Helgaas
2022-11-16 16:35     ` Bjorn Helgaas
2022-11-16 17:43   ` Jason Gunthorpe
2022-11-16 17:43     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-18  7:35   ` [patch 01/39] " Tian, Kevin
2022-11-18  7:35     ` Tian, Kevin
2022-11-11 13:54 ` [patch 02/39] iommu/vt-d: Remove bogus check for multi MSI-X Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 15:52   ` Ashok Raj
2022-11-16 15:52     ` Ashok Raj
2022-11-16 17:02     ` Thomas Gleixner
2022-11-16 17:02       ` Thomas Gleixner
2022-11-16 17:39       ` Ashok Raj
2022-11-16 17:39         ` Ashok Raj
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 03/39] iommu/amd: " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:02   ` Ashok Raj
2022-11-16 16:02     ` Ashok Raj
2022-11-16 17:03     ` Thomas Gleixner
2022-11-16 17:03       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 04/39] genirq/msi: Use MSI_DESC_ALL in msi_add_simple_msi_descs() Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:12   ` Ashok Raj
2022-11-16 16:12     ` Ashok Raj
2022-11-16 17:43   ` Jason Gunthorpe
2022-11-16 17:43     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 05/39] genirq/msi: Remove filter from msi_free_descs_free_range() Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:43   ` Jason Gunthorpe
2022-11-16 17:43     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2023-03-01 10:55   ` [patch 05/39] " Miquel Raynal
2023-03-01 10:55     ` Miquel Raynal
2023-03-01 21:07     ` Thomas Gleixner
2023-03-01 21:07       ` Thomas Gleixner
2023-03-02 14:43       ` Miquel Raynal
2023-03-02 14:43         ` Miquel Raynal
2023-03-02 17:22       ` [tip: irq/urgent] genirq/msi, platform-msi: Ensure that MSI descriptors are unreferenced tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 06/39] genirq/msi: Add missing kernel doc to msi_next_desc() Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:44   ` Jason Gunthorpe
2022-11-16 17:44     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 07/39] genirq/msi: Make __msi_domain_alloc_irqs() static Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:44   ` Jason Gunthorpe
2022-11-16 17:44     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 08/39] genirq/msi: Provide msi_domain_ops::post_free() Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:44   ` Jason Gunthorpe
2022-11-16 17:44     ` Jason Gunthorpe
2022-11-16 22:48     ` Thomas Gleixner
2022-11-16 22:48       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] genirq/msi: Provide msi_domain_ops:: Post_free() tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 09/39] powerpc/pseries/msi: Use msi_domain_ops::msi_post_free() Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:45   ` Jason Gunthorpe
2022-11-16 17:45     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] powerpc/pseries/msi: Use msi_domain_ops:: Msi_post_free() tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 10/39] genirq/msi: Make __msi_domain_free_irqs() static Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:46   ` Jason Gunthorpe
2022-11-16 17:46     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 11/39] genirq/irqdomain: Move bus token enum into a seperate header Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:02   ` Ashok Raj
2022-11-16 17:02     ` Ashok Raj
2022-11-16 17:48   ` Jason Gunthorpe
2022-11-16 17:48     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 12/39] genirq/msi: Add bus token to struct msi_domain_info Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:49   ` Jason Gunthorpe
2022-11-16 17:49     ` Jason Gunthorpe
2022-11-16 22:50     ` Thomas Gleixner
2022-11-16 22:50       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 13/39] PCI/MSI: Use msi_domain_info::bus_token Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:14   ` Bjorn Helgaas
2022-11-16 16:14     ` Bjorn Helgaas
2022-11-16 17:51   ` Jason Gunthorpe
2022-11-16 17:51     ` Jason Gunthorpe
2022-11-16 22:51     ` Thomas Gleixner
2022-11-16 22:51       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] PCI/MSI: Use msi_domain_info:: Bus_token tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 14/39] PCI/MSI: Let the MSI core free descriptors Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:15   ` Bjorn Helgaas
2022-11-16 16:15     ` Bjorn Helgaas
2022-11-16 17:53   ` Jason Gunthorpe
2022-11-16 17:53     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 15/39] PCI/MSI: Get rid of PCI_MSI_IRQ_DOMAIN Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:12   ` Bjorn Helgaas
2022-11-16 16:12     ` Bjorn Helgaas
2022-11-16 17:04     ` Thomas Gleixner
2022-11-16 17:04       ` Thomas Gleixner
2022-11-16 17:53   ` Jason Gunthorpe
2022-11-16 17:53     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:54 ` [patch 16/39] genirq: Get rid of GENERIC_MSI_IRQ_DOMAIN Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 17:54   ` Jason Gunthorpe
2022-11-16 17:54     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2023-01-13 12:17     ` [PATCH] irqchip/imx: Do not unconditionally enable GENERIC_MSI_IRQ Ingo Molnar
2023-01-17  9:25       ` Thomas Gleixner
2022-11-11 13:54 ` [patch 17/39] PCI/MSI: Get rid of externs in msi.h Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:15   ` Bjorn Helgaas
2022-11-16 16:15     ` Bjorn Helgaas
2022-11-16 17:54   ` Jason Gunthorpe
2022-11-16 17:54     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 18/39] PCI/MSI: Move mask and unmask helpers to msi.h Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:16   ` Bjorn Helgaas
2022-11-16 16:16     ` Bjorn Helgaas
2022-11-16 17:55   ` Jason Gunthorpe
2022-11-16 17:55     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 19/39] PCI/MSI: Move pci_disable_msi() to api.c Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:16   ` Bjorn Helgaas
2022-11-16 16:16     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 20/39] PCI/MSI: Move pci_enable_msi() API " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:18   ` Bjorn Helgaas
2022-11-16 16:18     ` Bjorn Helgaas
2022-11-16 17:05     ` Thomas Gleixner
2022-11-16 17:05       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 21/39] PCI/MSI: Move pci_enable_msix_range() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:20   ` Bjorn Helgaas
2022-11-16 16:20     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 22/39] PCI/MSI: Move pci_alloc_irq_vectors() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:22   ` Bjorn Helgaas
2022-11-16 16:22     ` Bjorn Helgaas
2022-11-16 17:06     ` Thomas Gleixner
2022-11-16 17:06       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 23/39] PCI/MSI: Move pci_alloc_irq_vectors_affinity() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:23   ` Bjorn Helgaas
2022-11-16 16:23     ` Bjorn Helgaas
2022-11-16 17:07     ` Thomas Gleixner
2022-11-16 17:07       ` Thomas Gleixner
2022-11-18 12:34     ` Ahmed S. Darwish
2022-11-18 12:34       ` Ahmed S. Darwish
2022-11-18 12:58       ` Peter Zijlstra
2022-11-18 12:58         ` Peter Zijlstra
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 24/39] PCI/MSI: Move pci_irq_vector() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:23   ` Bjorn Helgaas
2022-11-16 16:23     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 25/39] PCI/MSI: Move pci_free_irq_vectors() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:24   ` Bjorn Helgaas
2022-11-16 16:24     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 26/39] PCI/MSI: Move pci_msix_vec_count() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:24   ` Bjorn Helgaas
2022-11-16 16:24     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 27/39] PCI/MSI: Move pci_disable_msix() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:26   ` Bjorn Helgaas
2022-11-16 16:26     ` Bjorn Helgaas
2022-11-16 17:09     ` Thomas Gleixner
2022-11-16 17:09       ` Thomas Gleixner
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:54 ` [patch 28/39] PCI/MSI: Move pci_irq_get_affinity() " Thomas Gleixner
2022-11-11 13:54   ` Thomas Gleixner
2022-11-16 16:35   ` Bjorn Helgaas
2022-11-16 16:35     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:55 ` [patch 29/39] PCI/MSI: Move pci_msi_enabled() " Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:26   ` Bjorn Helgaas
2022-11-16 16:26     ` Bjorn Helgaas
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:55 ` [patch 30/39] PCI/MSI: Move pci_msi_restore_state() " Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:27   ` Bjorn Helgaas
2022-11-16 16:27     ` Bjorn Helgaas
2022-11-16 17:42   ` Jason Gunthorpe
2022-11-16 17:42     ` Jason Gunthorpe
2022-11-17 15:08   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:55 ` [patch 31/39] Documentation: PCI: Add reference to PCI/MSI device driver APIs Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:27   ` Bjorn Helgaas
2022-11-16 16:27     ` Bjorn Helgaas
2022-11-16 17:31   ` Jason Gunthorpe
2022-11-16 17:31     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:55 ` [patch 32/39] PCI/MSI: Reorder functions in msi.c Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:28   ` Bjorn Helgaas
2022-11-16 16:28     ` Bjorn Helgaas
2022-11-16 17:10     ` Thomas Gleixner
2022-11-16 17:10       ` Thomas Gleixner
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Ahmed S. Darwish
2022-11-11 13:55 ` [patch 33/39] PCI/MSI: Sanitize MSI-X checks Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:29   ` Bjorn Helgaas
2022-11-16 16:29     ` Bjorn Helgaas
2022-11-16 17:57   ` Jason Gunthorpe
2022-11-16 17:57     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-18  7:38   ` [patch 33/39] " Tian, Kevin
2022-11-18  7:38     ` Tian, Kevin
2022-11-11 13:55 ` [patch 34/39] PCI/MSI: Reject multi-MSI early Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:31   ` Bjorn Helgaas [this message]
2022-11-16 16:31     ` Bjorn Helgaas
2022-11-17  8:22     ` Thomas Gleixner
2022-11-17  8:22       ` Thomas Gleixner
2022-11-16 17:59   ` Jason Gunthorpe
2022-11-16 17:59     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:55 ` [patch 35/39] PCI/MSI: Reject MSI-X early Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:31   ` Bjorn Helgaas
2022-11-16 16:31     ` Bjorn Helgaas
2022-11-16 18:00   ` Jason Gunthorpe
2022-11-16 18:00     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2023-01-15 22:14   ` [PATCH] x86/xen: Set MSI_FLAG_PCI_MSIX support in Xen MSI domain David Woodhouse
2023-01-15 22:14     ` David Woodhouse
2023-01-16 19:43     ` [tip: x86/urgent] x86/pci/xen: " tip-bot2 for David Woodhouse
2022-11-11 13:55 ` [patch 36/39] PCI/MSI: Validate MSIX contiguous restriction early Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:33   ` Bjorn Helgaas
2022-11-16 16:33     ` Bjorn Helgaas
2022-11-16 18:00   ` Jason Gunthorpe
2022-11-16 18:00     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] PCI/MSI: Validate MSI-X " tip-bot2 for Thomas Gleixner
2022-11-11 13:55 ` [patch 37/39] PCI/MSI: Remove redundant msi_check() callback Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 16:34   ` Bjorn Helgaas
2022-11-16 16:34     ` Bjorn Helgaas
2022-11-16 18:01   ` Jason Gunthorpe
2022-11-16 18:01     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-11 13:55 ` [patch 38/39] genirq/msi: Remove msi_domain_ops::msi_check() Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 18:01   ` Jason Gunthorpe
2022-11-16 18:01     ` Jason Gunthorpe
2022-11-17 15:07   ` [tip: irq/core] genirq/msi: Remove msi_domain_ops:: Msi_check() tip-bot2 for Thomas Gleixner
2022-11-11 13:55 ` [patch 39/39] x86/apic: Remove X86_IRQ_ALLOC_CONTIGUOUS_VECTORS Thomas Gleixner
2022-11-11 13:55   ` Thomas Gleixner
2022-11-16 18:05   ` Jason Gunthorpe
2022-11-16 18:05     ` Jason Gunthorpe
2022-11-17 15:00     ` Thomas Gleixner
2022-11-17 15:00       ` Thomas Gleixner
2022-11-17 15:07   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2022-11-18  7:40 ` [patch 00/39] genirq, PCI/MSI: Support for per device MSI and PCI/IMS - Part 1 cleanups Tian, Kevin
2022-11-18  7:40   ` Tian, Kevin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221116163118.GA1116261@bhelgaas \
    --to=helgaas@kernel.org \
    --cc=alex.williamson@redhat.com \
    --cc=allenbh@gmail.com \
    --cc=ashok.raj@intel.com \
    --cc=bhelgaas@google.com \
    --cc=dan.j.williams@intel.com \
    --cc=darwi@linutronix.de \
    --cc=dave.jiang@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jdmason@kudzu.us \
    --cc=jgg@mellanox.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=logang@deltatee.com \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=maz@kernel.org \
    --cc=reinette.chatre@intel.com \
    --cc=tglx@linutronix.de \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.