]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
irqchip/loongson-eiointc: Remove explicit interrupt affinity restore on resume
authorBibo Mao <maobibo@loongson.cn>
Tue, 30 Jan 2024 08:27:22 +0000 (16:27 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 13 Feb 2024 09:53:14 +0000 (10:53 +0100)
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
drivers/irqchip/irq-loongson-eiointc.c

index fad22e21e1c8834493caf98cbffb8067efb820f4..405f622a26adb83835cc5536da3dadd309722ecb 100644 (file)
@@ -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 = {