Re: [PATCH v3 00/12] iio: adc: ad7173: add SPI offload support

From: Nuno Sá
Date: Wed Jul 02 2025 - 03:58:08 EST


On Tue, 2025-07-01 at 16:37 -0500, David Lechner wrote:
> Here comes another series for adding SPI offload support to an ADC.
>
> The primary target is AD411x, but since this uses the ad_sigma_delta
> shared module, a lot of this series is focused on that.
>
> To start with, we have some cleanups to the ad_sigma_delta code, so feel
> free to pick these up as they are ready as they generally stand on their
> own.
>
> Then before adding proper SPI offload support, we make use of
> spi_optimize_message() to reduce CPU usage of all users of this driver
> during buffered reads.
>
> Also there is a new dt-binding and driver for a special SPI offload
> trigger FPGA IP core that is used in this particular setup.
>
> Then finally actual SPI offload support is added to the ad_sigma_delta
> module and the ad7173 driver.
>
> This was tested using EVAL-AD4112ARDZ on a DE10-Nano.
>
> ---
> Changes in v3:
> - Added extra patch to replace 8 with sizeof(s64) in ALIGN() [4/12]
> - Fixed typo in commit message. [6/12]
> - Fixed includes in spi offload trigger driver. [10/12]
> - Link to v2:
> https://lore.kernel.org/r/20250627-iio-adc-ad7173-add-spi-offload-support-v2-0-f49c55599113@xxxxxxxxxxxx
>
> Changes in v2:
> - New patch to fix overallocation of buffer size. [1/11]
> - Also change int64_t to s64. [3/11]
> - Fix typo in commit message. [4/11]
> - Factor out scan_type to reduce line wraps. [4/11]
> - New patch to clean up include more. [5/11]
> - Duplicate comment about odd case of 24-bit data. [7/11]
> - Fixed missing MODULE_IMPORT_NS() [10/11]
> - Link to v1:
> https://lore.kernel.org/r/20250620-iio-adc-ad7173-add-spi-offload-support-v1-0-0766f6297430@xxxxxxxxxxxx
>
> ---

Hi David,

Great series. Small nit on the new trigger patch but not really important:

Reviewed-by: Nuno Sá <nuno.sa@xxxxxxxxxx>

> David Lechner (12):
>       iio: adc: ad_sigma_delta: don't overallocate scan buffer
>       iio: adc: ad_sigma_delta: sort includes
>       iio: adc: ad_sigma_delta: use u8 instead of uint8_t
>       iio: adc: ad_sigma_delta: use sizeof() in ALIGN()
>       iio: adc: ad_sigma_delta: use BITS_TO_BYTES() macro
>       iio: adc: ad_sigma_delta: audit included headers
>       iio: adc: ad_sigma_delta: refactor setting read address
>       iio: adc: ad_sigma_delta: use spi_optimize_message()
>       dt-bindings: trigger-source: add ADI Util Sigma-Delta SPI
>       spi: offload trigger: add ADI Util Sigma-Delta SPI driver
>       iio: adc: ad_sigma_delta: add SPI offload support
>       iio: adc: ad7173: add SPI offload support
>
>  .../trigger-source/adi,util-sigma-delta-spi.yaml   |  49 ++++
>  MAINTAINERS                                        |   7 +-
>  drivers/iio/adc/ad7173.c                           |  13 +
>  drivers/iio/adc/ad_sigma_delta.c                   | 295 +++++++++++++-------
> -
>  drivers/spi/Kconfig                                |   5 +
>  drivers/spi/Makefile                               |   1 +
>  .../spi/spi-offload-trigger-adi-util-sigma-delta.c |  62 +++++
>  include/linux/iio/adc/ad_sigma_delta.h             |  27 +-
>  8 files changed, 345 insertions(+), 114 deletions(-)
> ---
> base-commit: d02f330b0c78bcf76643fbb7d3215a58b181f829
> change-id: 20250620-iio-adc-ad7173-add-spi-offload-support-32a178b666a3
>
> Best regards,