plat/leo/l1/leo_pm.c
/*******************************************************************************
 * LEO1 handler called when a CPU is about to enter standby.
 * call by core 1 to enter in wfi
 ******************************************************************************/
LEO1 handler called when a CPU is about to enter standby.
call by core 1 to enter in wfi
LEO1 handler called when a CPU is about to enter standby . call by core 1 to enter in wfi
static void leo_cpu_standby(plat_local_state_t cpu_state)
{
	uint32_t interrupt = GIC_SPURIOUS_INTERRUPT;
	assert(cpu_state == ARM_LOCAL_STATE_RET);
	isb();
	dsb();
	while (interrupt == GIC_SPURIOUS_INTERRUPT) {
		wfi();
		interrupt = gicv2_acknowledge_interrupt();
		if ((interrupt != PENDING_G1_INTID) &&
		    (interrupt != GIC_SPURIOUS_INTERRUPT)) {
			gicv2_end_of_interrupt(interrupt);
		}
	}
}
static void leo_cpu_standby ( plat_local_state_t cpu_state ) { uint32_t interrupt = GIC_SPURIOUS_INTERRUPT ; assert ( cpu_state == ARM_LOCAL_STATE_RET ) ; isb ( ) ; dsb ( ) ; while ( interrupt == GIC_SPURIOUS_INTERRUPT ) { wfi ( ) ; interrupt = gicv2_acknowledge_interrupt ( ) ; if ( ( interrupt != PENDING_G1_INTID ) && ( interrupt != GIC_SPURIOUS_INTERRUPT ) ) { gicv2_end_of_interrupt ( interrupt ) ; } } }
LEO1 handler called when a CPU is about to enter standby.
LEO1 handler called when a CPU is about to enter standby .
/*
	 * Enter standby state
	 * dsb is good practice before using wfi to enter low power states
	 */ /* Acknoledge IT */ /* If Interrupt == 1022 it will be acknowledged by non secure */