mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
iommu/vt-d: Convert free_irte into a remap_ops callback
The operation for releasing a remapping entry is iommu specific too. Signed-off-by: Joerg Roedel <[email protected]> Acked-by: Yinghai Lu <[email protected]> Cc: David Woodhouse <[email protected]> Cc: Alex Williamson <[email protected]> Signed-off-by: Suresh Siddha <[email protected]> Signed-off-by: Joerg Roedel <[email protected]>
This commit is contained in:
parent
4c1bad6a0a
commit
9d619f6572
6 changed files with 16 additions and 7 deletions
|
|
@ -253,7 +253,7 @@ static int clear_entries(struct irq_2_iommu *irq_iommu)
|
|||
return qi_flush_iec(iommu, index, irq_iommu->irte_mask);
|
||||
}
|
||||
|
||||
int free_irte(int irq)
|
||||
static int free_irte(int irq)
|
||||
{
|
||||
struct irq_2_iommu *irq_iommu = irq_2_iommu(irq);
|
||||
unsigned long flags;
|
||||
|
|
@ -964,4 +964,5 @@ struct irq_remap_ops intel_irq_remap_ops = {
|
|||
.enable_faulting = enable_drhd_fault_handling,
|
||||
.setup_ioapic_entry = intel_setup_ioapic_entry,
|
||||
.set_affinity = intel_ioapic_set_affinity,
|
||||
.free_irq = free_irte,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -119,3 +119,11 @@ int intr_set_affinity(struct irq_data *data, const struct cpumask *mask,
|
|||
|
||||
return remap_ops->set_affinity(data, mask, force);
|
||||
}
|
||||
|
||||
void intr_free_irq(int irq)
|
||||
{
|
||||
if (!remap_ops || !remap_ops->free_irq)
|
||||
return;
|
||||
|
||||
remap_ops->free_irq(irq);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,6 +60,9 @@ struct irq_remap_ops {
|
|||
/* Set the CPU affinity of a remapped interrupt */
|
||||
int (*set_affinity)(struct irq_data *data, const struct cpumask *mask,
|
||||
bool force);
|
||||
|
||||
/* Free an IRQ */
|
||||
int (*free_irq)(int);
|
||||
};
|
||||
|
||||
extern struct irq_remap_ops intel_irq_remap_ops;
|
||||
|
|
|
|||
Loading…
Reference in a new issue