1# Copyright (c) 2022 Intel Corporation
2# SPDX-License-Identifier: Apache-2.0
3
4menuconfig RTIO
5	bool "RTIO"
6
7if RTIO
8
9config RTIO_SUBMIT_SEM
10	bool "Use a semaphore when waiting for completions in rtio_submit"
11	default n if !MULTITHREADING
12	default y
13	help
14	  When calling rtio_submit a semaphore is available to sleep the calling
15	  thread for each completion queue event until the wait count is met. This
16	  adds a small RAM overhead for a single semaphore. By default wait_for will
17	  use polling on the completion queue with a k_yield() in between iterations.
18
19	  Enabled by default unless !MULTITHREADING
20
21config RTIO_CONSUME_SEM
22	bool "Use a semaphore when waiting for completions in rtio_cqe_consume_block"
23	default n if !MULTITHREADING
24	default y
25	help
26	  When calling rtio_cqe_consume_block a semaphore is available to sleep the
27	  calling thread for each completion queue event until the wait count is met.
28	  This adds a small RAM overhead for a single semaphore. By default the call
29	  will use polling on the completion queue with a k_yield() in between
30	  iterations.
31
32	  Enabled by default unless !MULTIHREADING
33
34config RTIO_SYS_MEM_BLOCKS
35	bool "Include system memory blocks as an optional backing read memory pool"
36	select SYS_MEM_BLOCKS
37	help
38	  Enable the RTIO_DEFINE_WITH_MEMPOOL macro which allows queueing reads
39	  without a pre-allocated memory buffer. Instead the buffer will be taken
40	  from the allocated memory pool associated with the RTIO context.
41
42rsource "Kconfig.workq"
43
44module = RTIO
45module-str = RTIO
46module-help = Sets log level for RTIO support
47source "subsys/logging/Kconfig.template.log_config"
48
49endif
50