• Geert Uytterhoeven's avatar
    spi: rspi: Use core SPI_MASTER_MUST_[RT]X handling · b42e0359
    Geert Uytterhoeven authored
    RSPI needs dummy transfers to generate the SPI clock on receive.
    RSPI-RZ and QSPI always do both transmit and receive.
    
    Use the SPI core SPI_MASTER_MUST_RX/SPI_MASTER_MUST_TX infrastructure
    instead of checking for the presence of buffers and providing dummy data
    ourselves (for PIO), or providing a dummy buffer (for DMA).
    
    rspi_receive_dma() now provides full duplex DMA transfers on RSPI, and is
    renamed to rspi_send_receive_dma().
    
    As the SPI core will always provide a TX buffer, the logic to choose
    between DMA send and DMA send/receive in rspi_transfer_one() now has to
    check for the presence of an RX buffer. Likewise for the DMA availability
    tests in rspi_is_dma().
    
    The buffer tests in qspi_transfer_one() are now always true, so they're
    removed.
    Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: default avatarMark Brown <broonie@linaro.org>
    b42e0359
spi-rspi.c 33.1 KB