refactor(notifications): drop the SRI state
The SPMC defined a state machine to track when the SRI
had been signaled to the normal world until it has been
handled. It was considered to be handled when the SPMC
received an FFA_NOTIFICATION_INFO_GET ABI call, as it
was meant to be called whilst handling the SRI.
The intent of the state machine was to avoid having
multiple interrupts in the NWd, due to the SRI SGI
being sent concurrently in two different CPUs.
The referred state machine is dropped in this patch, given
that the worst it could happend in the described scenario
is that the last call to FFA_NOTIFICATION_INFO_GET receives
an empty list of partitions in need of CPU cycles.
Handling multiple SRI in the NWd is preferred compared to
missing the SRI being sent after a while.
This change also simplifies the implementation.
BREAKING: FF-A driver may need adjustment to cope with
multiple SRI interrupts firing at different CPUs.
Change-Id: I258ac9d303306b21c0341efbadb4fc8d3b7104a4
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/inc/hf/cpu.h b/inc/hf/cpu.h
index a80431d..ac1f7d5 100644
--- a/inc/hf/cpu.h
+++ b/inc/hf/cpu.h
@@ -28,6 +28,9 @@
/** Determines whether the CPU is currently on. */
bool is_on;
+
+ /* In case there is a pending SRI for the NWd. */
+ bool is_sri_delayed;
};
void cpu_module_init(const cpu_id_t *cpu_ids, size_t count);