Home
last modified time | relevance | path

Searched full:work (Results 1 – 25 of 1515) sorted by relevance

12345678910>>...61

/Zephyr-latest/tests/bluetooth/audio/mocks/src/
Dkernel.c30 dwork->work.handler = handler; in k_work_init_delayable()
36 struct k_work *work; in k_work_reschedule() local
40 /* Determine whether the work item is queued already. */ in k_work_reschedule()
41 SYS_SLIST_FOR_EACH_CONTAINER(&work_pending, work, node) { in k_work_reschedule()
42 on_list = work == &dwork->work; in k_work_reschedule()
49 dwork->work.handler(&dwork->work); in k_work_reschedule()
51 (void)sys_slist_remove(&work_pending, NULL, &dwork->work.node); in k_work_reschedule()
54 sys_slist_append(&work_pending, &dwork->work.node); in k_work_reschedule()
62 struct k_work *work; in k_work_schedule() local
64 /* Determine whether the work item is queued already. */ in k_work_schedule()
[all …]
/Zephyr-latest/doc/kernel/services/threads/
Dworkqueue.rst11 work items in a first in, first out manner. Each work item is processed by
12 calling the function specified by the work item. A workqueue is typically
21 * A **queue** of work items that have been added, but not yet processed.
23 * A **thread** that processes the work items in the queue. The priority of the
28 between each submitted work item, to prevent a cooperative workqueue from
33 when no work items are available.
39 * Precise tracking of the status of cancelled work items, so that the
43 * Direct submission of delayable work items to the queue with
46 * The ability to wait until a work item has completed or a queue has been
48 * Finer control of behavior when scheduling a delayable work item,
[all …]
Dnothread.rst15 been limited, there are conditions on what can be expected to work in
18 What Can be Expected to Work
47 What Cannot be Expected to Work
50 Functionality that will not work with :kconfig:option:`CONFIG_MULTITHREADING`
77 expected to work to some degree when :kconfig:option:`CONFIG_MULTITHREADING` is
79 work.
81 Some existing drivers within the listed subsystems do not work when
85 capabilities that were not originally implemented to work with threads
91 The :ref:`flash_api` is expected to work for all SoC flash peripheral
100 The :ref:`gpio_api` is expected to work for all SoC GPIO peripheral
[all …]
/Zephyr-latest/tests/kernel/workq/work_queue/
DREADME.txt36 - Submitting work 1 from preempt thread
38 - Submitting work 2 from coop thread
39 - Submitting work 3 from preempt thread
40 - Submitting work 4 from coop thread
42 - Submitting work 5 from preempt thread
43 - Submitting work 6 from coop thread
44 - Waiting for work to finish
51 - Submitting work
52 - Waiting for work to finish
53 - Resubmitting work
[all …]
/Zephyr-latest/kernel/
Dwork.c10 * Second generation work queue implementation
60 /* Lock to protect the internal state of all work items, work queues,
65 /* Invoked by work thread */
66 static void handle_flush(struct k_work *work) { } in handle_flush() argument
70 struct k_work *work = &flusher->work; in init_flusher() local
72 k_work_init(&flusher->work, handle_flush); in init_flusher()
73 flag_set(&work->flags, K_WORK_FLUSHING_BIT); in init_flusher()
82 * Invoked with work lock held.
85 * @param work the work structure that is to be canceled
88 struct k_work *work) in init_work_cancel() argument
[all …]
Dpoll.c570 static void triggered_work_handler(struct k_work *work) in triggered_work_handler() argument
573 CONTAINER_OF(work, struct k_work_poll, work); in triggered_work_handler()
588 /* Drop work ownership and execute real handler. */ in triggered_work_handler()
590 twork->real_handler(work); in triggered_work_handler()
600 k_work_submit_to_queue(twork->workq, &twork->work); in triggered_work_expiration_handler()
604 struct k_work *work);
617 z_work_submit_to_queue(work_q, &twork->work); in signal_triggered_work()
623 static int triggered_work_cancel(struct k_work_poll *work, in triggered_work_cancel() argument
626 /* Check if the work waits for event. */ in triggered_work_cancel()
627 if (work->poller.is_polling && work->poller.mode != MODE_NONE) { in triggered_work_cancel()
[all …]
/Zephyr-latest/boards/sifive/hifive_unleashed/support/
Dopenocd_hifive_unleashed.cfg20 $_TARGETNAME.0 configure -work-area-phys 0x80000000 -work-area-size 0x4000 -work-area-backup 1
21 $_TARGETNAME.1 configure -work-area-phys 0x80000000 -work-area-size 0x4000 -work-area-backup 1
22 $_TARGETNAME.2 configure -work-area-phys 0x80000000 -work-area-size 0x4000 -work-area-backup 1
23 $_TARGETNAME.3 configure -work-area-phys 0x80000000 -work-area-size 0x4000 -work-area-backup 1
24 $_TARGETNAME.4 configure -work-area-phys 0x80000000 -work-area-size 0x4000 -work-area-backup 1
/Zephyr-latest/boards/sifive/hifive_unmatched/support/
Dopenocd_hifive_unmatched.cfg20 $_TARGETNAME.0 configure -work-area-phys 0x80000000 -work-area-size 0x4000 -work-area-backup 1
21 $_TARGETNAME.1 configure -work-area-phys 0x80000000 -work-area-size 0x4000 -work-area-backup 1
22 $_TARGETNAME.2 configure -work-area-phys 0x80000000 -work-area-size 0x4000 -work-area-backup 1
23 $_TARGETNAME.3 configure -work-area-phys 0x80000000 -work-area-size 0x4000 -work-area-backup 1
24 $_TARGETNAME.4 configure -work-area-phys 0x80000000 -work-area-size 0x4000 -work-area-backup 1
/Zephyr-latest/tests/kernel/workq/work_queue/src/
Dmain.c28 /* Each work item takes 100ms by default. */
31 /* In fact, each work item could take up to this value */
36 * Wait 50ms between work submissions, to ensure co-op and prempt
50 struct k_work_delayable work; member
55 struct k_work_poll work; member
85 struct k_work_poll work; member
93 static void work_handler(struct k_work *work) in work_handler() argument
95 struct k_work_delayable *dwork = k_work_delayable_from_work(work); in work_handler()
97 CONTAINER_OF(dwork, struct delayed_test_item, work); in work_handler()
115 k_work_init_delayable(&delayed_tests[i].work, work_handler); in delayed_test_items_init()
[all …]
Dstart_stop.c11 /* In fact, each work item could take up to this value */
18 static void work_handler(struct k_work *work) in work_handler() argument
20 ARG_UNUSED(work); in work_handler()
27 struct k_work work; in ZTEST() local
36 "Succeeded to stop work queue on non-initialized work queue"); in ZTEST()
43 "Failed to submit work item"); in ZTEST()
46 /* Wait for the work item to complete */ in ZTEST()
50 "Succeeded to stop work queue while it is running & not plugged"); in ZTEST()
51 zassert_true(k_work_queue_drain(&work_q, true) >= 0, "Failed to drain & plug work queue"); in ZTEST()
52 zassert_ok(k_work_queue_stop(&work_q, K_FOREVER), "Failed to stop work queue"); in ZTEST()
[all …]
/Zephyr-latest/subsys/rtio/
Drtio_workq.c7 #include <zephyr/rtio/work.h>
23 static void rtio_work_handler(struct k_p4wq_work *work) in rtio_work_handler() argument
25 struct rtio_work_req *req = CONTAINER_OF(work, in rtio_work_handler()
27 work); in rtio_work_handler()
45 /** Initialize work item before using it as it comes in rtio_work_req_alloc()
48 req->work.thread = NULL; in rtio_work_req_alloc()
49 (void)k_sem_init(&req->work.done_sem, 1, 1); in rtio_work_req_alloc()
67 struct k_p4wq_work *work = &req->work; in rtio_work_req_submit() local
70 /** Link the relevant info so that we can get it on the k_p4wq_work work item. in rtio_work_req_submit()
76 work->handler = rtio_work_handler; in rtio_work_req_submit()
[all …]
DKconfig.workq5 bool "RTIO Work-queues service to process Sync operations"
9 Enable RTIO Work-queues to allow processing synchronous operations
15 int "Medium Thread priority of RTIO Work-queues"
23 int "Number of threads to use for processing work-items"
27 int "Pool of work items to use with the RTIO Work-queues"
30 Configure the Pool of work items appropriately to your
/Zephyr-latest/include/zephyr/rtio/
Dwork.h20 * @brief Callback API to execute work operation.
27 * @brief RTIO Work request.
29 * This RTIO Work request to perform a work operation decoupled
30 * from its submission in the RTIO work-queues.
33 /** Work item used to submit unit of work. */
34 struct k_p4wq_work work; member
48 * @brief Allocate item to perform an RTIO work request.
59 * @brief Submit RTIO work request.
63 * @param handler Callback to handler where work operation is performed.
/Zephyr-latest/
DLICENSE35 "Work" shall mean the work of authorship, whether in Source or
37 copyright notice that is included in or attached to the work
40 "Derivative Works" shall mean any work, whether in Source or Object
41 form, that is based on (or derived from) the Work and for which the
43 represent, as a whole, an original work of authorship. For the purposes
46 the Work and Derivative Works thereof.
48 "Contribution" shall mean any work of authorship, including
49 the original version of the Work and any modifications or additions
50 to that Work or Derivative Works thereof, that is intentionally
51 submitted to Licensor for inclusion in the Work by the copyright owner
[all …]
/Zephyr-latest/tests/kernel/workq/user_work/src/
Dmain.c24 static ZTEST_BMEM struct k_work_user work[NUM_OF_WORK]; variable
52 * -EBUSY: if the work item was already in some workqueue and
64 k_work_user_init(&work[0], common_work_handler); in test_k_work_user_submit_to_queue_fail()
65 k_work_user_init(&work[1], common_work_handler); in test_k_work_user_submit_to_queue_fail()
67 /* TESTPOINT: When a work item be added to a workqueue, its flag will in test_k_work_user_submit_to_queue_fail()
68 * be in pending state, before the work item be processed, it cannot in test_k_work_user_submit_to_queue_fail()
71 k_work_user_submit_to_queue(&user_workq, &work[0]); in test_k_work_user_submit_to_queue_fail()
72 zassert_true(k_work_user_is_pending(&work[0])); in test_k_work_user_submit_to_queue_fail()
73 k_work_user_submit_to_queue(&user_workq, &work[0]); in test_k_work_user_submit_to_queue_fail()
75 /* Test the work item's callback function can only be invoked once */ in test_k_work_user_submit_to_queue_fail()
[all …]
/Zephyr-latest/modules/nrf_wifi/os/
Dtimer.c21 static void timer_expiry_function(struct k_work *work) in timer_expiry_function() argument
25 timer = (struct timer_list *)CONTAINER_OF(work, struct timer_list, work.work); in timer_expiry_function()
32 k_work_init_delayable(&timer->work, timer_expiry_function); in init_timer()
37 k_work_schedule(&timer->work, K_MSEC(msec)); in mod_timer()
42 k_work_cancel_delayable(&timer->work); in del_timer_sync()
Dwork.h8 * @brief Header containing work specific declarations for the
27 struct k_work work; member
35 void work_init(struct zep_work_item *work, void (*callback)(unsigned long callbk_data),
38 void work_schedule(struct zep_work_item *work);
40 void work_kill(struct zep_work_item *work);
42 void work_free(struct zep_work_item *work);
Dwork.c8 * @brief File containing work specific definitions for the
17 #include "work.h"
53 void workqueue_callback(struct k_work *work) in workqueue_callback() argument
55 struct zep_work_item *item = CONTAINER_OF(work, struct zep_work_item, work); in workqueue_callback()
65 LOG_ERR("%s: Reached maximum work items", __func__); in work_alloc()
129 k_work_init(&item->work, workqueue_callback); in work_init()
135 k_work_submit_to_queue(&zep_wifi_intr_q, &item->work); in work_schedule()
137 k_work_submit_to_queue(&zep_wifi_bh_q, &item->work); in work_schedule()
141 k_work_submit_to_queue(&zep_wifi_tx_done_q, &item->work); in work_schedule()
146 k_work_submit_to_queue(&zep_wifi_rx_q, &item->work); in work_schedule()
[all …]
/Zephyr-latest/samples/subsys/zbus/work_queue/
DREADME.rst1 .. zephyr:code-sample:: zbus-work-queue
2 :name: Work queue
5 Use a work queue to process zbus messages in various ways.
9 …ng a listener callback. It can schedule a job, pushing that to the system work queue. Last, it can…
31 I: Sensor msg processed by WORK QUEUE handler dh1: temp = 10, press = 1, humidity = 100
32 I: Sensor msg processed by WORK QUEUE handler dh2: temp = 10, press = 1, humidity = 100
33 I: Sensor msg processed by WORK QUEUE handler dh3: temp = 10, press = 1, humidity = 100
40 I: Sensor msg processed by WORK QUEUE handler dh1: temp = 20, press = 2, humidity = 200
41 I: Sensor msg processed by WORK QUEUE handler dh2: temp = 20, press = 2, humidity = 200
42 I: Sensor msg processed by WORK QUEUE handler dh3: temp = 20, press = 2, humidity = 200
[all …]
/Zephyr-latest/include/zephyr/tracing/
Dtracing.h310 * @brief Work Tracing APIs
311 * @defgroup subsys_tracing_apis_work Work Tracing APIs
316 * @brief Trace initialisation of a Work structure
317 * @param work Work structure
319 #define sys_port_trace_k_work_init(work) argument
322 * @brief Trace submit work to work queue call entry
323 * @param queue Work queue structure
324 * @param work Work structure
326 #define sys_port_trace_k_work_submit_to_queue_enter(queue, work) argument
329 * @brief Trace submit work to work queue call exit
[all …]
/Zephyr-latest/include/zephyr/sys/
Dp4wq.h12 /* Zephyr Pooled Parallel Preemptible Priority-based Work Queues */
19 typedef void (*k_p4wq_handler_t)(struct k_p4wq_work *work);
22 * @brief P4 Queue Work Item
24 * User-populated struct representing a single work item. The
53 * Kernel pooled parallel preemptible priority-based work queue
58 /* Pending threads waiting for work items
69 /* Work items waiting for processing */
72 /* Work items in progress */
89 * @brief Statically initialize a P4 Work Queue
96 * @param n_threads Number of threads in the work queue pool
[all …]
/Zephyr-latest/tests/kernel/interrupt/src/
Dinterrupt_offload.c46 struct k_work *work; member
52 static void entry_offload_job(struct k_work *work) in entry_offload_job() argument
68 /* offload work to work queue */
71 struct k_work *work = ((struct interrupt_param *)param)->work; in isr_handler() local
73 zassert_not_null(work, "kwork should not be NULL"); in isr_handler()
77 /* If the work is busy, we don't submit it. */ in isr_handler()
78 if (!k_work_busy_get(work)) { in isr_handler()
79 zassert_equal(k_work_submit_to_queue(&wq_queue, work), in isr_handler()
125 static void trigger_offload_interrupt(const bool real_irq, void *work) in trigger_offload_interrupt() argument
127 irq_param.work = work; in trigger_offload_interrupt()
[all …]
/Zephyr-latest/drivers/sensor/nuvoton/nuvoton_adc_cmp_npcx/
DKconfig19 bool "NPCX ADC threshold detection uses internal work queue"
21 Threshold detection ISR utilizes system work queue for calling
22 trigger handlers; set this option to use dedicated work queue instead.
27 int "Nuvoton NPCX ADC trheshold detection work queue priority"
34 int "Nuvoton NPCX ADC trheshold detection work queue stack size"
/Zephyr-latest/doc/connectivity/bluetooth/api/mesh/
Dcore.rst77 the change needs to be stored persistently, the stack schedules a work item.
78 The delay between scheduling the work item and submitting it to the workqueue
80 storing of data is scheduled, it can not be rescheduled until the work item is
83 When IV index, Sequence Number or CDB configuration have to be stored, the work
84 item is submitted to the workqueue without the delay. If the work item was
87 The Replay Protection List uses the same work item to store RPL entries. If
92 :kconfig:option:`CONFIG_BT_MESH_RPL_STORE_TIMEOUT`, and the work item was
93 scheduled by the Replay Protection List, the work item will be rescheduled.
95 When the work item is running, the stack will store all pending configuration,
98 Work item execution context
[all …]
/Zephyr-latest/drivers/sensor/ite/ite_vcmp_it8xxx2/
DKconfig25 bool "ITE it8xxx2 voltage comparator threshold detection uses internal work queue"
27 Threshold detection ISR utilizes system work queue for calling
28 trigger handlers; set this option to use dedicated work queue instead.
33 int "ITE it8xxx2 voltage comparator threshold detection work queue priority"
40 int "ITE it8xxx2 voltage comparator threshold detection work queue stack size"

12345678910>>...61