All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andy@kernel.org>
To: Jonathan Santos <Jonathan.Santos@analog.com>
Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
	nuno.sa@analog.com, Michael.Hennerich@analog.com,
	marcelo.schmitt@analog.com, jic23@kernel.org, robh@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org,
	marcelo.schmitt1@gmail.com, linus.walleij@linaro.org,
	brgl@bgdev.pl, lgirdwood@gmail.com, broonie@kernel.org,
	jonath4nns@gmail.com, dlechner@baylibre.com,
	Pop Paul <paul.pop@analog.com>
Subject: Re: [PATCH v8 10/11] iio: adc: ad7768-1: add filter type and oversampling ratio attributes
Date: Fri, 16 May 2025 12:34:36 +0300	[thread overview]
Message-ID: <aCcGrKEIdvnPRq-w@smile.fi.intel.com> (raw)
In-Reply-To: <1aff0f813bb3fee55c5483be860b6885abdb81e5.1747175187.git.Jonathan.Santos@analog.com>

On Thu, May 15, 2025 at 06:14:21PM -0300, Jonathan Santos wrote:
> Separate filter type and decimation rate from the sampling frequency
> attribute. The new filter type attribute enables sinc3, sinc3+rej60
> and wideband filters, which were previously unavailable.
> 
> Previously, combining decimation and MCLK divider in the sampling
> frequency obscured performance trade-offs. Lower MCLK divider
> settings increase power usage, while lower decimation rates reduce
> precision by decreasing averaging. By creating an oversampling
> attribute, which controls the decimation, users gain finer control
> over performance.
> 
> The addition of those attributes allows a wider range of sampling
> frequencies and more access to the device features. Sampling frequency
> table is updated after every digital filter parameter change.
> 
> Changes in the sampling frequency are not allowed anymore while in
> buffered mode.

...

> +	/*
> +	 * Maximum dec_rate is limited by the MCLK_DIV value and by the ODR.
> +	 * The edge case is for MCLK_DIV = 2, ODR = 50 SPS.
> +	 * max_dec_rate <= MCLK / (2 * 50)
> +	 */
> +	max_dec_rate = st->mclk_freq / 100;
> +	dec_rate = clamp(dec_rate, 32, max_dec_rate);
> +	/*
> +	 * Calculate the equivalent value to sinc3 decimation ratio
> +	 * to be written on the SINC3_DEC_RATE register:
> +	 *  Value = (DEC_RATE / 32) -1

- 1
(mind the space)

> +	 */
> +	dec_rate = DIV_ROUND_UP(dec_rate, 32) - 1;

...

>  {
>  	struct ad7768_state *st = iio_priv(indio_dev);
>  
> -	return st->dec_rate == 8 ? AD7768_SCAN_TYPE_HIGH_SPEED :
> +	return st->oversampling_ratio == 8 ? AD7768_SCAN_TYPE_HIGH_SPEED :
>  		AD7768_SCAN_TYPE_NORMAL;

With the proposed change in the previous patches this change will become
clearer to read, i.e. no-one needs to check if the actual value was changed.

>  }

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2025-05-16  9:34 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-15 21:11 [PATCH v8 00/11] iio: adc: ad7768-1: Add features, improvements, and fixes Jonathan Santos
2025-05-15 21:12 ` [PATCH v8 01/11] dt-bindings: trigger-source: add generic GPIO trigger source Jonathan Santos
2025-05-15 21:12 ` [PATCH v8 02/11] dt-bindings: iio: adc: ad7768-1: add trigger-sources property Jonathan Santos
2025-05-15 21:12 ` [PATCH v8 03/11] dt-bindings: iio: adc: ad7768-1: Document GPIO controller Jonathan Santos
2025-05-15 21:13 ` [PATCH v8 04/11] dt-bindings: iio: adc: ad7768-1: document regulator provider property Jonathan Santos
2025-05-15 21:13 ` [PATCH v8 05/11] iio: adc: ad7768-1: add regulator to control VCM output Jonathan Santos
2025-05-15 21:13 ` [PATCH v8 06/11] iio: adc: ad7768-1: Add GPIO controller support Jonathan Santos
2025-05-15 21:13 ` [PATCH v8 07/11] iio: adc: ad7768-1: add multiple scan types to support 16-bits mode Jonathan Santos
2025-05-16  9:24   ` Andy Shevchenko
2025-05-15 21:13 ` [PATCH v8 08/11] iio: adc: ad7768-1: add support for Synchronization over SPI Jonathan Santos
2025-05-15 22:46   ` David Lechner
2025-05-16  9:29   ` Andy Shevchenko
2025-05-18 16:58     ` Jonathan Cameron
2025-05-24  0:00       ` Jonathan Santos
2025-05-25  9:41         ` Jonathan Cameron
2025-05-15 21:14 ` [PATCH v8 09/11] iio: adc: ad7768-1: replace manual attribute declaration Jonathan Santos
2025-05-15 21:14 ` [PATCH v8 10/11] iio: adc: ad7768-1: add filter type and oversampling ratio attributes Jonathan Santos
2025-05-16  9:34   ` Andy Shevchenko [this message]
2025-05-18 17:03   ` Jonathan Cameron
2025-05-19 17:13   ` Jonathan Santos
2025-05-19 20:15     ` David Lechner
2025-05-19 22:31       ` Jonathan Santos
2025-05-25  9:44         ` Jonathan Cameron
2025-05-15 21:14 ` [PATCH v8 11/11] iio: adc: ad7768-1: add low pass -3dB cutoff attribute Jonathan Santos
2025-05-16  9:38   ` Andy Shevchenko

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=aCcGrKEIdvnPRq-w@smile.fi.intel.com \
    --to=andy@kernel.org \
    --cc=Jonathan.Santos@analog.com \
    --cc=Michael.Hennerich@analog.com \
    --cc=brgl@bgdev.pl \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dlechner@baylibre.com \
    --cc=jic23@kernel.org \
    --cc=jonath4nns@gmail.com \
    --cc=krzk+dt@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo.schmitt1@gmail.com \
    --cc=marcelo.schmitt@analog.com \
    --cc=nuno.sa@analog.com \
    --cc=paul.pop@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.