Re: Clock framework deadlock with external SPI clockchip

From: Mark Brown
Date: Wed Sep 04 2013 - 06:06:43 EST


On Tue, Sep 03, 2013 at 04:22:29PM -0700, Mike Turquette wrote:
> Quoting Lars-Peter Clausen (2013-08-30 06:24:45)

> > === Clock chip driver === === SPI master driver ===
> > clk_prepare_lock()
> > spi_sync()
> > wait_for_completion(X)

> Is there a synchronous equivalent to spi_sync()?

spi_sync() is synchronous? Obviously everything is asynchronous up to
that point but the only way the driver can tell if the I/O completed is
using spi_sync() or the equivalent thereof.

If you're asking if there is a way of doing SPI I/O that isn't multi
threaded then there isn't, in order to keep pushing transfers into the
SPI controller to saturate the bus we have a high priority task to push
more data in. SPI buses can be quite high bandwidth in some
applications.

Attachment: signature.asc
Description: Digital signature