x86/irq: Consolidate DMAR irq allocation
None of the DMAR specific fields are required. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20200826112332.163462706@linutronix.de
This commit is contained in:
parent
33a65ba470
commit
55e0391572
|
@ -83,12 +83,6 @@ struct irq_alloc_info {
|
|||
irq_hw_number_t msi_hwirq;
|
||||
};
|
||||
#endif
|
||||
#ifdef CONFIG_DMAR_TABLE
|
||||
struct {
|
||||
int dmar_id;
|
||||
void *dmar_data;
|
||||
};
|
||||
#endif
|
||||
#ifdef CONFIG_X86_UV
|
||||
struct {
|
||||
int uv_limit;
|
||||
|
|
|
@ -326,15 +326,15 @@ static struct irq_chip dmar_msi_controller = {
|
|||
static irq_hw_number_t dmar_msi_get_hwirq(struct msi_domain_info *info,
|
||||
msi_alloc_info_t *arg)
|
||||
{
|
||||
return arg->dmar_id;
|
||||
return arg->hwirq;
|
||||
}
|
||||
|
||||
static int dmar_msi_init(struct irq_domain *domain,
|
||||
struct msi_domain_info *info, unsigned int virq,
|
||||
irq_hw_number_t hwirq, msi_alloc_info_t *arg)
|
||||
{
|
||||
irq_domain_set_info(domain, virq, arg->dmar_id, info->chip, NULL,
|
||||
handle_edge_irq, arg->dmar_data, "edge");
|
||||
irq_domain_set_info(domain, virq, arg->devid, info->chip, NULL,
|
||||
handle_edge_irq, arg->data, "edge");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -381,8 +381,8 @@ int dmar_alloc_hwirq(int id, int node, void *arg)
|
|||
|
||||
init_irq_alloc_info(&info, NULL);
|
||||
info.type = X86_IRQ_ALLOC_TYPE_DMAR;
|
||||
info.dmar_id = id;
|
||||
info.dmar_data = arg;
|
||||
info.devid = id;
|
||||
info.data = arg;
|
||||
|
||||
return irq_domain_alloc_irqs(domain, 1, node, &info);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue