| #
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 ...
|