• Serge Semin's avatar
    spi: dw: Return any value retrieved from the dma_transfer callback · f0410bbf
    Serge Semin authored
    DW APB SSI DMA-part of the driver may need to perform the requested
    SPI-transfer synchronously. In that case the dma_transfer() callback
    will return 0 as a marker of the SPI transfer being finished so the
    SPI core doesn't need to wait and may proceed with the SPI message
    trasnfers pumping procedure. This will be needed to fix the problem
    when DMA transactions are finished, but there is still data left in
    the SPI Tx/Rx FIFOs being sent/received. But for now make dma_transfer
    to return 1 as the normal dw_spi_transfer_one() method.
    Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
    Cc: Georgy Vlasov <Georgy.Vlasov@baikalelectronics.ru>
    Cc: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru>
    Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Cc: Feng Tang <feng.tang@intel.com>
    Cc: Rob Herring <robh+dt@kernel.org>
    Cc: linux-mips@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Link: https://lore.kernel.org/r/20200529131205.31838-3-Sergey.Semin@baikalelectronics.ruSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    f0410bbf
spi-dw-mid.c 8.74 KB