Go to the source code of this file.
|  | 
| int | spi_rtio_copy (struct rtio *r, struct rtio_iodev *iodev, const struct spi_buf_set *tx_bufs, const struct spi_buf_set *rx_bufs, struct rtio_sqe **last_sqe) | 
|  | Copy the tx_bufs and rx_bufs into a set of RTIO requests. 
 | 
|  | 
| void | spi_rtio_init (struct spi_rtio *ctx, const struct device *dev) | 
|  | Initialize a SPI RTIO context. 
 | 
|  | 
| bool | spi_rtio_complete (struct spi_rtio *ctx, int status) | 
|  | Signal that the current (ctx->txn_curr) submission has been completed. 
 | 
|  | 
| bool | spi_rtio_submit (struct spi_rtio *ctx, struct rtio_iodev_sqe *iodev_sqe) | 
|  | Submit, atomically, a submission to work on at some point. 
 | 
|  | 
| int | spi_rtio_transceive (struct spi_rtio *ctx, const struct spi_config *config, const struct spi_buf_set *tx_bufs, const struct spi_buf_set *rx_bufs) | 
|  | Perform a SPI Transfer (transceive) in a blocking call. 
 | 
|  | 
| void | spi_rtio_iodev_default_submit (const struct device *dev, struct rtio_iodev_sqe *iodev_sqe) | 
|  | Fallback SPI RTIO submit implementation. 
 | 
|  | 
◆ SPI_RTIO_DEFINE
      
        
          | #define SPI_RTIO_DEFINE | ( |  | _name, | 
        
          |  |  |  | _sq_sz, | 
        
          |  |  |  | _cq_sz | 
        
          |  | ) |  |  | 
      
 
Value:
        };
#define RTIO_DEFINE(name, sq_sz, cq_sz)
Statically define and initialize an RTIO context.
Definition rtio.h:908
#define CONCAT(...)
Concatenate input arguments.
Definition util.h:311
Driver context for implementing SPI with RTIO.
Definition rtio.h:21
struct rtio * r
Definition rtio.h:23
 
Statically define a spi_rtio context. 
- Parameters
- 
  
    | _name | Symbolic name of the context |  | _sq_sz | Submission queue entry pool size |  | _cq_sz | Completion queue entry pool size |  
 
 
 
◆ spi_rtio_complete()
      
        
          | bool spi_rtio_complete | ( | struct spi_rtio * | ctx, | 
        
          |  |  | int | status | 
        
          |  | ) |  |  | 
      
 
Signal that the current (ctx->txn_curr) submission has been completed. 
- Parameters
- 
  
    | ctx | SPI RTIO driver context |  | status | Completion status, negative values are errors |  
 
- Return values
- 
  
    | true | Next submission is ready to start |  | false | No more submissions to work on |  
 
 
 
◆ spi_rtio_copy()
Copy the tx_bufs and rx_bufs into a set of RTIO requests. 
- Parameters
- 
  
    | [in] | r | rtio context |  | [in] | iodev | iodev to transceive with |  | [in] | tx_bufs | transmit buffer set |  | [in] | rx_bufs | receive buffer set |  | [out] | last_sqe | last sqe submitted, NULL if not enough memory |  
 
- Return values
- 
  
    | Number | of submission queue entries |  | -ENOMEM | out of memory |  
 
 
 
◆ spi_rtio_init()
      
        
          | void spi_rtio_init | ( | struct spi_rtio * | ctx, | 
        
          |  |  | const struct device * | dev | 
        
          |  | ) |  |  | 
      
 
Initialize a SPI RTIO context. 
- Parameters
- 
  
    | ctx | SPI RTIO driver context |  | dev | SPI bus |  
 
 
 
◆ spi_rtio_iodev_default_submit()
Fallback SPI RTIO submit implementation. 
Default RTIO SPI implementation for drivers who do no yet have native support. For details, see spi_iodev_submit. 
 
 
◆ spi_rtio_submit()
Submit, atomically, a submission to work on at some point. 
- Return values
- 
  
    | true | Next submission is ready to start |  | false | No new submission to start or submissions are in progress already |  
 
 
 
◆ spi_rtio_transceive()
Perform a SPI Transfer (transceive) in a blocking call. 
Provides a compatible API for the existing spi_transceive API by blocking the caller until the operation is complete. For details see spi_transceive.