All of lore.kernel.org
 help / color / mirror / Atom feed
From: "tip-bot2 for Thomas Gleixner" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Wei Liu <wei.liu@kernel.org>, Joerg Roedel <jroedel@suse.de>,
	x86 <x86@kernel.org>, LKML <linux-kernel@vger.kernel.org>
Subject: [tip: x86/irq] x86_ioapic_Consolidate_IOAPIC_allocation
Date: Wed, 16 Sep 2020 15:12:20 -0000	[thread overview]
Message-ID: <160026914027.15536.7260933412673778973.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20200826112332.054367732@linutronix.de>

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

Commit-ID:     33a65ba470c2b7031e513f7b165e68f51cfc55eb
Gitweb:        https://git.kernel.org/tip/33a65ba470c2b7031e513f7b165e68f51cfc55eb
Author:        Thomas Gleixner <tglx@linutronix.de>
AuthorDate:    Wed, 26 Aug 2020 13:16:42 +02:00
Committer:     Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Wed, 16 Sep 2020 16:52:32 +02:00

x86_ioapic_Consolidate_IOAPIC_allocation

Move the IOAPIC specific fields into their own struct and reuse the common
devid. Get rid of the #ifdeffery as it does not matter at all whether the
alloc info is a couple of bytes longer or not.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Wei Liu <wei.liu@kernel.org>
Acked-by: Joerg Roedel <jroedel@suse.de>
Link: https://lore.kernel.org/r/20200826112332.054367732@linutronix.de
---
 arch/x86/include/asm/hw_irq.h       | 23 ++++-----
 arch/x86/kernel/apic/io_apic.c      | 70 ++++++++++++++--------------
 arch/x86/kernel/devicetree.c        |  4 +-
 drivers/iommu/amd/iommu.c           | 14 +++---
 drivers/iommu/hyperv-iommu.c        |  2 +-
 drivers/iommu/intel/irq_remapping.c | 18 +++----
 6 files changed, 66 insertions(+), 65 deletions(-)

diff --git a/arch/x86/include/asm/hw_irq.h b/arch/x86/include/asm/hw_irq.h
index 2d39e61..641bc14 100644
--- a/arch/x86/include/asm/hw_irq.h
+++ b/arch/x86/include/asm/hw_irq.h
@@ -44,6 +44,15 @@ enum irq_alloc_type {
 	X86_IRQ_ALLOC_TYPE_HPET_GET_PARENT,
 };
 
+struct ioapic_alloc_info {
+	int				pin;
+	int				node;
+	u32				trigger : 1;
+	u32				polarity : 1;
+	u32				valid : 1;
+	struct IO_APIC_route_entry	*entry;
+};
+
 /**
  * irq_alloc_info - X86 specific interrupt allocation info
  * @type:	X86 specific allocation type
@@ -53,6 +62,8 @@ enum irq_alloc_type {
  * @mask:	CPU mask for vector allocation
  * @desc:	Pointer to msi descriptor
  * @data:	Allocation specific data
+ *
+ * @ioapic:	IOAPIC specific allocation data
  */
 struct irq_alloc_info {
 	enum irq_alloc_type	type;
@@ -64,6 +75,7 @@ struct irq_alloc_info {
 	void			*data;
 
 	union {
+		struct ioapic_alloc_info	ioapic;
 		int		unused;
 #ifdef	CONFIG_PCI_MSI
 		struct {
@@ -71,17 +83,6 @@ struct irq_alloc_info {
 			irq_hw_number_t	msi_hwirq;
 		};
 #endif
-#ifdef	CONFIG_X86_IO_APIC
-		struct {
-			int		ioapic_id;
-			int		ioapic_pin;
-			int		ioapic_node;
-			u32		ioapic_trigger : 1;
-			u32		ioapic_polarity : 1;
-			u32		ioapic_valid : 1;
-			struct IO_APIC_route_entry *ioapic_entry;
-		};
-#endif
 #ifdef	CONFIG_DMAR_TABLE
 		struct {
 			int		dmar_id;
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 20ba0b7..a333800 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -860,10 +860,10 @@ void ioapic_set_alloc_attr(struct irq_alloc_info *info, int node,
 {
 	init_irq_alloc_info(info, NULL);
 	info->type = X86_IRQ_ALLOC_TYPE_IOAPIC;
-	info->ioapic_node = node;
-	info->ioapic_trigger = trigger;
-	info->ioapic_polarity = polarity;
-	info->ioapic_valid = 1;
+	info->ioapic.node = node;
+	info->ioapic.trigger = trigger;
+	info->ioapic.polarity = polarity;
+	info->ioapic.valid = 1;
 }
 
 #ifndef CONFIG_ACPI
@@ -878,32 +878,32 @@ static void ioapic_copy_alloc_attr(struct irq_alloc_info *dst,
 
 	copy_irq_alloc_info(dst, src);
 	dst->type = X86_IRQ_ALLOC_TYPE_IOAPIC;
-	dst->ioapic_id = mpc_ioapic_id(ioapic_idx);
-	dst->ioapic_pin = pin;
-	dst->ioapic_valid = 1;
-	if (src && src->ioapic_valid) {
-		dst->ioapic_node = src->ioapic_node;
-		dst->ioapic_trigger = src->ioapic_trigger;
-		dst->ioapic_polarity = src->ioapic_polarity;
+	dst->devid = mpc_ioapic_id(ioapic_idx);
+	dst->ioapic.pin = pin;
+	dst->ioapic.valid = 1;
+	if (src && src->ioapic.valid) {
+		dst->ioapic.node = src->ioapic.node;
+		dst->ioapic.trigger = src->ioapic.trigger;
+		dst->ioapic.polarity = src->ioapic.polarity;
 	} else {
-		dst->ioapic_node = NUMA_NO_NODE;
+		dst->ioapic.node = NUMA_NO_NODE;
 		if (acpi_get_override_irq(gsi, &trigger, &polarity) >= 0) {
-			dst->ioapic_trigger = trigger;
-			dst->ioapic_polarity = polarity;
+			dst->ioapic.trigger = trigger;
+			dst->ioapic.polarity = polarity;
 		} else {
 			/*
 			 * PCI interrupts are always active low level
 			 * triggered.
 			 */
-			dst->ioapic_trigger = IOAPIC_LEVEL;
-			dst->ioapic_polarity = IOAPIC_POL_LOW;
+			dst->ioapic.trigger = IOAPIC_LEVEL;
+			dst->ioapic.polarity = IOAPIC_POL_LOW;
 		}
 	}
 }
 
 static int ioapic_alloc_attr_node(struct irq_alloc_info *info)
 {
-	return (info && info->ioapic_valid) ? info->ioapic_node : NUMA_NO_NODE;
+	return (info && info->ioapic.valid) ? info->ioapic.node : NUMA_NO_NODE;
 }
 
 static void mp_register_handler(unsigned int irq, unsigned long trigger)
@@ -933,14 +933,14 @@ static bool mp_check_pin_attr(int irq, struct irq_alloc_info *info)
 	 * pin with real trigger and polarity attributes.
 	 */
 	if (irq < nr_legacy_irqs() && data->count == 1) {
-		if (info->ioapic_trigger != data->trigger)
-			mp_register_handler(irq, info->ioapic_trigger);
-		data->entry.trigger = data->trigger = info->ioapic_trigger;
-		data->entry.polarity = data->polarity = info->ioapic_polarity;
+		if (info->ioapic.trigger != data->trigger)
+			mp_register_handler(irq, info->ioapic.trigger);
+		data->entry.trigger = data->trigger = info->ioapic.trigger;
+		data->entry.polarity = data->polarity = info->ioapic.polarity;
 	}
 
-	return data->trigger == info->ioapic_trigger &&
-	       data->polarity == info->ioapic_polarity;
+	return data->trigger == info->ioapic.trigger &&
+	       data->polarity == info->ioapic.polarity;
 }
 
 static int alloc_irq_from_domain(struct irq_domain *domain, int ioapic, u32 gsi,
@@ -1002,7 +1002,7 @@ static int alloc_isa_irq_from_domain(struct irq_domain *domain,
 		if (!mp_check_pin_attr(irq, info))
 			return -EBUSY;
 		if (__add_pin_to_irq_node(irq_data->chip_data, node, ioapic,
-					  info->ioapic_pin))
+					  info->ioapic.pin))
 			return -ENOMEM;
 	} else {
 		info->flags |= X86_IRQ_ALLOC_LEGACY;
@@ -2092,8 +2092,8 @@ static int mp_alloc_timer_irq(int ioapic, int pin)
 		struct irq_alloc_info info;
 
 		ioapic_set_alloc_attr(&info, NUMA_NO_NODE, 0, 0);
-		info.ioapic_id = mpc_ioapic_id(ioapic);
-		info.ioapic_pin = pin;
+		info.devid = mpc_ioapic_id(ioapic);
+		info.ioapic.pin = pin;
 		mutex_lock(&ioapic_mutex);
 		irq = alloc_isa_irq_from_domain(domain, 0, ioapic, pin, &info);
 		mutex_unlock(&ioapic_mutex);
@@ -2297,7 +2297,7 @@ static int mp_irqdomain_create(int ioapic)
 
 	init_irq_alloc_info(&info, NULL);
 	info.type = X86_IRQ_ALLOC_TYPE_IOAPIC_GET_PARENT;
-	info.ioapic_id = mpc_ioapic_id(ioapic);
+	info.devid = mpc_ioapic_id(ioapic);
 	parent = irq_remapping_get_irq_domain(&info);
 	if (!parent)
 		parent = x86_vector_domain;
@@ -2932,9 +2932,9 @@ int mp_ioapic_registered(u32 gsi_base)
 static void mp_irqdomain_get_attr(u32 gsi, struct mp_chip_data *data,
 				  struct irq_alloc_info *info)
 {
-	if (info && info->ioapic_valid) {
-		data->trigger = info->ioapic_trigger;
-		data->polarity = info->ioapic_polarity;
+	if (info && info->ioapic.valid) {
+		data->trigger = info->ioapic.trigger;
+		data->polarity = info->ioapic.polarity;
 	} else if (acpi_get_override_irq(gsi, &data->trigger,
 					 &data->polarity) < 0) {
 		/* PCI interrupts are always active low level triggered. */
@@ -2980,7 +2980,7 @@ int mp_irqdomain_alloc(struct irq_domain *domain, unsigned int virq,
 		return -EINVAL;
 
 	ioapic = mp_irqdomain_ioapic_idx(domain);
-	pin = info->ioapic_pin;
+	pin = info->ioapic.pin;
 	if (irq_find_mapping(domain, (irq_hw_number_t)pin) > 0)
 		return -EEXIST;
 
@@ -2988,7 +2988,7 @@ int mp_irqdomain_alloc(struct irq_domain *domain, unsigned int virq,
 	if (!data)
 		return -ENOMEM;
 
-	info->ioapic_entry = &data->entry;
+	info->ioapic.entry = &data->entry;
 	ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, info);
 	if (ret < 0) {
 		kfree(data);
@@ -2996,7 +2996,7 @@ int mp_irqdomain_alloc(struct irq_domain *domain, unsigned int virq,
 	}
 
 	INIT_LIST_HEAD(&data->irq_2_pin);
-	irq_data->hwirq = info->ioapic_pin;
+	irq_data->hwirq = info->ioapic.pin;
 	irq_data->chip = (domain->parent == x86_vector_domain) ?
 			  &ioapic_chip : &ioapic_ir_chip;
 	irq_data->chip_data = data;
@@ -3006,8 +3006,8 @@ int mp_irqdomain_alloc(struct irq_domain *domain, unsigned int virq,
 	add_pin_to_irq_node(data, ioapic_alloc_attr_node(info), ioapic, pin);
 
 	local_irq_save(flags);
-	if (info->ioapic_entry)
-		mp_setup_entry(cfg, data, info->ioapic_entry);
+	if (info->ioapic.entry)
+		mp_setup_entry(cfg, data, info->ioapic.entry);
 	mp_register_handler(virq, data->trigger);
 	if (virq < nr_legacy_irqs())
 		legacy_pic->mask(virq);
diff --git a/arch/x86/kernel/devicetree.c b/arch/x86/kernel/devicetree.c
index a0e8fc7..ddffd80 100644
--- a/arch/x86/kernel/devicetree.c
+++ b/arch/x86/kernel/devicetree.c
@@ -229,8 +229,8 @@ static int dt_irqdomain_alloc(struct irq_domain *domain, unsigned int virq,
 
 	it = &of_ioapic_type[type_index];
 	ioapic_set_alloc_attr(&tmp, NUMA_NO_NODE, it->trigger, it->polarity);
-	tmp.ioapic_id = mpc_ioapic_id(mp_irqdomain_ioapic_idx(domain));
-	tmp.ioapic_pin = fwspec->param[0];
+	tmp.devid = mpc_ioapic_id(mp_irqdomain_ioapic_idx(domain));
+	tmp.ioapic.pin = fwspec->param[0];
 
 	return mp_irqdomain_alloc(domain, virq, nr_irqs, &tmp);
 }
diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
index a308472..8183a71 100644
--- a/drivers/iommu/amd/iommu.c
+++ b/drivers/iommu/amd/iommu.c
@@ -3522,7 +3522,7 @@ static int get_devid(struct irq_alloc_info *info)
 	switch (info->type) {
 	case X86_IRQ_ALLOC_TYPE_IOAPIC:
 	case X86_IRQ_ALLOC_TYPE_IOAPIC_GET_PARENT:
-		return get_ioapic_devid(info->ioapic_id);
+		return get_ioapic_devid(info->devid);
 	case X86_IRQ_ALLOC_TYPE_HPET:
 	case X86_IRQ_ALLOC_TYPE_HPET_GET_PARENT:
 		return get_hpet_devid(info->devid);
@@ -3600,15 +3600,15 @@ static void irq_remapping_prepare_irte(struct amd_ir_data *data,
 	switch (info->type) {
 	case X86_IRQ_ALLOC_TYPE_IOAPIC:
 		/* Setup IOAPIC entry */
-		entry = info->ioapic_entry;
-		info->ioapic_entry = NULL;
+		entry = info->ioapic.entry;
+		info->ioapic.entry = NULL;
 		memset(entry, 0, sizeof(*entry));
 		entry->vector        = index;
 		entry->mask          = 0;
-		entry->trigger       = info->ioapic_trigger;
-		entry->polarity      = info->ioapic_polarity;
+		entry->trigger       = info->ioapic.trigger;
+		entry->polarity      = info->ioapic.polarity;
 		/* Mask level triggered irqs. */
-		if (info->ioapic_trigger)
+		if (info->ioapic.trigger)
 			entry->mask = 1;
 		break;
 
@@ -3694,7 +3694,7 @@ static int irq_remapping_alloc(struct irq_domain *domain, unsigned int virq,
 					iommu->irte_ops->set_allocated(table, i);
 			}
 			WARN_ON(table->min_index != 32);
-			index = info->ioapic_pin;
+			index = info->ioapic.pin;
 		} else {
 			index = -ENOMEM;
 		}
diff --git a/drivers/iommu/hyperv-iommu.c b/drivers/iommu/hyperv-iommu.c
index dc82a1d..e09e2d7 100644
--- a/drivers/iommu/hyperv-iommu.c
+++ b/drivers/iommu/hyperv-iommu.c
@@ -101,7 +101,7 @@ static int hyperv_irq_remapping_alloc(struct irq_domain *domain,
 	 * in the chip_data and hyperv_irq_remapping_activate()/hyperv_ir_set_
 	 * affinity() set vector and dest_apicid directly into IO-APIC entry.
 	 */
-	irq_data->chip_data = info->ioapic_entry;
+	irq_data->chip_data = info->ioapic.entry;
 
 	/*
 	 * Hypver-V IO APIC irq affinity should be in the scope of
diff --git a/drivers/iommu/intel/irq_remapping.c b/drivers/iommu/intel/irq_remapping.c
index 58c2d7a..90ba70d 100644
--- a/drivers/iommu/intel/irq_remapping.c
+++ b/drivers/iommu/intel/irq_remapping.c
@@ -1119,7 +1119,7 @@ static struct irq_domain *intel_get_irq_domain(struct irq_alloc_info *info)
 
 	switch (info->type) {
 	case X86_IRQ_ALLOC_TYPE_IOAPIC_GET_PARENT:
-		return map_ioapic_to_ir(info->ioapic_id);
+		return map_ioapic_to_ir(info->devid);
 	case X86_IRQ_ALLOC_TYPE_HPET_GET_PARENT:
 		return map_hpet_to_ir(info->devid);
 	case X86_IRQ_ALLOC_TYPE_PCI_MSI:
@@ -1260,16 +1260,16 @@ static void intel_irq_remapping_prepare_irte(struct intel_ir_data *data,
 	switch (info->type) {
 	case X86_IRQ_ALLOC_TYPE_IOAPIC:
 		/* Set source-id of interrupt request */
-		set_ioapic_sid(irte, info->ioapic_id);
+		set_ioapic_sid(irte, info->devid);
 		apic_printk(APIC_VERBOSE, KERN_DEBUG "IOAPIC[%d]: Set IRTE entry (P:%d FPD:%d Dst_Mode:%d Redir_hint:%d Trig_Mode:%d Dlvry_Mode:%X Avail:%X Vector:%02X Dest:%08X SID:%04X SQ:%X SVT:%X)\n",
-			info->ioapic_id, irte->present, irte->fpd,
+			info->devid, irte->present, irte->fpd,
 			irte->dst_mode, irte->redir_hint,
 			irte->trigger_mode, irte->dlvry_mode,
 			irte->avail, irte->vector, irte->dest_id,
 			irte->sid, irte->sq, irte->svt);
 
-		entry = (struct IR_IO_APIC_route_entry *)info->ioapic_entry;
-		info->ioapic_entry = NULL;
+		entry = (struct IR_IO_APIC_route_entry *)info->ioapic.entry;
+		info->ioapic.entry = NULL;
 		memset(entry, 0, sizeof(*entry));
 		entry->index2	= (index >> 15) & 0x1;
 		entry->zero	= 0;
@@ -1279,11 +1279,11 @@ static void intel_irq_remapping_prepare_irte(struct intel_ir_data *data,
 		 * IO-APIC RTE will be configured with virtual vector.
 		 * irq handler will do the explicit EOI to the io-apic.
 		 */
-		entry->vector	= info->ioapic_pin;
+		entry->vector	= info->ioapic.pin;
 		entry->mask	= 0;			/* enable IRQ */
-		entry->trigger	= info->ioapic_trigger;
-		entry->polarity	= info->ioapic_polarity;
-		if (info->ioapic_trigger)
+		entry->trigger	= info->ioapic.trigger;
+		entry->polarity	= info->ioapic.polarity;
+		if (info->ioapic.trigger)
 			entry->mask = 1; /* Mask level triggered irqs. */
 		break;
 

  parent reply	other threads:[~2020-09-16 18:45 UTC|newest]

Thread overview: 294+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-26 11:16 [patch V2 00/46] x86, PCI, XEN, genirq ...: Prepare for device MSI Thomas Gleixner
2020-08-26 11:16 ` Thomas Gleixner
2020-08-26 11:16 ` [patch V2 01/46] iommu/amd: Prevent NULL pointer dereference Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-08-27 14:57   ` Joerg Roedel
2020-08-27 14:57     ` Joerg Roedel
2020-08-26 11:16 ` [patch V2 02/46] x86/init: Remove unused init ops Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 03/46] PCI: vmd: Dont abuse vector irqomain as parent Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 04/46] genirq/chip: Use the first chip in irq_chip_compose_msi_msg() Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-08-26 19:50   ` Marc Zyngier
2020-08-26 19:50     ` Marc Zyngier
2020-08-26 21:19     ` Thomas Gleixner
2020-08-26 21:19       ` Thomas Gleixner
2020-08-26 21:32       ` Marc Zyngier
2020-08-26 21:32         ` Marc Zyngier
2020-08-26 11:16 ` [patch V2 05/46] x86/msi: Move compose message callback where it belongs Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 06/46] x86/msi: Remove pointless vcpu_affinity callback Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 07/46] x86/irq: Rename X86_IRQ_ALLOC_TYPE_MSI* to reflect PCI dependency Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] x86_irq_Rename_X86_IRQ_ALLOC_TYPE_MSI_to_reflect_PCI_dependency tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 08/46] x86/irq: Add allocation type for parent domain retrieval Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 09/46] iommu/vt-d: Consolidate irq domain getter Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 10/46] iommu/amd: " Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 11/46] iommu/irq_remapping: Consolidate irq domain lookup Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 12/46] x86/irq: Prepare consolidation of irq_alloc_info Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 13/46] x86/msi: Consolidate HPET allocation Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 14/46] x86/ioapic: Consolidate IOAPIC allocation Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-08 13:35   ` Wei Liu
2020-09-08 13:35     ` Wei Liu
2020-09-16 15:12   ` tip-bot2 for Thomas Gleixner [this message]
2020-08-26 11:16 ` [patch V2 15/46] x86/irq: Consolidate DMAR irq allocation Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-08-26 16:50   ` Dey, Megha
2020-08-26 16:50     ` Dey, Megha
2020-08-26 16:50     ` Dey, Megha
2020-08-26 18:32     ` Thomas Gleixner
2020-08-26 18:32       ` Thomas Gleixner
2020-08-26 20:50       ` Thomas Gleixner
2020-08-26 20:50         ` Thomas Gleixner
2020-08-28  0:12         ` Dey, Megha
2020-08-28  0:12           ` Dey, Megha
2020-08-28  0:12           ` Dey, Megha
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 16/46] x86/irq: Consolidate UV domain allocation Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 17/46] PCI/MSI: Rework pci_msi_domain_calc_hwirq() Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-08-26 20:24   ` Marc Zyngier
2020-08-26 20:24     ` Marc Zyngier
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 18/46] x86/msi: Consolidate MSI allocation Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-08 13:36   ` Wei Liu
2020-09-08 13:36     ` Wei Liu
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 19/46] x86/msi: Use generic MSI domain ops Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-08-26 20:21   ` Marc Zyngier
2020-08-26 20:21     ` Marc Zyngier
2020-08-26 20:43     ` Thomas Gleixner
2020-08-26 20:43       ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 20/46] x86/irq: Move apic_post_init() invocation to one place Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 21/46] x86/pci: Reducde #ifdeffery in PCI init code Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 22/46] x86/irq: Initialize PCI/MSI domain at PCI init time Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 23/46] irqdomain/msi: Provide DOMAIN_BUS_VMD_MSI Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-08-26 20:42   ` Marc Zyngier
2020-08-26 20:42     ` Marc Zyngier
2020-08-26 20:57     ` Derrick, Jonathan
2020-08-26 20:57       ` Derrick, Jonathan
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 24/46] PCI: vmd: Mark VMD irqdomain with DOMAIN_BUS_VMD_MSI Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-08-26 20:47   ` Marc Zyngier
2020-08-26 20:47     ` Marc Zyngier
2020-08-31 14:39   ` Jason Gunthorpe
2020-08-31 14:39     ` Jason Gunthorpe
2020-09-30 12:45     ` Derrick, Jonathan
2020-09-30 12:45       ` Derrick, Jonathan
2020-09-30 12:57       ` Jason Gunthorpe
2020-09-30 12:57         ` Jason Gunthorpe
2020-09-30 13:08         ` Derrick, Jonathan
2020-09-30 13:08           ` Derrick, Jonathan
2020-09-30 18:47           ` Jason Gunthorpe
2020-09-30 18:47             ` Jason Gunthorpe
2020-09-16 15:12   ` [tip: x86/irq] PCI_vmd_Mark_VMD_irqdomain_with_DOMAIN_BUS_VMD_MSI tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 25/46] PCI/MSI: Provide pci_dev_has_special_msi_domain() helper Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 26/46] x86/xen: Make xen_msi_init() static and rename it to xen_hvm_msi_init() Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 27/46] x86/xen: Rework MSI teardown Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-08-27  7:46   ` Jürgen Groß
2020-08-27  7:46     ` Jürgen Groß
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 28/46] x86/xen: Consolidate XEN-MSI init Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-08-27  7:47   ` Jürgen Groß
2020-08-27  7:47     ` Jürgen Groß
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 29/46] irqdomain/msi: Allow to override msi_domain_alloc/free_irqs() Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-08-26 19:06   ` Marc Zyngier
2020-08-26 19:06     ` Marc Zyngier
2020-08-26 19:47     ` Thomas Gleixner
2020-08-26 19:47       ` Thomas Gleixner
2020-08-26 21:33       ` Marc Zyngier
2020-08-26 21:33         ` Marc Zyngier
2020-08-28  0:24   ` Dey, Megha
2020-08-28  0:24     ` Dey, Megha
2020-08-28  0:24     ` Dey, Megha
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:16 ` [patch V2 30/46] x86/xen: Wrap XEN MSI management into irqdomain Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2023-01-15 14:12   ` [patch V2 30/46] " David Woodhouse
2023-01-15 20:27     ` David Woodhouse
2020-08-26 11:16 ` [patch V2 31/46] iommm/vt-d: Store irq domain in struct device Thomas Gleixner
2020-08-26 11:16   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:17 ` [patch V2 32/46] iommm/amd: " Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:17 ` [patch V2 33/46] x86/pci: Set default irq domain in pcibios_add_device() Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:17 ` [patch V2 34/46] PCI/MSI: Make arch_.*_msi_irq[s] fallbacks selectable Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-08-26 15:34   ` kernel test robot
2020-08-26 15:53   ` Thomas Gleixner
2020-08-26 15:53     ` Thomas Gleixner
2020-08-26 16:23   ` kernel test robot
2020-08-26 21:14   ` Marc Zyngier
2020-08-26 21:14     ` Marc Zyngier
2020-08-26 21:27     ` Thomas Gleixner
2020-08-26 21:27       ` Thomas Gleixner
2020-08-27 18:20   ` Bjorn Helgaas
2020-08-27 18:20     ` Bjorn Helgaas
2020-08-28 11:21     ` Lorenzo Pieralisi
2020-08-28 11:21       ` Lorenzo Pieralisi
2020-08-28 12:19       ` Jason Gunthorpe
2020-08-28 12:19         ` Jason Gunthorpe
2020-08-28 12:19         ` Jason Gunthorpe
2020-08-28 12:19         ` Jason Gunthorpe
2020-08-28 12:47         ` Marc Zyngier
2020-08-28 12:47           ` Marc Zyngier
2020-08-28 12:54           ` Jason Gunthorpe
2020-08-28 12:54             ` Jason Gunthorpe
2020-08-28 12:54             ` Jason Gunthorpe
2020-08-28 13:52             ` Marc Zyngier
2020-08-28 13:52               ` Marc Zyngier
2020-08-28 18:29     ` Thomas Gleixner
2020-08-28 18:29       ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-09-25 13:54   ` [patch V2 34/46] " Qian Cai
2020-09-25 13:54     ` Qian Cai
2020-09-25 13:54     ` Qian Cai
2020-09-26 12:38     ` Vasily Gorbik
2020-09-26 12:38       ` Vasily Gorbik
2020-09-28 10:11       ` Thomas Gleixner
2020-09-28 10:11         ` Thomas Gleixner
2020-08-26 11:17 ` [patch V2 35/46] x86/irq: Cleanup the arch_*_msi_irqs() leftovers Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:17 ` [patch V2 36/46] x86/irq: Make most MSI ops XEN private Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:17 ` [patch V2 37/46] iommu/vt-d: Remove domain search for PCI/MSI[X] Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:17 ` [patch V2 38/46] iommu/amd: Remove domain search for PCI/MSI Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-09-16 15:12   ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-08-26 11:17 ` [patch V2 39/46] x86/irq: Add DEV_MSI allocation type Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-08-26 11:17 ` [patch V2 40/46] x86/msi: Rename and rework pci_msi_prepare() to cover non-PCI MSI Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-08-26 11:17 ` [patch V2 41/46] platform-msi: Provide default irq_chip:: Ack Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-08-26 21:25   ` Marc Zyngier
2020-08-26 21:25     ` Marc Zyngier
2020-08-26 11:17 ` [patch V2 42/46] genirq/proc: Take buslock on affinity write Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-08-26 11:17 ` [patch V2 43/46] genirq/msi: Provide and use msi_domain_set_default_info_flags() Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-08-27  8:17   ` Marc Zyngier
2020-08-27  8:17     ` Marc Zyngier
2020-08-28 18:42     ` Thomas Gleixner
2020-08-28 18:42       ` Thomas Gleixner
2020-08-26 11:17 ` [patch V2 44/46] platform-msi: Add device MSI infrastructure Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-08-26 11:17 ` [patch V2 45/46] irqdomain/msi: Provide msi_alloc/free_store() callbacks Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-08-26 11:17 ` [patch V2 46/46] irqchip: Add IMS (Interrupt Message Storm) driver - NOT FOR MERGING Thomas Gleixner
2020-08-26 11:17   ` Thomas Gleixner
2020-08-31 14:45   ` Jason Gunthorpe
2020-08-31 14:45     ` Jason Gunthorpe
2020-08-28 11:41 ` [patch V2 00/46] x86, PCI, XEN, genirq ...: Prepare for device MSI Joerg Roedel
2020-08-28 11:41   ` Joerg Roedel
2020-08-31  0:51 ` Lu Baolu
2020-08-31  0:51   ` Lu Baolu
2020-08-31  0:51   ` Lu Baolu
2020-08-31  7:10   ` Thomas Gleixner
2020-08-31  7:10     ` Thomas Gleixner
2020-08-31  7:29     ` Lu Baolu
2020-08-31  7:29       ` Lu Baolu
2020-08-31  7:29       ` Lu Baolu
2020-09-01  9:06 ` Boqun Feng
2020-09-01  9:06   ` Boqun Feng
2020-09-01  9:06   ` Boqun Feng
2020-09-03 16:35 ` Raj, Ashok
2020-09-03 16:35   ` Raj, Ashok
2020-09-03 18:12   ` Thomas Gleixner
2020-09-03 18:12     ` Thomas Gleixner
2020-09-08  3:39 ` Russ Anderson
2020-09-08  3:39   ` Russ Anderson
2020-09-25 15:29 ` Qian Cai
2020-09-25 15:29   ` Qian Cai
2020-09-25 15:29   ` Qian Cai
2020-09-25 15:49   ` Peter Zijlstra
2020-09-25 15:49     ` Peter Zijlstra
2020-09-25 23:14     ` Thomas Gleixner
2020-09-25 23:14       ` Thomas Gleixner
2020-09-27  8:46       ` [PATCH] x86/apic/msi: Unbreak DMAR and HPET MSI Thomas Gleixner
2020-09-27  8:46         ` Thomas Gleixner
2020-09-27 19:57         ` [tip: x86/irq] " tip-bot2 for Thomas Gleixner
2020-09-29 23:03 ` [patch V2 00/46] x86, PCI, XEN, genirq ...: Prepare for device MSI Dey, Megha
2020-09-29 23:03   ` Dey, Megha
2020-09-30  6:41   ` Thomas Gleixner
2020-09-30  6:41     ` Thomas Gleixner
2020-09-30 11:43     ` Jason Gunthorpe
2020-09-30 11:43       ` Jason Gunthorpe
2020-09-30 15:20       ` Thomas Gleixner
2020-09-30 15:20         ` Thomas Gleixner
2020-09-30 17:25         ` Dey, Megha
2020-09-30 17:25           ` Dey, Megha
2020-09-30 18:11           ` Thomas Gleixner
2020-09-30 18:11             ` Thomas Gleixner
2020-11-12 12:55 ` REGRESSION: " Jason Gunthorpe
2020-11-12 12:55   ` Jason Gunthorpe
2020-11-12 14:15   ` Thomas Gleixner
2020-11-12 14:15     ` Thomas Gleixner
2020-11-12 15:18     ` Thomas Gleixner
2020-11-12 15:18       ` Thomas Gleixner
2020-11-12 19:15       ` iommu/vt-d: Cure VF irqdomain hickup Thomas Gleixner
2020-11-12 19:15         ` Thomas Gleixner
2020-11-12 21:34         ` Thomas Gleixner
2020-11-12 21:34           ` Thomas Gleixner
2020-11-13  9:19           ` Marc Zyngier
2020-11-13  9:19             ` Marc Zyngier
2020-11-13 13:52             ` Thomas Gleixner
2020-11-13 13:52               ` Thomas Gleixner
2020-11-13  7:20         ` Lu Baolu
2020-11-13  7:20           ` Lu Baolu
2020-11-16  9:47         ` Geert Uytterhoeven
2020-11-16  9:47           ` Geert Uytterhoeven
2020-11-16 12:50           ` Thomas Gleixner
2020-11-16 12:50             ` Thomas Gleixner
2020-11-16 12:50           ` Lu Baolu
2020-11-16 12:50             ` Lu Baolu
2020-11-16 23:22         ` Jason Gunthorpe
2020-11-16 23:22           ` Jason Gunthorpe

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=160026914027.15536.7260933412673778973.tip-bot2@tip-bot2 \
    --to=tip-bot2@linutronix.de \
    --cc=jroedel@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=wei.liu@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.