Home
last modified time | relevance | path

Searched full:rtio (Results 1 – 25 of 166) sorted by relevance

1234567

/Zephyr-latest/tests/subsys/rtio/rtio_api/
Dtestcase.yaml12 rtio.api:
14 tags: rtio
19 rtio.api.submit_sem:
21 tags: rtio
26 rtio.api.userspace:
34 - rtio
38 rtio.api.userspace.submit_sem:
46 - rtio
/Zephyr-latest/include/zephyr/drivers/spi/
Drtio.h12 #include <zephyr/rtio/rtio.h>
19 * @brief Driver context for implementing SPI with RTIO
23 struct rtio *r;
45 * @brief Copy the tx_bufs and rx_bufs into a set of RTIO requests
47 * @param[in] r rtio context
56 int spi_rtio_copy(struct rtio *r,
63 * @brief Initialize a SPI RTIO context
65 * @param ctx SPI RTIO driver context
73 * @param ctx SPI RTIO driver context
102 * @brief Fallback SPI RTIO submit implementation.
[all …]
/Zephyr-latest/subsys/rtio/
DKconfig4 menuconfig RTIO config
5 bool "RTIO"
7 if RTIO
40 from the allocated memory pool associated with the RTIO context.
44 module = RTIO
45 module-str = RTIO
46 module-help = Sets log level for RTIO support
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"
19 int "Thread stack-size of RTIO Workqueues"
27 int "Pool of work items to use with the RTIO Work-queues"
DCMakeLists.txt5 zephyr_syscall_header(${ZEPHYR_BASE}/include/zephyr/rtio/rtio.h)
9 zephyr_include_directories(${ZEPHYR_BASE}/subsys/rtio)
Drtio_handlers.c9 #include <zephyr/rtio/rtio.h>
46 /* RTIO OP must be known and allowable from user mode in rtio_vrfy_sqe()
55 static inline void z_vrfy_rtio_release_buffer(struct rtio *r, void *buff, uint32_t buff_len) in z_vrfy_rtio_release_buffer()
62 static inline int z_vrfy_rtio_cqe_get_mempool_buffer(const struct rtio *r, struct rtio_cqe *cqe, in z_vrfy_rtio_cqe_get_mempool_buffer()
79 static inline int z_vrfy_rtio_sqe_copy_in_get_handles(struct rtio *r, const struct rtio_sqe *sqes, in z_vrfy_rtio_sqe_copy_in_get_handles()
112 static inline int z_vrfy_rtio_cqe_copy_out(struct rtio *r, in z_vrfy_rtio_cqe_copy_out()
125 static inline int z_vrfy_rtio_submit(struct rtio *r, uint32_t wait_count) in z_vrfy_rtio_submit()
/Zephyr-latest/include/zephyr/rtio/
Dwork.h12 #include <zephyr/rtio/rtio.h>
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.
48 * @brief Allocate item to perform an RTIO work request.
59 * @brief Submit RTIO work request.
62 * @param iodev_sqe RTIO Operation information.
Drtio.h11 * RTIO is a context for asynchronous batch operations using a submission and completion queue.
47 * @brief RTIO
48 * @defgroup rtio RTIO
56 * @brief RTIO Predefined Priorities
57 * @defgroup rtio_sqe_prio RTIO Priorities
58 * @ingroup rtio
83 * @brief RTIO SQE Flags
84 * @defgroup rtio_sqe_flags RTIO SQE Flags
85 * @ingroup rtio
112 * @brief The buffer should be allocated by the RTIO mempool
[all …]
/Zephyr-latest/include/zephyr/drivers/i2c/
Drtio.h12 #include <zephyr/rtio/rtio.h>
19 * @brief Driver context for implementing i2c with rtio
24 struct rtio *r;
46 * @brief Copy an array of i2c_msgs to rtio submissions and a transaction
51 struct rtio_sqe *i2c_rtio_copy(struct rtio *r, struct rtio_iodev *iodev, const struct i2c_msg *msgs,
55 * @brief Initialize an i2c rtio context
57 * @param ctx I2C RTIO driver context
65 * @param ctx I2C RTIO driver context
/Zephyr-latest/include/zephyr/drivers/i3c/
Drtio.h13 #include <zephyr/rtio/rtio.h>
20 * @brief Driver context for implementing i3c with rtio
25 struct rtio *r;
47 * @brief Copy an array of i3c_msgs to rtio submissions and a transaction
52 struct rtio_sqe *i3c_rtio_copy(struct rtio *r, struct rtio_iodev *iodev, const struct i3c_msg *msgs,
56 * @brief Initialize an i3c rtio context
58 * @param ctx I3C RTIO driver context
65 * @param ctx I3C RTIO driver context
/Zephyr-latest/samples/subsys/rtio/
Drtio.rst1 .. zephyr:code-sample-category:: rtio
2 :name: Real Time I/O (RTIO)
5 Samples that demonstrate the :ref:`rtio` subsystem.
/Zephyr-latest/doc/services/rtio/
Dindex.rst3 Real Time I/O (RTIO)
14 RTIO provides a framework for doing asynchronous operation chains with event
15 driven I/O. This section covers the RTIO API, queues, executor, iodev,
18 RTIO takes a lot of inspiration from Linux's io_uring in its operations and API
80 The above sequence of operations is embodied in RTIO as chain of
85 and device on the bus it is embodied in what RTIO calls an iodev.
105 The RTIO executor is a low overhead concurrent I/O task scheduler. It ensures
141 the RTIO context that the read was associated with. To create such an RTIO
143 an RTIO context with a dedicated pool of "memory blocks" which can be consumed by
144 the iodev. Below is a snippet setting up the RTIO context with a memory pool.
[all …]
/Zephyr-latest/samples/drivers/i2c/rtio_loopback/
DREADME.rst1 .. zephyr:code-sample:: i2c-rtio-loopback
2 :name: I2C RTIO loopback
3 :relevant-api: rtio i2c_interface
5 Perform I2C transfers between I2C controller and custom I2C target using RTIO.
11 using RTIO. It uses up to two I2C controllers, acting as I2C controller and
Dsample.yaml2 name: I2C RTIO loopback sample
6 - rtio
/Zephyr-latest/samples/subsys/rtio/sensor_batch_processing/
Dsample.yaml2 name: RTIO sample
4 sample.rtio.sensor_batch_processing:
5 tags: rtio
DREADME.rst3 :relevant-api: rtio
5 Implement a sensor device using RTIO for asynchronous data processing.
10 This sample application demonstrates the use of the :ref:`rtio` framework for
12 Application uses :ref:`rtio` with mempool API to fetch data from virtual sensor
23 This sample can be found under :zephyr_file:`samples/subsys/rtio` in the Zephyr tree.
29 :zephyr-app: samples/subsys/rtio
/Zephyr-latest/subsys/sensing/
DKconfig8 select RTIO
22 int "Number of the sensing RTIO SQE"
26 int "Number of the sensing RTIO SQE"
30 int "Block size of the RTIO context"
34 int "Number of memory blocks of the RTIO context"
/Zephyr-latest/drivers/sensor/
Dsensor_shell.h12 #include <zephyr/rtio/rtio.h>
20 extern struct rtio sensor_read_rtio;
/Zephyr-latest/tests/subsys/rtio/workq/
Dtestcase.yaml2 rtio.workq:
3 tags: rtio
/Zephyr-latest/tests/subsys/rtio/rtio_i2c/
Dtestcase.yaml5 rtio.i2c:
7 tags: rtio
/Zephyr-latest/samples/drivers/i2c/rtio_loopback/src/
Dmain.c9 #include <zephyr/rtio/rtio.h>
10 #include <zephyr/drivers/i2c/rtio.h>
35 * The user defines an RTIO context to which actions like writes and reads will be
45 * The user defines an RTIO IODEV which wraps the device which will perform the
46 * actions submitted to the RTIO context. In this sample, we are using an I2C
47 * controller device, so we use the I2C specific helper to define the RTIO IODEV.
52 * For async write read operation we will be waiting for a callback from RTIO.
58 * We register a simple I2C target which we will be targeting using RTIO. We
191 /* This is functionally identical to sample_standard_write_read() but uses RTIO */
250 * Since the RTIO SQEs are executed in the background, we need to in sample_rtio_write_read()
[all …]
/Zephyr-latest/tests/subsys/rtio/rtio_api/src/
Dtest_rtio_api.c17 #include <zephyr/rtio/rtio.h>
42 * @brief Test the basics of the RTIO API
44 * Ensures that we can setup an RTIO context, enqueue a request, and receive
47 void test_rtio_simple_(struct rtio *r) in test_rtio_simple_()
74 TC_PRINT("rtio simple simple\n"); in ZTEST()
110 * Ensures that we can setup an RTIO context, enqueue a chained requests,
114 void test_rtio_chain_(struct rtio *r) in test_rtio_chain_()
160 TC_PRINT("rtio chain simple\n"); in ZTEST()
175 void test_rtio_multiple_chains_(struct rtio *r) in test_rtio_multiple_chains_()
234 TC_PRINT("rtio multiple chains\n"); in ZTEST()
[all …]
/Zephyr-latest/drivers/sensor/tdk/icm42688/
Dicm42688_rtio.h11 #include <zephyr/rtio/rtio.h>
/Zephyr-latest/drivers/sensor/st/lsm6dsv16x/
Dlsm6dsv16x_rtio.h13 #include <zephyr/rtio/rtio.h>
/Zephyr-latest/tests/drivers/i2c/i2c_ram/
Dtestcase.yaml16 drivers.i2c.ram.rtio:
27 drivers.i2c.ram.pm.rtio:

1234567