aboutsummaryrefslogtreecommitdiff
path: root/drivers/irqchip
diff options
context:
space:
mode:
authorGravatar Bibo Mao <maobibo@loongson.cn> 2024-01-30 16:27:22 +0800
committerGravatar Thomas Gleixner <tglx@linutronix.de> 2024-02-13 10:53:14 +0100
commit83c0708719f77018cd3b98b0011c9526a3e0e2ca (patch)
treec380fa2d0252708030bf77808205eb1da733bb70 /drivers/irqchip
parentirqchip/loongson-eiointc: Skip handling if there is no pending interrupt (diff)
downloadlinux-83c0708719f77018cd3b98b0011c9526a3e0e2ca.tar.gz
linux-83c0708719f77018cd3b98b0011c9526a3e0e2ca.tar.bz2
linux-83c0708719f77018cd3b98b0011c9526a3e0e2ca.zip
irqchip/loongson-eiointc: Remove explicit interrupt affinity restore on resume
During suspend all CPUs except CPU0 are hot-unpluged and all active interrupts are migrated to CPU0. On resume eiointc_router_init() affines all interrupts to CPU0, so the subsequent explicit interrupt affinity restore is redundant. Remove it. [ tglx: Rewrote changelog ] Signed-off-by: Bibo Mao <maobibo@loongson.cn> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20240130082722.2912576-4-maobibo@loongson.cn
Diffstat (limited to 'drivers/irqchip')
-rw-r--r--drivers/irqchip/irq-loongson-eiointc.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/drivers/irqchip/irq-loongson-eiointc.c b/drivers/irqchip/irq-loongson-eiointc.c
index fad22e21e1c8..405f622a26ad 100644
--- a/drivers/irqchip/irq-loongson-eiointc.c
+++ b/drivers/irqchip/irq-loongson-eiointc.c
@@ -310,23 +310,7 @@ static int eiointc_suspend(void)
static void eiointc_resume(void)
{
- int i, j;
- struct irq_desc *desc;
- struct irq_data *irq_data;
-
eiointc_router_init(0);
-
- for (i = 0; i < nr_pics; i++) {
- for (j = 0; j < eiointc_priv[0]->vec_count; j++) {
- desc = irq_resolve_mapping(eiointc_priv[i]->eiointc_domain, j);
- if (desc && desc->handle_irq && desc->handle_irq != handle_bad_irq) {
- raw_spin_lock(&desc->lock);
- irq_data = irq_domain_get_irq_data(eiointc_priv[i]->eiointc_domain, irq_desc_get_irq(desc));
- eiointc_set_irq_affinity(irq_data, irq_data->common->affinity, 0);
- raw_spin_unlock(&desc->lock);
- }
- }
- }
}
static struct syscore_ops eiointc_syscore_ops = {