From: David Lechner <dlechner@baylibre.com>
To: Andy Shevchenko <andriy.shevchenko@intel.com>
Cc: "Mark Brown" <broonie@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Marcelo Schmitt" <marcelo.schmitt@analog.com>,
"Michael Hennerich" <michael.hennerich@analog.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Jonathan Cameron" <jic23@kernel.org>,
"Andy Shevchenko" <andy@kernel.org>,
"Sean Anderson" <sean.anderson@linux.dev>,
linux-spi@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org
Subject: Re: [PATCH v3 4/7] spi: axi-spi-engine: support SPI_MULTI_LANE_MODE_STRIPE
Date: Tue, 9 Dec 2025 18:02:03 -0600 [thread overview]
Message-ID: <2aca99a6-9541-4cd4-933e-815ceaabe365@baylibre.com> (raw)
In-Reply-To: <aS79ex5Konr_EeMA@smile.fi.intel.com>
On 12/2/25 8:53 AM, Andy Shevchenko wrote:
> On Mon, Dec 01, 2025 at 08:20:42PM -0600, David Lechner wrote:
>> Add support for SPI_MULTI_LANE_MODE_STRIPE to the AXI SPI engine driver.
>>
>> The v2.0.0 version of the AXI SPI Engine IP core supports multiple
>> lanes. This can be used with SPI_MULTI_LANE_MODE_STRIPE to support
>> reading from simultaneous sampling ADCs that have a separate SDO line
>> for each analog channel. This allows reading all channels at the same
>> time to increase throughput.
>
> ...
>
>> +static u8 spi_engine_all_lane_flags(struct spi_device *spi)
>> +{
>> + u8 flags = 0;
>
>> + int i;
>
> Why signed?
Because it is conventional.
>
>> + for (i = 0; i < spi->num_data_lanes; i++)
>> + flags |= BIT(spi->data_lanes[i]);
>> +
>> + return flags;
>> +}
>
> ...
>
>> static void spi_engine_gen_xfer(struct spi_engine_program *p, bool dry,
>> - struct spi_transfer *xfer)
>> + struct spi_transfer *xfer, u32 num_lanes)
>
> Side note: this bool parameter makes code harder to follow. And now we have
> pointers and integers/booleans to be interleaved. Perhaps reconsider the order
> of the parameters (and ideally get rid of boolean by making two distinct
> functions?).
There would be significant code duplication if we split this
which would make it error prone.
Perhaps a bit unusual parameter ordering according to data type,
but they are grouped logically, so I think it is OK. `dry` affects
what is written to `p` and `num_lanes` supplements `xfer`.
>
> ...
>
>> version = readl(spi_engine->base + ADI_AXI_REG_VERSION);
>> - if (ADI_AXI_PCORE_VER_MAJOR(version) != 1) {
>> + if (ADI_AXI_PCORE_VER_MAJOR(version) > 2) {
>
> But this includes v0 as well!
I think it is OK. There was never a version 0 released, nor
is one expected.
>
>> }
>
next prev parent reply other threads:[~2025-12-10 0:02 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-02 2:20 [PATCH v3 0/7] spi: add multi-lane support David Lechner
2025-12-02 2:20 ` [PATCH v3 1/7] spi: dt-bindings: Add data-lanes property David Lechner
2025-12-04 21:29 ` Rob Herring (Arm)
2025-12-02 2:20 ` [PATCH v3 2/7] spi: Support controllers with multiple data lanes David Lechner
2025-12-02 14:44 ` Andy Shevchenko
2025-12-02 14:47 ` David Lechner
2025-12-02 2:20 ` [PATCH v3 3/7] spi: add multi_lane_mode field to struct spi_transfer David Lechner
2025-12-02 14:48 ` Andy Shevchenko
2025-12-02 2:20 ` [PATCH v3 4/7] spi: axi-spi-engine: support SPI_MULTI_LANE_MODE_STRIPE David Lechner
2025-12-02 14:53 ` Andy Shevchenko
2025-12-02 16:36 ` Mark Brown
2025-12-10 0:02 ` David Lechner [this message]
2025-12-10 10:59 ` Andy Shevchenko
2025-12-02 2:20 ` [PATCH v3 5/7] dt-bindings: iio: adc: adi,ad7380: add spi-lanes property David Lechner
2025-12-04 21:29 ` Rob Herring (Arm)
2025-12-02 2:20 ` [PATCH v3 6/7] iio: adc: ad7380: Add support for multiple SPI lanes David Lechner
2025-12-02 2:20 ` [PATCH v3 7/7] dt-bindings: iio: adc: adi,ad4030: add data-lanes property David Lechner
2025-12-04 21:33 ` Rob Herring
2025-12-05 21:12 ` Marcelo Schmitt
2025-12-05 21:33 ` David Lechner
2025-12-05 23:43 ` David Lechner
2025-12-06 0:47 ` Rob Herring
2025-12-08 16:14 ` David Lechner
2025-12-08 18:32 ` Rob Herring
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=2aca99a6-9541-4cd4-933e-815ceaabe365@baylibre.com \
--to=dlechner@baylibre.com \
--cc=andriy.shevchenko@intel.com \
--cc=andy@kernel.org \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=marcelo.schmitt@analog.com \
--cc=michael.hennerich@analog.com \
--cc=nuno.sa@analog.com \
--cc=robh@kernel.org \
--cc=sean.anderson@linux.dev \
/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