arch/tricore/src/common/tricore_irq.c: add up_affinity_irq

Add up_affinity_irq to tricore arch
This commit is contained in:
wangchengdong 2025-08-27 17:17:13 +08:00 committed by Xiang Xiao
parent e1b442b0e8
commit a3e5ae9600

View file

@ -115,6 +115,29 @@ void up_trigger_irq(int irq, cpu_set_t cpuset)
#endif
/****************************************************************************
* Name: up_affinity_irq
*
* Description:
* Set an IRQ affinity by software.
*
****************************************************************************/
void up_affinity_irq(int irq, cpu_set_t cpuset)
{
volatile Ifx_SRC_SRCR *src = &SRC_CPU_CPU0_SB + irq;
int irq_prio = src->B.SRPN;
IfxSrc_disable(src);
/* Only support interrupt routing mode 0,
* so routing to the first cpu in cpuset.
*/
IfxSrc_init(src, ffs(cpuset) - 1, irq_prio);
IfxSrc_enable(src);
}
/****************************************************************************
* Name: tricore_ack_irq
*