History log of /optee_os/core/kernel/callout.c (Results 1 – 3 of 3)
Revision Date Author Comments
# 95b8c535 02-May-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: callout: disable obsolete timeouts

In callout_service_cb() when a timeout interrupt is received there's a
check to see if this is the last scheduled CPU. If not the interrupt is
ignored, but n

core: callout: disable obsolete timeouts

In callout_service_cb() when a timeout interrupt is received there's a
check to see if this is the last scheduled CPU. If not the interrupt is
ignored, but not disabled causing it to trigger again and again. So fix
this by disabling the timeout too.

Fixes: cf707bd0d695 ("core: add callout service")
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


# c5b5aca0 13-Mar-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: callout: assert callback is unpaged

Add an assert that the callback parameter passed to callout_add() points
to an unpaged address since the callback function will be called from an
interrupt

core: callout: assert callback is unpaged

Add an assert that the callback parameter passed to callout_add() points
to an unpaged address since the callback function will be called from an
interrupt handler and must not be paged.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# cf707bd0 31-Jan-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: add callout service

Add a callout service to call registered callback functions at a given
time from now. A callout is periodic or oneshot depending on how the
callback function returns. Callb

core: add callout service

Add a callout service to call registered callback functions at a given
time from now. A callout is periodic or oneshot depending on how the
callback function returns. Callback functions execute in nexus and
interrupt context.

The callout service is initialized with callout_service_init() and
depends on an abstract timer interface to manage the hardware timer.
callout_service_cb() needs to be called from the timer interrupt handler
to drive the callout service.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...