1# Copyright (c) 2024 Croxel Inc.
2# SPDX-License-Identifier: Apache-2.0
3
4config RTIO_WORKQ
5	bool "RTIO Work-queues service to process Sync operations"
6	select SCHED_DEADLINE
7	select P4WQ_INIT_STAGE_EARLY
8	select RTIO_CONSUME_SEM
9	help
10	  Enable RTIO Work-queues to allow processing synchronous operations
11	  in an asynchronous non-blocking fashion.
12
13if RTIO_WORKQ
14
15config RTIO_WORKQ_PRIO_MED
16	int "Medium Thread priority of RTIO Work-queues"
17	default MAIN_THREAD_PRIORITY
18
19config RTIO_WORKQ_STACK_SIZE
20	int "Thread stack-size of RTIO Workqueues"
21	default 2048
22
23config RTIO_WORKQ_THREADS_POOL
24	int "Number of threads to use for processing work-items"
25	default 2 if SPI_RTIO || I2C_RTIO || I3C_RTIO
26	default 1
27
28config RTIO_WORKQ_POOL_ITEMS
29	int "Pool of work items to use with the RTIO Work-queues"
30	default 4
31	help
32	  Configure the Pool of work items appropriately to your
33	  application, the more simultaneous requests you expect
34	  to issue, the bigger this pool should be.
35
36endif # RTIO_WORKQ
37