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,