/Zephyr-Core-3.4.0/tests/subsys/rtio/rtio_api/src/ |
D | rtio_iodev_test.h | 30 static void rtio_iodev_test_next(struct rtio_iodev *iodev) in rtio_iodev_test_next() argument 32 struct rtio_iodev_test_data *data = iodev->data; in rtio_iodev_test_next() 41 struct rtio_mpsc_node *next = rtio_mpsc_pop(&iodev->iodev_sq); in rtio_iodev_test_next() 66 struct rtio_iodev *iodev = (struct rtio_iodev *)data->txn_head->sqe.iodev; in rtio_iodev_timer_fn() local 86 rtio_iodev_test_next(iodev); in rtio_iodev_timer_fn() 105 rtio_iodev_test_next(iodev); in rtio_iodev_timer_fn() 115 struct rtio_iodev *iodev = (struct rtio_iodev *)iodev_sqe->sqe.iodev; in rtio_iodev_test_submit() local 116 struct rtio_iodev_test_data *data = iodev->data; in rtio_iodev_test_submit() 121 rtio_mpsc_push(&iodev->iodev_sq, &iodev_sqe->q); in rtio_iodev_test_submit() 123 rtio_iodev_test_next(iodev); in rtio_iodev_test_submit()
|
/Zephyr-Core-3.4.0/samples/subsys/rtio/sensor_batch_processing/src/ |
D | vnd_sensor.c | 22 struct rtio_iodev iodev; member 84 struct vnd_sensor_data *data = (struct vnd_sensor_data *) iodev_sqe->sqe.iodev; in vnd_sensor_iodev_submit() 86 rtio_mpsc_push(&data->iodev.iodev_sq, &iodev_sqe->q); in vnd_sensor_iodev_submit() 92 struct rtio_mpsc_node *node = rtio_mpsc_pop(&data->iodev.iodev_sq); in vnd_sensor_handle_int() 119 rtio_mpsc_init(&data->iodev.iodev_sq); in vnd_sensor_init() 141 .iodev = \
|
D | main.c | 28 struct rtio_iodev *iodev = vnd_sensor->data; in main() local 34 rtio_sqe_prep_read_with_pool(sqe, iodev, RTIO_PRIO_HIGH, NULL); in main() 90 rtio_sqe_prep_read_with_pool(sqe, iodev, RTIO_PRIO_HIGH, NULL); in main()
|
/Zephyr-Core-3.4.0/drivers/i2c/ |
D | i2c_rtio.c | 17 struct rtio_iodev *iodev, in i2c_rtio_copy() argument 34 rtio_sqe_prep_read(sqe, iodev, RTIO_PRIO_NORM, in i2c_rtio_copy() 37 rtio_sqe_prep_write(sqe, iodev, RTIO_PRIO_NORM, in i2c_rtio_copy()
|
D | i2c_sam_twihs_rtio.c | 62 struct rtio_iodev iodev; member 189 struct i2c_dt_spec *dt_spec = sqe->iodev->data; in i2c_sam_twihs_start() 330 struct rtio_iodev *iodev = &dev_data->iodev; in i2c_sam_twihs_transfer() local 340 sqe = i2c_rtio_copy(r, iodev, msgs, num_msgs); in i2c_sam_twihs_transfer() 398 dev_data->iodev.api = &i2c_iodev_api; in i2c_sam_twihs_initialize() 399 dev_data->iodev.data = &dev_data->dt_spec; in i2c_sam_twihs_initialize()
|
/Zephyr-Core-3.4.0/include/zephyr/rtio/ |
D | rtio.h | 249 const struct rtio_iodev *iodev; /**< Device to operation on */ member 473 const struct rtio_iodev *iodev, in rtio_sqe_prep_nop() argument 478 sqe->iodev = iodev; in rtio_sqe_prep_nop() 486 const struct rtio_iodev *iodev, in rtio_sqe_prep_read() argument 495 sqe->iodev = iodev; in rtio_sqe_prep_read() 507 const struct rtio_iodev *iodev, int8_t prio, in rtio_sqe_prep_read_with_pool() argument 510 rtio_sqe_prep_read(sqe, iodev, prio, NULL, 0, userdata); in rtio_sqe_prep_read_with_pool() 515 const struct rtio_iodev *iodev, int8_t prio, in rtio_sqe_prep_read_multishot() argument 518 rtio_sqe_prep_read_with_pool(sqe, iodev, prio, userdata); in rtio_sqe_prep_read_multishot() 526 const struct rtio_iodev *iodev, in rtio_sqe_prep_write() argument [all …]
|
/Zephyr-Core-3.4.0/drivers/sensor/ |
D | sensor_handlers.c | 71 static inline int z_vrfy_sensor_reconfigure_read_iodev(struct rtio_iodev *iodev, in z_vrfy_sensor_reconfigure_read_iodev() argument 76 Z_OOPS(Z_SYSCALL_OBJ(iodev, K_OBJ_RTIO_IODEV)); in z_vrfy_sensor_reconfigure_read_iodev() 79 return z_impl_sensor_reconfigure_read_iodev(iodev, sensor, channels, num_channels); in z_vrfy_sensor_reconfigure_read_iodev()
|
D | default_rtio_sensor.c | 19 const struct sensor_read_config *cfg = iodev_sqe->sqe.iodev->data; in sensor_iodev_submit() 93 const struct sensor_read_config *cfg = iodev_sqe->sqe.iodev->data; in sensor_submit_fallback()
|
/Zephyr-Core-3.4.0/include/zephyr/drivers/ |
D | spi.h | 1064 const struct spi_dt_spec *dt_spec = iodev_sqe->sqe.iodev->data; in spi_iodev_submit() 1114 struct rtio_iodev *iodev, in spi_rtio_copy() argument 1160 rtio_sqe_prep_read(sqe, iodev, RTIO_PRIO_NORM, in spi_rtio_copy() 1163 rtio_sqe_prep_write(sqe, iodev, RTIO_PRIO_NORM, in spi_rtio_copy() 1166 rtio_sqe_prep_transceive(sqe, iodev, RTIO_PRIO_NORM, in spi_rtio_copy() 1186 rtio_sqe_prep_read(sqe, iodev, RTIO_PRIO_NORM, in spi_rtio_copy() 1199 rtio_sqe_prep_write(sqe, iodev, RTIO_PRIO_NORM, in spi_rtio_copy() 1212 rtio_sqe_prep_transceive(sqe, iodev, RTIO_PRIO_NORM, in spi_rtio_copy() 1228 rtio_sqe_prep_transceive(sqe, iodev, RTIO_PRIO_NORM, in spi_rtio_copy()
|
D | sensor.h | 843 __syscall int sensor_reconfigure_read_iodev(struct rtio_iodev *iodev, const struct device *sensor, 847 static inline int z_impl_sensor_reconfigure_read_iodev(struct rtio_iodev *iodev, in z_impl_sensor_reconfigure_read_iodev() argument 852 struct sensor_read_config *cfg = (struct sensor_read_config *)iodev->data; in z_impl_sensor_reconfigure_read_iodev() 878 static inline int sensor_read(struct rtio_iodev *iodev, struct rtio *ctx, void *userdata) in sensor_read() argument 883 rtio_sqe_prep_read_with_pool(&sqe, iodev, RTIO_PRIO_NORM, userdata); in sensor_read() 891 rtio_sqe_prep_read_with_pool(sqe, iodev, RTIO_PRIO_NORM, userdata); in sensor_read()
|
D | i2c.h | 928 const struct i2c_dt_spec *dt_spec = iodev_sqe->sqe->iodev->data; in i2c_iodev_submit() 962 struct rtio_iodev *iodev,
|
/Zephyr-Core-3.4.0/subsys/rtio/ |
D | rtio_handlers.c | 22 if (sqe->iodev != NULL && Z_SYSCALL_OBJ(sqe->iodev, K_OBJ_RTIO_IODEV)) { in rtio_vrfy_sqe()
|
D | rtio_executor.c | 28 iodev_sqe->sqe.iodev->api->submit(iodev_sqe); in rtio_iodev_submit() 65 if (iodev_sqe->sqe.iodev == NULL) { in rtio_executor_submit()
|
/Zephyr-Core-3.4.0/drivers/spi/ |
D | spi_sam.c | 56 struct rtio_iodev iodev; member 696 struct rtio_mpsc_node *next = rtio_mpsc_pop(&data->iodev.iodev_sq); in spi_sam_iodev_next() 711 struct spi_dt_spec *spi_dt_spec = data->txn_curr->sqe.iodev->data; in spi_sam_iodev_next() 741 rtio_mpsc_push(&data->iodev.iodev_sq, &iodev_sqe->q); in spi_sam_iodev_submit() 764 int ret = spi_rtio_copy(data->r, &data->iodev, tx_bufs, rx_bufs, &sqe); in spi_sam_transceive() 869 data->iodev.api = &spi_iodev_api; in spi_sam_init() 870 data->iodev.data = &data->dt_spec; in spi_sam_init() 871 rtio_mpsc_init(&data->iodev.iodev_sq); in spi_sam_init()
|
/Zephyr-Core-3.4.0/doc/services/rtio/ |
D | index.rst | 15 driven I/O. This section covers the RTIO API, queues, executor, iodev, 91 and device on the bus it is embodied in what RTIO calls an iodev. 93 Multiple operations against the same iodev are done in the order provided as 112 job of objects implementing the executor and iodev APIs. These APIs enable 124 chains by providing calls the iodev may use to signal completion, 235 Lastly the API between an executor and iodev is incomplete. 249 executor and iodev. This requires some SoC specifics and enabling those 250 generically isn't likely possible. That's ok, an iodev and dma executor should 386 bus, while also being an RTIO device itself. The sensor iodev can set aside a 401 * All we need to know is the device tree node_id and that it can be an iodev
|