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 RTIO_CONSUME_SEM
7	help
8	  Enable RTIO Work-queues to allow processing synchronous operations
9	  in an asynchronous non-blocking fashion.
10
11if RTIO_WORKQ
12
13config RTIO_WORKQ_THREADS_POOL_PRIO
14	int "Priority of RTIO Workqueue Threads Pool"
15	default MAIN_THREAD_PRIORITY
16
17config RTIO_WORKQ_THREADS_POOL_STACK_SIZE
18	int "Stack size of RTIO Workqueue Threads"
19	default 1024
20
21config RTIO_WORKQ_THREADS_POOL
22	int "Number of threads to use for processing work-items"
23	default 2 if SPI_RTIO || I2C_RTIO || I3C_RTIO
24	default 1
25
26config RTIO_WORKQ_POOL_ITEMS
27	int "Pool of work items to use with the RTIO Work-queues"
28	default 4
29	help
30	  Configure the Pool of work items appropriately to your
31	  application, the more simultaneous requests you expect
32	  to issue, the bigger this pool should be.
33
34endif # RTIO_WORKQ
35