From: "Nuno Sá" <noname.nuno@gmail.com>
To: "David Lechner" <dlechner@baylibre.com>,
"Mark Brown" <broonie@kernel.org>,
"Jonathan Cameron" <jic23@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Nuno Sá" <nuno.sa@analog.com>
Cc: Michael Hennerich <Michael.Hennerich@analog.com>,
Lars-Peter Clausen <lars@metafoo.de>,
David Jander <david@protonic.nl>,
Martin Sperl <kernel@martin.sperl.org>,
linux-spi@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org
Subject: Re: [PATCH RFC v2 2/8] spi: add basic support for SPI offloading
Date: Tue, 21 May 2024 13:57:03 +0200 [thread overview]
Message-ID: <a35a8063dd3488093be9d1596268856fbcc02177.camel@gmail.com> (raw)
In-Reply-To: <20240510-dlech-mainline-spi-engine-offload-2-v2-2-8707a870c435@baylibre.com>
On Fri, 2024-05-10 at 19:44 -0500, David Lechner wrote:
> SPI offloading is a feature that allows the SPI controller to perform
> complex transfers without CPU intervention. This is useful, e.g. for
> high-speed data acquisition.
>
> This patch adds the basic infrastructure to support SPI offloading. It
> introduces new callbacks that are to be implemented by controllers with
> offload capabilities.
>
> On SPI device probe, the standard spi-offloads devicetree property is
> parsed and passed to the controller driver to reserve the resources
> requested by the peripheral via the map_channel() callback.
>
> The peripheral driver can then use spi_offload_prepare() to load a SPI
> message into the offload hardware.
>
> If the controller supports it, this message can then be passed to the
> SPI message queue as if it was a normal message. Future patches will
> will also implement a way to use a hardware trigger to start the message
> transfers rather than going through the message queue.
>
> Signed-off-by: David Lechner <dlechner@baylibre.com>
> ---
>
> v2 changes:
>
> This is a rework of "spi: add core support for controllers with offload
> capabilities" from v1.
>
> The spi_offload_get() function that Nuno didn't like is gone. Instead,
> there is now a mapping callback that uses the new generic devicetree
> binding to request resources automatically when a SPI device is probed.
>
Yeah, what I disliked the most was adding the platform devices from spi-engine
driver and then the complexity in the IIO trigger part of it. I also didn't like
(as you said) for the peripheral to have to explicitly request an offload but,
IIRC, Mark was actually ok with the spi_offload_get/put() mechanism so let's see
what he has to say. He's main point (I think) was for the controllers to have a
way to know which offload instance is busy or not (but I guess controllers can
keep track of that as well with this approach and using the enable/disable
callbacks or the prepare/unprepare).
THB, I do like this approach (and it is what I had in mind) and it's simple
enough while covering what we know about this feature atm.
- Nuno Sá
next prev parent reply other threads:[~2024-05-21 11:53 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-11 0:44 [PATCH RFC v2 0/8] spi: axi-spi-engine: add offload support David Lechner
2024-05-11 0:44 ` [PATCH RFC v2 1/8] spi: dt-bindings: spi-peripheral-props: add spi-offloads property David Lechner
2024-05-13 16:46 ` Conor Dooley
2024-05-13 17:06 ` David Lechner
2024-05-14 18:46 ` Conor Dooley
2024-05-14 22:56 ` David Lechner
2024-05-16 21:32 ` Conor Dooley
2024-05-17 16:51 ` David Lechner
2024-05-19 12:53 ` Conor Dooley
2024-05-21 14:54 ` David Lechner
2024-05-22 18:24 ` Conor Dooley
2024-05-23 12:15 ` Nuno Sá
2024-05-23 12:45 ` Mark Brown
2024-05-23 14:31 ` Conor Dooley
2024-05-23 15:05 ` David Lechner
2024-05-26 15:42 ` Conor Dooley
2024-05-26 17:35 ` Conor Dooley
2024-05-29 8:07 ` Nuno Sá
2024-05-29 8:33 ` Conor Dooley
2024-05-30 19:18 ` Conor Dooley
2024-05-30 21:28 ` David Lechner
2024-05-31 12:47 ` Mark Brown
2024-05-31 7:39 ` Nuno Sá
2024-05-30 19:24 ` David Lechner
2024-05-31 7:33 ` Nuno Sá
2024-06-04 19:33 ` Conor Dooley
2024-06-04 19:39 ` David Lechner
2024-06-04 19:42 ` Conor Dooley
2024-06-04 20:04 ` David Lechner
2024-05-23 14:28 ` David Lechner
2024-05-23 14:57 ` Nuno Sá
2024-05-23 15:09 ` David Lechner
2024-05-23 15:30 ` Nuno Sá
2024-05-26 15:45 ` Conor Dooley
2024-05-29 20:10 ` David Lechner
2024-05-30 17:25 ` Conor Dooley
2024-05-30 18:42 ` Conor Dooley
2024-05-11 0:44 ` [PATCH RFC v2 2/8] spi: add basic support for SPI offloading David Lechner
2024-05-21 11:57 ` Nuno Sá [this message]
2024-05-11 0:44 ` [PATCH RFC v2 3/8] spi: add support for hardware triggered offload David Lechner
2024-05-11 16:51 ` Jonathan Cameron
2024-05-11 0:44 ` [PATCH RFC v2 4/8] spi: add offload xfer flags David Lechner
2024-05-11 0:44 ` [PATCH RFC v2 5/8] spi: dt-bindings: axi-spi-engine: document spi-offloads David Lechner
2024-05-11 0:44 ` [PATCH RFC v2 6/8] spi: axi-spi-engine: add offload support David Lechner
2024-05-21 12:31 ` Nuno Sá
2024-05-21 14:28 ` David Lechner
2024-05-22 12:08 ` Nuno Sá
2024-05-11 0:44 ` [PATCH RFC v2 7/8] dt-bindings: iio: adc: adi,ad7944: add SPI offload properties David Lechner
2024-05-11 0:44 ` [PATCH RFC v2 8/8] iio: adc: ad7944: add support for SPI offload David Lechner
2024-05-11 16:58 ` Jonathan Cameron
2024-05-11 18:41 ` David Lechner
2024-05-12 11:52 ` Jonathan Cameron
2024-05-13 15:15 ` David Lechner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a35a8063dd3488093be9d1596268856fbcc02177.camel@gmail.com \
--to=noname.nuno@gmail.com \
--cc=Michael.Hennerich@analog.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=david@protonic.nl \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=kernel@martin.sperl.org \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).