linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "tip-bot2 for Ahmed S. Darwish" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: "Ahmed S. Darwish" <darwi@linutronix.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jason Gunthorpe <jgg@nvidia.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	x86@kernel.org, linux-kernel@vger.kernel.org, maz@kernel.org
Subject: [tip: irq/core] PCI/MSI: Move mask and unmask helpers to msi.h
Date: Thu, 17 Nov 2022 15:08:14 -0000	[thread overview]
Message-ID: <166869769429.4906.15404794497153421507.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20221111122014.640052354@linutronix.de>

The following commit has been merged into the irq/core branch of tip:

Commit-ID:     c93fd5266cff2afa908659c817c6aff4d5ed6283
Gitweb:        https://git.kernel.org/tip/c93fd5266cff2afa908659c817c6aff4d5ed6283
Author:        Ahmed S. Darwish <darwi@linutronix.de>
AuthorDate:    Fri, 11 Nov 2022 14:54:43 +01:00
Committer:     Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Thu, 17 Nov 2022 15:15:20 +01:00

PCI/MSI: Move mask and unmask helpers to msi.h

The upcoming support for per device MSI interrupt domains needs to share
some of the inline helpers with the MSI implementation.

Move them to the header file.

Signed-off-by: Ahmed S. Darwish <darwi@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://lore.kernel.org/r/20221111122014.640052354@linutronix.de


---
 drivers/pci/msi/msi.c | 61 +-------------------------------
 drivers/pci/msi/msi.h | 83 ++++++++++++++++++++++++++++++++++++------
 2 files changed, 74 insertions(+), 70 deletions(-)

diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
index 160af9f..5c310df 100644
--- a/drivers/pci/msi/msi.c
+++ b/drivers/pci/msi/msi.c
@@ -16,7 +16,7 @@
 static int pci_msi_enable = 1;
 int pci_msi_ignore_mask;
 
-static noinline void pci_msi_update_mask(struct msi_desc *desc, u32 clear, u32 set)
+void pci_msi_update_mask(struct msi_desc *desc, u32 clear, u32 set)
 {
 	raw_spinlock_t *lock = &to_pci_dev(desc->dev)->msi_lock;
 	unsigned long flags;
@@ -32,65 +32,6 @@ static noinline void pci_msi_update_mask(struct msi_desc *desc, u32 clear, u32 s
 	raw_spin_unlock_irqrestore(lock, flags);
 }
 
-static inline void pci_msi_mask(struct msi_desc *desc, u32 mask)
-{
-	pci_msi_update_mask(desc, 0, mask);
-}
-
-static inline void pci_msi_unmask(struct msi_desc *desc, u32 mask)
-{
-	pci_msi_update_mask(desc, mask, 0);
-}
-
-static inline void __iomem *pci_msix_desc_addr(struct msi_desc *desc)
-{
-	return desc->pci.mask_base + desc->msi_index * PCI_MSIX_ENTRY_SIZE;
-}
-
-/*
- * This internal function does not flush PCI writes to the device.  All
- * users must ensure that they read from the device before either assuming
- * that the device state is up to date, or returning out of this file.
- * It does not affect the msi_desc::msix_ctrl cache either. Use with care!
- */
-static void pci_msix_write_vector_ctrl(struct msi_desc *desc, u32 ctrl)
-{
-	void __iomem *desc_addr = pci_msix_desc_addr(desc);
-
-	if (desc->pci.msi_attrib.can_mask)
-		writel(ctrl, desc_addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
-}
-
-static inline void pci_msix_mask(struct msi_desc *desc)
-{
-	desc->pci.msix_ctrl |= PCI_MSIX_ENTRY_CTRL_MASKBIT;
-	pci_msix_write_vector_ctrl(desc, desc->pci.msix_ctrl);
-	/* Flush write to device */
-	readl(desc->pci.mask_base);
-}
-
-static inline void pci_msix_unmask(struct msi_desc *desc)
-{
-	desc->pci.msix_ctrl &= ~PCI_MSIX_ENTRY_CTRL_MASKBIT;
-	pci_msix_write_vector_ctrl(desc, desc->pci.msix_ctrl);
-}
-
-static void __pci_msi_mask_desc(struct msi_desc *desc, u32 mask)
-{
-	if (desc->pci.msi_attrib.is_msix)
-		pci_msix_mask(desc);
-	else
-		pci_msi_mask(desc, mask);
-}
-
-static void __pci_msi_unmask_desc(struct msi_desc *desc, u32 mask)
-{
-	if (desc->pci.msi_attrib.is_msix)
-		pci_msix_unmask(desc);
-	else
-		pci_msi_unmask(desc, mask);
-}
-
 /**
  * pci_msi_mask_irq - Generic IRQ chip callback to mask PCI/MSI interrupts
  * @data:	pointer to irqdata associated to that interrupt
diff --git a/drivers/pci/msi/msi.h b/drivers/pci/msi/msi.h
index fc92603..d8f62d9 100644
--- a/drivers/pci/msi/msi.h
+++ b/drivers/pci/msi/msi.h
@@ -8,21 +8,67 @@
 int pci_msi_setup_msi_irqs(struct pci_dev *dev, int nvec, int type);
 void pci_msi_teardown_msi_irqs(struct pci_dev *dev);
 
-#ifdef CONFIG_PCI_MSI_ARCH_FALLBACKS
-int pci_msi_legacy_setup_msi_irqs(struct pci_dev *dev, int nvec, int type);
-void pci_msi_legacy_teardown_msi_irqs(struct pci_dev *dev);
-#else
-static inline int pci_msi_legacy_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
+/* Mask/unmask helpers */
+void pci_msi_update_mask(struct msi_desc *desc, u32 clear, u32 set);
+
+static inline void pci_msi_mask(struct msi_desc *desc, u32 mask)
 {
-	WARN_ON_ONCE(1);
-	return -ENODEV;
+	pci_msi_update_mask(desc, 0, mask);
 }
 
-static inline void pci_msi_legacy_teardown_msi_irqs(struct pci_dev *dev)
+static inline void pci_msi_unmask(struct msi_desc *desc, u32 mask)
 {
-	WARN_ON_ONCE(1);
+	pci_msi_update_mask(desc, mask, 0);
+}
+
+static inline void __iomem *pci_msix_desc_addr(struct msi_desc *desc)
+{
+	return desc->pci.mask_base + desc->msi_index * PCI_MSIX_ENTRY_SIZE;
+}
+
+/*
+ * This internal function does not flush PCI writes to the device.  All
+ * users must ensure that they read from the device before either assuming
+ * that the device state is up to date, or returning out of this file.
+ * It does not affect the msi_desc::msix_ctrl cache either. Use with care!
+ */
+static inline void pci_msix_write_vector_ctrl(struct msi_desc *desc, u32 ctrl)
+{
+	void __iomem *desc_addr = pci_msix_desc_addr(desc);
+
+	if (desc->pci.msi_attrib.can_mask)
+		writel(ctrl, desc_addr + PCI_MSIX_ENTRY_VECTOR_CTRL);
+}
+
+static inline void pci_msix_mask(struct msi_desc *desc)
+{
+	desc->pci.msix_ctrl |= PCI_MSIX_ENTRY_CTRL_MASKBIT;
+	pci_msix_write_vector_ctrl(desc, desc->pci.msix_ctrl);
+	/* Flush write to device */
+	readl(desc->pci.mask_base);
+}
+
+static inline void pci_msix_unmask(struct msi_desc *desc)
+{
+	desc->pci.msix_ctrl &= ~PCI_MSIX_ENTRY_CTRL_MASKBIT;
+	pci_msix_write_vector_ctrl(desc, desc->pci.msix_ctrl);
+}
+
+static inline void __pci_msi_mask_desc(struct msi_desc *desc, u32 mask)
+{
+	if (desc->pci.msi_attrib.is_msix)
+		pci_msix_mask(desc);
+	else
+		pci_msi_mask(desc, mask);
+}
+
+static inline void __pci_msi_unmask_desc(struct msi_desc *desc, u32 mask)
+{
+	if (desc->pci.msi_attrib.is_msix)
+		pci_msix_unmask(desc);
+	else
+		pci_msi_unmask(desc, mask);
 }
-#endif
 
 /*
  * PCI 2.3 does not specify mask bits for each MSI interrupt.  Attempting to
@@ -37,3 +83,20 @@ static inline __attribute_const__ u32 msi_multi_mask(struct msi_desc *desc)
 		return 0xffffffff;
 	return (1 << (1 << desc->pci.msi_attrib.multi_cap)) - 1;
 }
+
+/* Legacy (!IRQDOMAIN) fallbacks */
+#ifdef CONFIG_PCI_MSI_ARCH_FALLBACKS
+int pci_msi_legacy_setup_msi_irqs(struct pci_dev *dev, int nvec, int type);
+void pci_msi_legacy_teardown_msi_irqs(struct pci_dev *dev);
+#else
+static inline int pci_msi_legacy_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
+{
+	WARN_ON_ONCE(1);
+	return -ENODEV;
+}
+
+static inline void pci_msi_legacy_teardown_msi_irqs(struct pci_dev *dev)
+{
+	WARN_ON_ONCE(1);
+}
+#endif

  parent reply	other threads:[~2022-11-17 15:10 UTC|newest]

Thread overview: 163+ 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 ` [patch 01/39] PCI/MSI: Check for MSI enabled in __pci_msix_enable() Thomas Gleixner
2022-11-16 15:39   ` Ashok Raj
2022-11-17 13:07     ` Thomas Gleixner
2022-11-17 14:00       ` Ashok Raj
2022-11-16 16:35   ` Bjorn Helgaas
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-11 13:54 ` [patch 02/39] iommu/vt-d: Remove bogus check for multi MSI-X Thomas Gleixner
2022-11-16 15:52   ` Ashok Raj
2022-11-16 17:02     ` Thomas Gleixner
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-16 16:02   ` Ashok Raj
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-16 16:12   ` Ashok Raj
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-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 21:07     ` Thomas Gleixner
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-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-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-16 17:44   ` Jason Gunthorpe
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-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-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-16 17:02   ` Ashok Raj
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-16 17:49   ` Jason Gunthorpe
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-16 16:14   ` Bjorn Helgaas
2022-11-16 17:51   ` Jason Gunthorpe
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-16 16:15   ` Bjorn Helgaas
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-16 16:12   ` Bjorn Helgaas
2022-11-16 17:04     ` Thomas Gleixner
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-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-16 16:15   ` Bjorn Helgaas
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-16 16:16   ` Bjorn Helgaas
2022-11-16 17:55   ` Jason Gunthorpe
2022-11-17 15:08   ` tip-bot2 for Ahmed S. Darwish [this message]
2022-11-11 13:54 ` [patch 19/39] PCI/MSI: Move pci_disable_msi() to api.c Thomas Gleixner
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-16 16:18   ` Bjorn Helgaas
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-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-16 16:22   ` Bjorn Helgaas
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-16 16:23   ` Bjorn Helgaas
2022-11-16 17:07     ` Thomas Gleixner
2022-11-18 12:34     ` Ahmed S. Darwish
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-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-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-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-16 16:26   ` Bjorn Helgaas
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-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-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-16 16:27   ` Bjorn Helgaas
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-16 16:27   ` Bjorn Helgaas
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-16 16:28   ` Bjorn Helgaas
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-16 16:29   ` Bjorn Helgaas
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-11 13:55 ` [patch 34/39] PCI/MSI: Reject multi-MSI early Thomas Gleixner
2022-11-16 16:31   ` Bjorn Helgaas
2022-11-17  8:22     ` Thomas Gleixner
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-16 16:31   ` Bjorn Helgaas
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-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-16 16:33   ` Bjorn Helgaas
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-16 16:34   ` Bjorn Helgaas
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-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-16 18:05   ` Jason Gunthorpe
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

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=166869769429.4906.15404794497153421507.tip-bot2@tip-bot2 \
    --to=tip-bot2@linutronix.de \
    --cc=bhelgaas@google.com \
    --cc=darwi@linutronix.de \
    --cc=jgg@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=maz@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).