Re: [PATCH 01/13] spi: add core support for controllers with offload capabilities

From: Nuno Sá
Date: Fri Jan 12 2024 - 02:26:54 EST


On Thu, 2024-01-11 at 15:41 +0000, Mark Brown wrote:
> On Thu, Jan 11, 2024 at 03:11:32PM +0100, Nuno Sá wrote:
> > On Thu, 2024-01-11 at 13:33 +0000, Mark Brown wrote:
>
> > > I tend to agree that we shouldn't be exposing this to SPI device drivers
> > > however we will want to keep track of if the unit is busy, and designing
> > > it to cope with multiple offloads does seem like sensible future
> > > proofing.  There's also the possibility that one engine might be able to
>
> > Fair enough. But wouldn't a simple DT integer property (handled by the spi core)
> > to identify the offload index be easier for SPI device drivers? We could still
> > have dedicated interfaces for checking if the unit is busy or not... The point
> > is that we would not need an explicit get() from SPI drivers.
>
> It feels like we'd need a get/release operation of some kind for mutual
> exclusion, it's not just the discovery it's also figuring out if the
> hardware is in use at a given moment.
>

Hmm did not thought about the busy case. Still, I could see this being easily done on
the controller driver (at least until we have a clear idea if this is useful or if it
will attract more users) or even at the spi core on the prepare + unprepare
interfaces. A flag could be enough to return EBUSY if someone is already in the
process of preparing + enabling the engine. 

Bah, anyways, it's just I'm really not thrilled about that kind of interface in here
but yeah, as long as you think it's worth it...
>

- Nuno Sá