Searched hist:f932e355993798f38a051d9ec4e06d208c969668 (Results 1 – 2 of 2) sorted by relevance
| /optee_os/core/kernel/ |
| H A D | interrupt.c | f932e355993798f38a051d9ec4e06d208c969668 Tue Jan 03 22:03:44 UTC 2023 Etienne Carriere <etienne.carriere@linaro.org> core: interrupt: interrupt chip framework
Extends itr_chip framework to allow interrupt controllers to register as interrupt chip and other interrupt management methods it their owns interrupt consumer through the interrupt_xxx() API function.
This change does not modify the existing interrupt API function that allow a driver to get an interrupt from the CPU main interrupt controller. A later change will remove these old API functions.
This changes adds fields in existing structures defined in interrupt.h: - itr_handler::chip back references the interrupt controller - itr_chip::handlers is a list head for controller registered handlers - itr_chip::name for debug trace purpose - itr_ops::mask and itr_ops::unmask to mask/unmask an interrupt
The new API functions exposed to interrupt consumers are: - interrupt_add_configure_handler(), interrupt_remove_handler() and helper functions interrupt_add_handler() and interrupt_add_handler_with_chip(); - interrupt_alloc_add_handler() and interrupt_remove_free_handler(); - interrupt_configure(), interrupt_enable(), interrupt_disable(), interrupt_mask() and interrupt_unmask();
Interrupt controllers shall call generic API function interrupt_call_handlers() to have their registered consumer handlers called upon their related interrupt occurrences.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
|
| /optee_os/core/include/kernel/ |
| H A D | interrupt.h | f932e355993798f38a051d9ec4e06d208c969668 Tue Jan 03 22:03:44 UTC 2023 Etienne Carriere <etienne.carriere@linaro.org> core: interrupt: interrupt chip framework
Extends itr_chip framework to allow interrupt controllers to register as interrupt chip and other interrupt management methods it their owns interrupt consumer through the interrupt_xxx() API function.
This change does not modify the existing interrupt API function that allow a driver to get an interrupt from the CPU main interrupt controller. A later change will remove these old API functions.
This changes adds fields in existing structures defined in interrupt.h: - itr_handler::chip back references the interrupt controller - itr_chip::handlers is a list head for controller registered handlers - itr_chip::name for debug trace purpose - itr_ops::mask and itr_ops::unmask to mask/unmask an interrupt
The new API functions exposed to interrupt consumers are: - interrupt_add_configure_handler(), interrupt_remove_handler() and helper functions interrupt_add_handler() and interrupt_add_handler_with_chip(); - interrupt_alloc_add_handler() and interrupt_remove_free_handler(); - interrupt_configure(), interrupt_enable(), interrupt_disable(), interrupt_mask() and interrupt_unmask();
Interrupt controllers shall call generic API function interrupt_call_handlers() to have their registered consumer handlers called upon their related interrupt occurrences.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
|