Tool/software: Linux
Hi Experts,
Regarding a system using AM3352, we have a symptom that CPU usage sys for the whole system jumps to 60-70% at a certain point.
Though such heavy CPU load remains once the symptom occurs, it can temporarily be resolved as changing CPU frequency by DVFS.
As looking into it, we have found that bit0-2 of CM_CLKMODE_DPLL_MPU register (0x44e0_0488) is changed from 7(Lock mode) to 5 (Idle Bypass Low Power) while having this symptom.
The register is changed by M3 Firmware for PM and seems like the symptom occurs when adopting C1(Bypass MPU PLL) for idle state.
While we have been able to improve the problem by giving the following modification, we are not certain if this is the right way.
Could you please verify it for us?
Note that we used the Firmware version 0x192 to confirm.
diff --git a/src/foundation/ext_intr_handlers.c b/src/foundation/ext_intr_handlers.c
index 31f3728..be991a1 100644
--- a/src/foundation/ext_intr_handlers.c
+++ b/src/foundation/ext_intr_handlers.c
@@ -70,7 +70,8 @@ void extint34_handler(void)
for (i = 0; i < CM3_NUM_EXT_INTERRUPTS; i++)
{
nvic_disable_irq(i);
- nvic_clear_irq(i);
+ if (i != CM3_IRQ_MPU_WAKE)
+ nvic_clear_irq(i);
}
msg_cmd_dispatcher();