Home
last modified time | relevance | path

Searched full:isr (Results 1 – 25 of 490) sorted by relevance

12345678910>>...20

/Zephyr-Core-3.5.0/arch/common/
Dshared_irq.c28 if (client->isr) { in z_shared_isr()
29 client->isr(client->arg); in z_shared_isr()
64 if (entry->isr == z_irq_spurious) { in z_isr_install()
65 /* this is the first time a ISR/arg pair is registered in z_isr_install()
68 entry->isr = routine; in z_isr_install()
74 } else if (entry->isr != z_shared_isr) { in z_isr_install()
75 /* INTID is being used by another ISR/arg pair. in z_isr_install()
76 * Push back the ISR/arg pair registered in _sw_isr_table in z_isr_install()
80 shared_entry->clients[shared_entry->client_num].isr = entry->isr; in z_isr_install()
85 entry->isr = z_shared_isr; in z_isr_install()
[all …]
/Zephyr-Core-3.5.0/subsys/modem/backends/
Dmodem_backend_uart_isr.c30 receive_rb = &backend->isr.receive_rdb[backend->isr.receive_rdb_used]; in modem_backend_uart_isr_irq_handler_receive_ready()
57 if (ring_buf_is_empty(&backend->isr.transmit_rb) == true) { in modem_backend_uart_isr_irq_handler_transmit_ready()
62 size = ring_buf_get_claim(&backend->isr.transmit_rb, &buffer, UINT32_MAX); in modem_backend_uart_isr_irq_handler_transmit_ready()
65 ring_buf_get_finish(&backend->isr.transmit_rb, 0); in modem_backend_uart_isr_irq_handler_transmit_ready()
67 ring_buf_get_finish(&backend->isr.transmit_rb, (uint32_t)ret); in modem_backend_uart_isr_irq_handler_transmit_ready()
70 atomic_sub(&backend->isr.transmit_buf_len, (uint32_t)ret); in modem_backend_uart_isr_irq_handler_transmit_ready()
95 ring_buf_reset(&backend->isr.receive_rdb[0]); in modem_backend_uart_isr_open()
96 ring_buf_reset(&backend->isr.receive_rdb[1]); in modem_backend_uart_isr_open()
97 ring_buf_reset(&backend->isr.transmit_rb); in modem_backend_uart_isr_open()
98 atomic_set(&backend->isr.transmit_buf_len, 0); in modem_backend_uart_isr_open()
[all …]
/Zephyr-Core-3.5.0/tests/kernel/interrupt/src/
Ddynamic_isr.c26 * @brief Test dynamic ISR installation
30 * @details This routine locates an unused entry in the software ISR table,
31 * installs a dynamic ISR to the unused entry by calling the dynamic
32 * configured function, and verifies that the ISR is successfully installed
33 * by checking the software ISR table entry.
43 if (_sw_isr_table[i].isr == z_irq_spurious) { in ZTEST()
48 zassert_true(_sw_isr_table[i].isr == z_irq_spurious, in ZTEST()
49 "could not find slot for dynamic isr"); in ZTEST()
51 printk("installing dynamic ISR for IRQ %d\n", in ZTEST()
58 zassert_true(_sw_isr_table[i].isr == dyn_isr && in ZTEST()
[all …]
Ddynamic_shared_irq.c32 /* note: no need to check the state of the SW ISR tables after in dynamic_shared_irq_suite_after()
58 if (_sw_isr_table[table_idx].isr == &z_irq_spurious) { in get_irq_slot()
107 zassert_true(_sw_isr_table[fixture.irq1_table_idx].isr == test_isr_0, in dynamic_shared_irq_suite_before()
108 "wrong _sw_isr_table ISR at irq1"); in dynamic_shared_irq_suite_before()
117 zassert_true(_sw_isr_table[fixture.irq1_table_idx].isr == z_shared_isr, in dynamic_shared_irq_suite_before()
118 "wrong _sw_isr_table ISR at irq1"); in dynamic_shared_irq_suite_before()
133 zassert_true(_sw_isr_table[fixture.irq2_table_idx].isr == test_isr_2, in dynamic_shared_irq_suite_before()
134 "wrong _sw_isr_table ISR at irq2"); in dynamic_shared_irq_suite_before()
149 * (i.e: multiple ISR/arg pairs are called whenever the interrupt
176 * @brief Test writing to a vector after an ISR/arg disconnect.
[all …]
Dnested_irq.c29 * In terms of priority, the IRQ1 is triggered from the ISR of the IRQ0;
105 /* Validate nested ISR result token */ in isr0()
116 * This routine tests the interrupt nesting feature, which allows an ISR to be
118 * lower priority ISR resumes execution once the higher priority ISR has
124 * 2. [isr0] Set ISR 0 result token and trigger IRQ 1 (higher priority)
125 * 3. [isr1] Set ISR 1 result token and return
126 * 4. [isr0] Validate ISR 1 result token and return
127 * 5. [thread] Validate ISR 0 result token
153 /* Validate ISR result token */ in ZTEST()
Dregular_isr.c46 * - Trigger interrupt and check if isr handler has executed or not.
80 "Both ISR should execute"); in ZTEST()
90 "Both ISR should not execute again(%d)(%d)", in ZTEST()
99 * at the state that the ISR is suppose to update. This has been shown in ZTEST()
102 * Adding a nop instruction allows QEMU to post the ISR before any state in ZTEST()
113 "Both ISR should execute again(%d)(%d)", in ZTEST()
122 "Both ISR should execute again(%d)(%d)", in ZTEST()
/Zephyr-Core-3.5.0/doc/kernel/services/
Dinterrupts.rst6 An :dfn:`interrupt service routine` (ISR) is a function that executes
8 An ISR normally preempts the execution of the current thread,
10 Thread execution resumes only once all ISR work has been completed.
22 An ISR has the following key properties:
24 * An **interrupt request (IRQ) signal** that triggers the ISR.
30 to associate a given interrupt source with a given ISR.
31 Only a single ISR can be associated with a specific IRQ at any given time.
36 (usually of the same type). The argument value passed to an ISR's function
39 The kernel provides a default ISR for all unused IDT entries. This ISR
42 The kernel supports **interrupt nesting**. This allows an ISR to be preempted
[all …]
/Zephyr-Core-3.5.0/soc/xtensa/sample_controller/include/
D_soc_inthandlers.h95 e->isr(e->arg); in _xtensa_handle_one_int1()
101 e->isr(e->arg); in _xtensa_handle_one_int1()
107 e->isr(e->arg); in _xtensa_handle_one_int1()
115 e->isr(e->arg); in _xtensa_handle_one_int1()
121 e->isr(e->arg); in _xtensa_handle_one_int1()
128 e->isr(e->arg); in _xtensa_handle_one_int1()
134 e->isr(e->arg); in _xtensa_handle_one_int1()
144 e->isr(e->arg); in _xtensa_handle_one_int1()
150 e->isr(e->arg); in _xtensa_handle_one_int1()
156 e->isr(e->arg); in _xtensa_handle_one_int1()
[all …]
/Zephyr-Core-3.5.0/include/zephyr/
Dsw_isr_table.h9 * @brief Software-managed ISR table
11 * Data types for a software-managed ISR table, with a parameter per-ISR.
32 * Note the order: arg first, then ISR. This allows a table entry to be
33 * loaded arg -> r0, isr -> r3 in _isr_wrapper with one ldmia instruction,
38 void (*isr)(const void *); member
41 /* The software ISR table itself, an array of these structures indexed by the
58 /** ISR to call */
66 void (*isr)(const void *arg); member
98 * and/or SW ISR tables.
Dshared_irq.h35 * @brief Register a device ISR
37 * @param isr_func Pointer to the ISR function for the device.
51 * @brief Enable ISR for device
65 * @brief Disable ISR for device
/Zephyr-Core-3.5.0/subsys/bluetooth/controller/ll_sw/openisa/hal/RV32M1/
Dll_irqs.h14 * We'll use the INTMUX ISR for channel 2 instead of LPTMR1 ISR
21 * We'll use the INTMUX ISR for channel 3 instead of radio ISR
/Zephyr-Core-3.5.0/tests/kernel/gen_isr_table/src/
Dmain.c47 * with isr used here, so add a workaround
66 * by default, and conflicts with ISR used for testing. Move IRQs for this
182 static int check_vector(void *isr, int offset) in check_vector() argument
194 if (_irq_vector_table[TABLE_INDEX(offset)] != (uint32_t)isr) { in check_vector()
209 static int check_sw_isr(void *isr, uintptr_t arg, int offset) in check_sw_isr() argument
217 TC_PRINT("bad argument in SW isr table\n"); in check_sw_isr()
221 if (e->isr != isr) { in check_sw_isr()
222 TC_PRINT("Bad ISR in SW isr table\n"); in check_sw_isr()
223 TC_PRINT("expected %p got %p\n", (void *)isr, e->isr); in check_sw_isr()
249 * isr and the corresponding parameters.
[all …]
/Zephyr-Core-3.5.0/drivers/usb/udc/
DKconfig.nrf19 Size of the stack used in the driver for nRF USBD ISR event handling.
22 int "nRF UDC driver maximum number of ISR event messages"
26 Maximum number of messages for handling of nRF USBD ISR events.
/Zephyr-Core-3.5.0/subsys/bluetooth/controller/ll_sw/openisa/lll/
Dlll_prof.c30 /* sample the packet timer, use it to calculate ISR latency in lll_prof_latency_capture()
31 * and generate the profiling event at the end of the ISR. in lll_prof_latency_capture()
41 /* PA enable is overwriting packet end used in ISR profiling, hence in lll_prof_radio_end_backup()
52 /* get the ISR latency sample */ in lll_prof_cputime_capture()
55 /* sample the packet timer again, use it to calculate ISR execution time in lll_prof_cputime_capture()
67 * to ISR entry in lll_prof_send()
92 /* calculate the elapsed time in us since ISR entry */ in lll_prof_send()
/Zephyr-Core-3.5.0/drivers/entropy/
DKconfig.smartbond36 int "ISR-mode random number pool size"
41 hardware to make them ready for ISR consumers.
45 int "ISR-mode random number pool low-water threshold"
49 ISR consumers. As soon as the number of available bytes in the
DKconfig.nrf553 int "ISR-mode random number pool size"
58 hardware to make them ready for ISR consumers.
62 int "ISR-mode random number pool low-water threshold"
66 ISR consumers. As soon as the number of available bytes in the
DKconfig.stm3239 int "ISR-mode random number pool size"
44 hardware to make them ready for ISR consumers.
48 int "ISR-mode random number pool low-water threshold"
52 ISR consumers. As soon as the number of available bytes in the
/Zephyr-Core-3.5.0/tests/arch/arm/arm_runtime_nmi/src/
Darm_runtime_nmi.c26 /* ISR triggered correctly: test passed! */ in nmi_test_isr()
42 * First we configure the NMI isr using z_arm_nmi_set_handler() api.
45 * The registered NMI isr should fire immediately.
53 /* Configure the NMI isr */ in ZTEST()
73 zassert_true(nmi_triggered, "Isr not triggered!\n"); in ZTEST()
/Zephyr-Core-3.5.0/tests/arch/arm/arm_irq_advanced_features/src/
Darm_dynamic_direct_interrupts.c36 * in the ROM ISR table. in ZTEST()
43 /* Attach the ISR handler at run time. */ in ZTEST()
60 /* Confirm test flag is set by the dynamic direct ISR handler. */ in ZTEST()
67 /* Attach an alternative ISR handler at run-time. */ in ZTEST()
84 /* Confirm test flag is set by the dynamic direct ISR handler. */ in ZTEST()
/Zephyr-Core-3.5.0/tests/arch/x86/direct_isr/src/
Ddirect_isr.c51 * - Trigger interrupt and check if isr handler has executed or not.
80 "Both ISR should not execute"); in ZTEST()
92 "Both ISR should execute"); in ZTEST()
102 "Both ISR should not execute again"); in ZTEST()
109 "Both ISR should execute again(%d)(%d)", in ZTEST()
118 "Both ISR should execute again(%d)(%d)", in ZTEST()
/Zephyr-Core-3.5.0/arch/arm/core/cortex_m/
Disr_wrapper.S36 * @brief Wrapper around ISRs when inserted in software ISR table
38 * When inserted in the vector table, _isr_wrapper() demuxes the ISR table
40 * ISR with its corresponding argument. When returning from the ISR, it
68 * entering an ISR.
116 ldm r1!,{r0,r3} /* arg in r0, ISR in r3 */
117 blx r3 /* call ISR */
/Zephyr-Core-3.5.0/drivers/interrupt_controller/
Dintc_vexriscv_litex.c72 ite->isr(ite->arg); in vexriscv_litex_irq_handler()
79 ite->isr(ite->arg); in vexriscv_litex_irq_handler()
86 ite->isr(ite->arg); in vexriscv_litex_irq_handler()
93 ite->isr(ite->arg); in vexriscv_litex_irq_handler()
97 ite->isr(ite->arg); in vexriscv_litex_irq_handler()
103 ite->isr(ite->arg); in vexriscv_litex_irq_handler()
/Zephyr-Core-3.5.0/soc/arm/cypress/common/
Dcypress_psoc6_dt.h45 * isr - isr function to be called
65 #define CY_PSOC6_DT_INST_NVIC_INSTALL(n, isr) \ argument
67 (CY_PSOC6_IRQ_CONFIG(n, isr)))
91 #define CY_PSOC6_DT_INST_NVIC_INSTALL(n, isr) CY_PSOC6_IRQ_CONFIG(n, isr) argument
97 #define CY_PSOC6_IRQ_CONFIG(n, isr) \ argument
101 isr, DEVICE_DT_INST_GET(n), 0);\
/Zephyr-Core-3.5.0/include/zephyr/arch/arm/
Dirq.h118 * the vector table and the software ISR table. This is all done at
197 * @brief Macro to register an ISR Dispatcher (with or without re-scheduling
200 * This macro registers the ISR dispatcher function for dynamic direct
205 * (ISR) that is registered dynamically (i.e. at run-time) into the software
206 * ISR table stored in SRAM. The ISR must be connected with
208 * interrupt can be serviced. This ISR dispatcher must be configured by the
216 * Zephyr interrupts; their signature must match void isr(void* parameter), as,
219 * ISR table.
224 * before the ISR is run, but with dynamic direct ones when and if it runs
235 * re-scheduling upon ISR function. Set flag
/Zephyr-Core-3.5.0/tests/kernel/threads/thread_apis/src/
Dtest_threads_cancel_abort.c164 /* k_thread_abort() in an isr shouldn't affect the ISR's execution */ in offload_func()
184 * @details Spwan a thread, then enter ISR context in child thread and abort
185 * the child thread. Check if ISR completed and target thread was aborted.
197 zassert_true(isr_finished, "ISR did not complete"); in ZTEST()
200 * offload_sem which might be held when thread aborts itself in ISR in ZTEST()
225 * @details Spwan a thread, then enter ISR context in main thread and abort
226 * the child thread. Check if ISR completed and target thread was aborted.
247 zassert_true(isr_finished, "ISR did not complete"); in ZTEST()

12345678910>>...20