Merge branches 'x86/mm', 'x86/build', 'x86/apic' and 'x86/platform' into x86/core, to apply dependent patch
Signed-off-by: Ingo Molnar <mingo@kernel.org>
这个提交包含在:

@@ -1,6 +1,4 @@
|
||||
#ifndef __IA64_INTR_REMAPPING_H
|
||||
#define __IA64_INTR_REMAPPING_H
|
||||
#define irq_remapping_enabled 0
|
||||
#define dmar_alloc_hwirq create_irq
|
||||
#define dmar_free_hwirq destroy_irq
|
||||
#endif
|
||||
|
@@ -165,7 +165,7 @@ static struct irq_chip dmar_msi_type = {
|
||||
.irq_retrigger = ia64_msi_retrigger_irq,
|
||||
};
|
||||
|
||||
static int
|
||||
static void
|
||||
msi_compose_msg(struct pci_dev *pdev, unsigned int irq, struct msi_msg *msg)
|
||||
{
|
||||
struct irq_cfg *cfg = irq_cfg + irq;
|
||||
@@ -186,21 +186,29 @@ msi_compose_msg(struct pci_dev *pdev, unsigned int irq, struct msi_msg *msg)
|
||||
MSI_DATA_LEVEL_ASSERT |
|
||||
MSI_DATA_DELIVERY_FIXED |
|
||||
MSI_DATA_VECTOR(cfg->vector);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int arch_setup_dmar_msi(unsigned int irq)
|
||||
int dmar_alloc_hwirq(int id, int node, void *arg)
|
||||
{
|
||||
int ret;
|
||||
int irq;
|
||||
struct msi_msg msg;
|
||||
|
||||
ret = msi_compose_msg(NULL, irq, &msg);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
dmar_msi_write(irq, &msg);
|
||||
irq_set_chip_and_handler_name(irq, &dmar_msi_type, handle_edge_irq,
|
||||
"edge");
|
||||
return 0;
|
||||
irq = create_irq();
|
||||
if (irq > 0) {
|
||||
irq_set_handler_data(irq, arg);
|
||||
irq_set_chip_and_handler_name(irq, &dmar_msi_type,
|
||||
handle_edge_irq, "edge");
|
||||
msi_compose_msg(NULL, irq, &msg);
|
||||
dmar_msi_write(irq, &msg);
|
||||
}
|
||||
|
||||
return irq;
|
||||
}
|
||||
|
||||
void dmar_free_hwirq(int irq)
|
||||
{
|
||||
irq_set_handler_data(irq, NULL);
|
||||
destroy_irq(irq);
|
||||
}
|
||||
#endif /* CONFIG_INTEL_IOMMU */
|
||||
|
||||
|
在新工单中引用
屏蔽一个用户