Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [PATCH v3 2/3] irqchip/loongson-eiointc: Refine irq affinity setting during resume | From | maobibo <> | Date | Thu, 25 Jan 2024 09:21:26 +0800 |
| |
My work area is hypervisor and I find gaps between other architectures and hypervisors, try to keep up. And We prepare to provide eiointc virtualization extension patch, so there is such patch.
For internal repo, you can give suggestion in internal forum to driver owner. This is linux kernel mainline forum, I suggest we had better discuss patch based on mainline base code.
Regards Bibo Mao
On 2024/1/24 下午5:56, Huacai Chen wrote: > I can give an Acked-by if these lines are also removed in our internal repo. > > Huacai > > On Thu, Jan 18, 2024 at 8:15 PM Bibo Mao <maobibo@loongson.cn> wrote: >> >> During suspend and resume, CPUs except CPU0 are hot-unpluged and IRQs >> are migrated to CPU0. So it is not necessary to restore irq affinity for >> eiointc irq controller when system resumes. This patch removes the piece >> of code about irq affinity restoring in function eiointc_resume. >> >> Signed-off-by: Bibo Mao <maobibo@loongson.cn> >> --- >> drivers/irqchip/irq-loongson-eiointc.c | 16 ---------------- >> 1 file changed, 16 deletions(-) >> >> diff --git a/drivers/irqchip/irq-loongson-eiointc.c b/drivers/irqchip/irq-loongson-eiointc.c >> index 6143adb1b73b..86f4faad0695 100644 >> --- a/drivers/irqchip/irq-loongson-eiointc.c >> +++ b/drivers/irqchip/irq-loongson-eiointc.c >> @@ -315,23 +315,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 = { >> -- >> 2.39.3 >>
| ![\](/images/icornerr.gif) |