When it is detected in avecintc_set_affinity that the current affinity
remains valid, the return value is modified to IRQ_SET_MASK_OK_DONE.
After the introduction of redirect-domain, for each interrupt source,
avecintc-domain only provides the CPU/interrupt vector, while redirect-domain
provides other operations to synchronize interrupt affinity information
among multiple cores. The original intention is to notify the cascaded
redirect_set_affinity that multi-core synchronization is not required.
However, this introduces some compatibility issues, such as the new return
value causing msi_domain_set_affinity to no longer perform irq_chip_write_msi_msg.
1) When redirect exist in the system, the msi msg_address and msg_data no
longer changes after the allocation phase, so it does not actually require updating
the MSI message info.
2) When only avecintc exists in the system, the irq_domain_activate_irq
interface will be responsible for the initial configuration of the MSI message,
which is unconditional. After that, if unnecessary, no modification to the MSI
message is alse correctly.
Signed-off-by: Tianyang Zhang <zhangtianyang@loongson.cn>
---
drivers/irqchip/irq-loongarch-avec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/irqchip/irq-loongarch-avec.c b/drivers/irqchip/irq-loongarch-avec.c
index 70aa34439370..7bdf3f678db4 100644
--- a/drivers/irqchip/irq-loongarch-avec.c
+++ b/drivers/irqchip/irq-loongarch-avec.c
@@ -99,7 +99,7 @@ static int avecintc_set_affinity(struct irq_data *data, const struct cpumask *de
return -EBUSY;
if (cpu_online(adata->cpu) && cpumask_test_cpu(adata->cpu, dest))
- return 0;
+ return IRQ_SET_MASK_OK_DONE;
cpumask_and(&intersect_mask, dest, cpu_online_mask);
--
2.41.0
On Fri, Jan 30 2026 at 10:59, Tianyang Zhang wrote:
irqchip/irq-loonarch-avec: Return IRQ_SET_MASK_OK_DONE when affinity is unchanged
Note the space between 'prefix: ' and the shortlog sentence
> When it is detected in avecintc_set_affinity that the current affinity
Functions are denoted with fname() to make it clear. See
https://www.kernel.org/doc/html/latest/process/maintainer-tip.html#patch-submission-notes
> remains valid, the return value is modified to IRQ_SET_MASK_OK_DONE.
That's the very wrong order of explaining the change. You again explain
the _what_ first without giving context and reason.
See the above link. It provides guidance about structuring a change log.
> After the introduction of redirect-domain, for each interrupt source,
> avecintc-domain only provides the CPU/interrupt vector, while redirect-domain
> provides other operations to synchronize interrupt affinity information
> among multiple cores. The original intention is to notify the cascaded
> redirect_set_affinity that multi-core synchronization is not required.
"After the introduction.." is confusing at best.
> However, this introduces some compatibility issues, such as the new return
> value causing msi_domain_set_affinity to no longer perform irq_chip_write_msi_msg.
> 1) When redirect exist in the system, the msi msg_address and msg_data no
> longer changes after the allocation phase, so it does not actually require updating
> the MSI message info.
> 2) When only avecintc exists in the system, the irq_domain_activate_irq
> interface will be responsible for the initial configuration of the MSI message,
> which is unconditional. After that, if unnecessary, no modification to the MSI
> message is alse correctly.
Spell checkers exist for a reason.
Thanks
tglx
Hi, Thomas 在 2026/1/30 下午4:20, Thomas Gleixner 写道: > On Fri, Jan 30 2026 at 10:59, Tianyang Zhang wrote: > > irqchip/irq-loonarch-avec: Return IRQ_SET_MASK_OK_DONE when affinity is unchanged > > Note the space between 'prefix: ' and the shortlog sentence Ok, I got it > >> When it is detected in avecintc_set_affinity that the current affinity > Functions are denoted with fname() to make it clear. See > > https://www.kernel.org/doc/html/latest/process/maintainer-tip.html#patch-submission-notes Ok, I got it > >> remains valid, the return value is modified to IRQ_SET_MASK_OK_DONE. > That's the very wrong order of explaining the change. You again explain > the _what_ first without giving context and reason. > > See the above link. It provides guidance about structuring a change log. Ok, I will rewrite this changelog > >> After the introduction of redirect-domain, for each interrupt source, >> avecintc-domain only provides the CPU/interrupt vector, while redirect-domain >> provides other operations to synchronize interrupt affinity information >> among multiple cores. The original intention is to notify the cascaded >> redirect_set_affinity that multi-core synchronization is not required. > "After the introduction.." is confusing at best. Ok, I got it > >> However, this introduces some compatibility issues, such as the new return >> value causing msi_domain_set_affinity to no longer perform irq_chip_write_msi_msg. >> 1) When redirect exist in the system, the msi msg_address and msg_data no >> longer changes after the allocation phase, so it does not actually require updating >> the MSI message info. >> 2) When only avecintc exists in the system, the irq_domain_activate_irq >> interface will be responsible for the initial configuration of the MSI message, >> which is unconditional. After that, if unnecessary, no modification to the MSI >> message is alse correctly. > Spell checkers exist for a reason. Ok, I got it Thanks > > Thanks > > tglx
© 2016 - 2026 Red Hat, Inc.