mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 08:16:41 +07:00
powerpc: Add virq_is_host to reduce virq_to_host usage
Some irq_host implementations are using virq_to_host to check if they are the irq_host for a virtual irq. To allow us to make space versus time tradeoffs, replace this usage with an assertive virq_is_host that confirms or denies the irq is associated with the given irq_host. Signed-off-by: Milton Miller <miltonm@bga.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
9553361499
commit
3ee62d365b
@ -128,6 +128,7 @@ struct irq_host {
|
||||
struct irq_data;
|
||||
extern irq_hw_number_t irqd_to_hwirq(struct irq_data *d);
|
||||
extern irq_hw_number_t virq_to_hw(unsigned int virq);
|
||||
extern bool virq_is_host(unsigned int virq, struct irq_host *host);
|
||||
extern struct irq_host *virq_to_host(unsigned int virq);
|
||||
|
||||
/**
|
||||
|
@ -510,6 +510,12 @@ irq_hw_number_t virq_to_hw(unsigned int virq)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(virq_to_hw);
|
||||
|
||||
bool virq_is_host(unsigned int virq, struct irq_host *host)
|
||||
{
|
||||
return irq_map[virq].host == host;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(virq_is_host);
|
||||
|
||||
struct irq_host *virq_to_host(unsigned int virq)
|
||||
{
|
||||
return irq_map[virq].host;
|
||||
|
@ -213,7 +213,7 @@ void xics_migrate_irqs_away(void)
|
||||
/* We can't set affinity on ISA interrupts */
|
||||
if (virq < NUM_ISA_INTERRUPTS)
|
||||
continue;
|
||||
if (virq_to_host(virq) != xics_host)
|
||||
if (!virq_is_host(virq, xics_host))
|
||||
continue;
|
||||
irq = (unsigned int)virq_to_hw(virq);
|
||||
/* We need to get IPIs still. */
|
||||
|
Loading…
Reference in New Issue
Block a user