From: "tip-bot2 for Thomas Gleixner" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
Jason Gunthorpe <jgg@nvidia.com>,
x86@kernel.org, linux-kernel@vger.kernel.org
Subject: [tip: irq/msi] powerpc/pseries/msi: Let core code check for contiguous entries
Date: Thu, 16 Dec 2021 21:40:54 -0000 [thread overview]
Message-ID: <163969085402.23020.1746302325426674592.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20211210221814.720998720@linutronix.de>
The following commit has been merged into the irq/msi branch of tip:
Commit-ID: 651b39c48813acac2b77850014390f4062a4835d
Gitweb: https://git.kernel.org/tip/651b39c48813acac2b77850014390f4062a4835d
Author: Thomas Gleixner <tglx@linutronix.de>
AuthorDate: Fri, 10 Dec 2021 23:19:22 +01:00
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Thu, 16 Dec 2021 22:16:40 +01:00
powerpc/pseries/msi: Let core code check for contiguous entries
Set the domain info flag and remove the check.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20211210221814.720998720@linutronix.de
---
arch/powerpc/platforms/pseries/msi.c | 33 ++++++---------------------
1 file changed, 8 insertions(+), 25 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/msi.c b/arch/powerpc/platforms/pseries/msi.c
index 27cd1fb..fb2919f 100644
--- a/arch/powerpc/platforms/pseries/msi.c
+++ b/arch/powerpc/platforms/pseries/msi.c
@@ -321,27 +321,6 @@ out:
return request;
}
-static int check_msix_entries(struct pci_dev *pdev)
-{
- struct msi_desc *entry;
- int expected;
-
- /* There's no way for us to express to firmware that we want
- * a discontiguous, or non-zero based, range of MSI-X entries.
- * So we must reject such requests. */
-
- expected = 0;
- for_each_pci_msi_entry(entry, pdev) {
- if (entry->msi_index != expected) {
- pr_debug("rtas_msi: bad MSI-X entries.\n");
- return -EINVAL;
- }
- expected++;
- }
-
- return 0;
-}
-
static void rtas_hack_32bit_msi_gen2(struct pci_dev *pdev)
{
u32 addr_hi, addr_lo;
@@ -380,9 +359,6 @@ static int rtas_prepare_msi_irqs(struct pci_dev *pdev, int nvec_in, int type,
if (quota && quota < nvec)
return quota;
- if (type == PCI_CAP_ID_MSIX && check_msix_entries(pdev))
- return -EINVAL;
-
/*
* Firmware currently refuse any non power of two allocation
* so we round up if the quota will allow it.
@@ -529,9 +505,16 @@ static struct irq_chip pseries_pci_msi_irq_chip = {
.irq_write_msi_msg = pseries_msi_write_msg,
};
+
+/*
+ * Set MSI_FLAG_MSIX_CONTIGUOUS as there is no way to express to
+ * firmware to request a discontiguous or non-zero based range of
+ * MSI-X entries. Core code will reject such setup attempts.
+ */
static struct msi_domain_info pseries_msi_domain_info = {
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
- MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX),
+ MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX |
+ MSI_FLAG_MSIX_CONTIGUOUS),
.ops = &pseries_pci_msi_domain_ops,
.chip = &pseries_pci_msi_irq_chip,
};
next prev parent reply other threads:[~2021-12-16 21:43 UTC|newest]
Thread overview: 122+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-10 22:18 [patch V3 00/35] genirq/msi, PCI/MSI: Spring cleaning - Part 2 Thomas Gleixner
2021-12-10 22:18 ` [patch V3 01/35] PCI/MSI: Set pci_dev::msi[x]_enabled early Thomas Gleixner
2021-12-13 13:37 ` Jason Gunthorpe
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:18 ` [patch V3 02/35] x86/pci/XEN: Use PCI device property Thomas Gleixner
2021-12-13 13:56 ` Jason Gunthorpe
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:18 ` [patch V3 03/35] x86/apic/msi: Use PCI device MSI property Thomas Gleixner
2021-12-11 10:52 ` Greg Kroah-Hartman
2021-12-13 13:59 ` Jason Gunthorpe
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:18 ` [patch V3 04/35] genirq/msi: Use PCI device property Thomas Gleixner
2021-12-13 13:59 ` Jason Gunthorpe
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:18 ` [patch V3 05/35] powerpc/cell/axon_msi: " Thomas Gleixner
2021-12-11 15:21 ` Arnd Bergmann
2021-12-13 14:01 ` Jason Gunthorpe
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:18 ` [patch V3 06/35] powerpc/pseries/msi: Use PCI device properties Thomas Gleixner
2021-12-13 14:04 ` Jason Gunthorpe
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:18 ` [patch V3 07/35] device: Move MSI related data into a struct Thomas Gleixner
2021-12-11 15:22 ` Arnd Bergmann
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:18 ` [patch V3 08/35] device: Add device:: Msi_data pointer and struct msi_device_data Thomas Gleixner
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:18 ` [patch V3 09/35] PCI/MSI: Allocate MSI device data on first use Thomas Gleixner
2021-12-15 17:16 ` [patch V4 09-01/35] PCI/MSI: Decouple MSI[-X] disable from pcim_release() Thomas Gleixner
2021-12-15 17:19 ` [patch V4 09-02/35] PCI/MSI: Allocate MSI device data on first use Thomas Gleixner
2021-12-15 17:46 ` Greg Kroah-Hartman
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-15 17:46 ` [patch V4 09-01/35] PCI/MSI: Decouple MSI[-X] disable from pcim_release() Greg Kroah-Hartman
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:18 ` [patch V3 10/35] platform-msi: Allocate MSI device data on first use Thomas Gleixner
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 11/35] bus: fsl-mc-msi: " Thomas Gleixner
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 12/35] soc: ti: ti_sci_inta_msi: " Thomas Gleixner
2021-12-11 15:22 ` Arnd Bergmann
2021-12-13 17:56 ` Nishanth Menon
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 13/35] genirq/msi: Provide msi_device_populate/destroy_sysfs() Thomas Gleixner
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 14/35] PCI/MSI: Let the irq code handle sysfs groups Thomas Gleixner
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 15/35] platform-msi: Let the core " Thomas Gleixner
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 16/35] genirq/msi: Remove the original sysfs interfaces Thomas Gleixner
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 17/35] platform-msi: Rename functions and clarify comments Thomas Gleixner
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 18/35] platform-msi: Store platform private data pointer in msi_device_data Thomas Gleixner
2021-12-16 21:41 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 19/35] genirq/msi: Consolidate MSI descriptor data Thomas Gleixner
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 20/35] platform-msi: Use msi_desc::msi_index Thomas Gleixner
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 21/35] bus: fsl-mc-msi: " Thomas Gleixner
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 22/35] soc: ti: ti_sci_inta_msi: " Thomas Gleixner
2021-12-13 17:57 ` Nishanth Menon
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 23/35] PCI/MSI: " Thomas Gleixner
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 24/35] PCI/MSI: Provide MSI_FLAG_MSIX_CONTIGUOUS Thomas Gleixner
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 25/35] powerpc/pseries/msi: Let core code check for contiguous entries Thomas Gleixner
2021-12-13 14:05 ` Jason Gunthorpe
2021-12-16 21:40 ` tip-bot2 for Thomas Gleixner [this message]
2021-12-10 22:19 ` [patch V3 26/35] genirq/msi: Provide interface to retrieve Linux interrupt number Thomas Gleixner
2021-12-13 14:22 ` Jason Gunthorpe
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 27/35] PCI/MSI: Use __msi_get_virq() in pci_get_vector() Thomas Gleixner
2021-12-13 14:23 ` Jason Gunthorpe
2021-12-16 21:40 ` [tip: irq/msi] PCI/MSI: Use msi_get_virq() " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 28/35] PCI/MSI: Simplify pci_irq_get_affinity() Thomas Gleixner
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-17 22:30 ` [patch V3 28/35] " Nathan Chancellor
2021-12-18 10:25 ` Thomas Gleixner
2021-12-18 19:04 ` Nathan Chancellor
2021-12-18 19:39 ` [tip: irq/msi] PCI/MSI: Unbreak pci_irq_get_affinity() tip-bot2 for Thomas Gleixner
2021-12-18 20:25 ` [patch V3 28/35] PCI/MSI: Simplify pci_irq_get_affinity() Cédric Le Goater
2021-12-20 11:55 ` Thomas Gleixner
2022-01-30 17:12 ` Guenter Roeck
2022-01-31 11:27 ` Thomas Gleixner
2022-01-31 15:21 ` Guenter Roeck
2022-01-31 21:16 ` Thomas Gleixner
2022-02-04 8:57 ` [tip: irq/urgent] PCI/MSI: Remove bogus warning in pci_irq_get_affinity() tip-bot2 for Thomas Gleixner
2022-02-04 11:29 ` Thorsten Leemhuis
2021-12-10 22:19 ` [patch V3 29/35] dmaengine: mv_xor_v2: Get rid of msi_desc abuse Thomas Gleixner
2021-12-13 5:14 ` Vinod Koul
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 30/35] perf/smmuv3: Use msi_get_virq() Thomas Gleixner
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 31/35] iommu/arm-smmu-v3: " Thomas Gleixner
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 32/35] mailbox: bcm-flexrm-mailbox: Rework MSI interrupt handling Thomas Gleixner
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 33/35] bus: fsl-mc: fsl-mc-allocator: Rework MSI handling Thomas Gleixner
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 34/35] soc: ti: ti_sci_inta_msi: Get rid of ti_sci_inta_msi_get_virq() Thomas Gleixner
2021-12-11 15:24 ` Arnd Bergmann
2021-12-13 5:15 ` Vinod Koul
2021-12-13 17:57 ` Nishanth Menon
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-10 22:19 ` [patch V3 35/35] dmaengine: qcom_hidma: Cleanup MSI handling Thomas Gleixner
2021-12-13 5:14 ` Vinod Koul
2021-12-16 21:40 ` [tip: irq/msi] " tip-bot2 for Thomas Gleixner
2021-12-13 18:29 ` [patch V3 00/35] genirq/msi, PCI/MSI: Spring cleaning - Part 2 Nishanth Menon
2021-12-14 9:41 ` Thomas Gleixner
2021-12-14 16:22 ` Nishanth Menon
2021-12-14 16:36 ` Thomas Gleixner
2021-12-14 17:03 ` Thomas Gleixner
2021-12-14 20:15 ` Thomas Gleixner
2021-12-14 20:56 ` Nishanth Menon
2021-12-14 21:19 ` Thomas Gleixner
2021-12-15 16:18 ` Thomas Gleixner
2021-12-15 16:35 ` Thomas Gleixner
2021-12-15 18:08 ` Nishanth Menon
2021-12-16 1:45 ` Nishanth Menon
2021-12-16 17:23 ` Thomas Gleixner
2021-12-16 6:14 ` Michael Kelley (LINUX)
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=163969085402.23020.1746302325426674592.tip-bot2@tip-bot2 \
--to=tip-bot2@linutronix.de \
--cc=gregkh@linuxfoundation.org \
--cc=jgg@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=tglx@linutronix.de \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).