All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Rodrigo Alencar <455.rodrigo.alencar@gmail.com>
Cc: rodrigo.alencar@analog.com, linux-kernel@vger.kernel.org,
	linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-doc@vger.kernel.org, Jonathan Cameron <jic23@kernel.org>,
	David Lechner <dlechner@baylibre.com>,
	Andy Shevchenko <andy@kernel.org>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Michael Hennerich <Michael.Hennerich@analog.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Jonathan Corbet <corbet@lwn.net>
Subject: Re: [PATCH v3 4/6] iio: frequency: adf41513: features on frequency change
Date: Mon, 12 Jan 2026 12:54:50 +0200	[thread overview]
Message-ID: <aWTS-npPY6yPARZH@smile.fi.intel.com> (raw)
In-Reply-To: <ptyn5x7qkmbakkompmijo6xeego2xrhjoeyomkgrytwgwcsaid@heiq3ilnx5ky>

On Mon, Jan 12, 2026 at 09:45:49AM +0000, Rodrigo Alencar wrote:
> On 26/01/09 09:07PM, Andy Shevchenko wrote:
> > On Thu, Jan 08, 2026 at 12:14:53PM +0000, Rodrigo Alencar via B4 Relay wrote:

First of all, remove the things you are agree with.

...

A side note: based on this discussion one may want to add a clarification
on how to use the unit-based multipliers to the documentation (top comment
on units.h also will work).

...

> > > +	bleed_value = div64_u64(st->settings.pfd_frequency_uhz * bleed_value,
> > > +				1600ULL * HZ_PER_MHZ * MICROHZ_PER_HZ);

You multiply Hz * Hz. One of them should be simply SI multiplier.
To me it sounds like one of

				1600ULL * MEGA * MICROHZ_PER_HZ);
				1600ULL * HZ_PER_MHZ * MICRO);

will be the correct one (and I lean towards the first one as you want units
to match).

The same is done in the definitions above somewhere.

> > > +	u16 ld_window_p1ns = div64_u64(10ULL * NANO * MICROHZ_PER_HZ,
> > > +				       st->settings.pfd_frequency_uhz << 1);
> > 
> > These multiplications (here and elsewhere) are (very) confusing.
> > 
> > I believe you want to have a frequency in Hz in µHz resolution. The second one
> > can be close to this if used GIGA instead of NANO. But I think the better way
> > to have something like the first one but with MICRO instead of MICROHZ_PER_HZ.
> > 
> > Please, put an order in these.
> 
> The first one: the numerator is in µHz, so the denominator is also in µHz so to
> cancel the units.
> 
> The second one: window size is nanoseconds with 0.1 precision in the datasheet.
> The numerator contains  MICROHZ_PER_HZ to convert µHz -> Hz = 1/s, and then
> 10ULL * NANO to convert 1/s into 0.1 ns.
> 
> How is that confusing? I am not sure GIGA is the right choice, as NANO shows
> that I am targeting nanoseconds, no? 

So, You wanted then one of

	u16 ld_window_p1ns = div64_u64(10ULL * NSEC_PER_SEC * MICROHZ_PER_HZ,
	u16 ld_window_p1ns = div64_u64(10ULL * NANO * MICRO,

(and I lean towards the first one as it may hint about the scale and resulting
 units).

Also make units in the name to be delimited with _.

	u16 ld_window_p1_ns = ...

...

> > > +	/* assuming both clock dividers hold similar values */
> > > +	total_div = mul_u64_u64_div_u64(st->settings.pfd_frequency_uhz,
> > > +					st->data.phase_resync_period_ns,
> > > +					1ULL * MICRO * NANO);
> > 
> > This sounds good as we multiply Hz by ns.
> 
> the numerator has a time in nanoseconds, so NANO 'cancels' that, as MICRO 'cancels'
> the micro under µHz.

Exactly, that's why I replied it sounds good.

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2026-01-12 10:54 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-08 12:14 [PATCH v3 0/6] ADF41513/ADF41510 PLL frequency synthesizers Rodrigo Alencar
2026-01-08 12:14 ` Rodrigo Alencar via B4 Relay
2026-01-08 12:14 ` [PATCH v3 1/6] dt-bindings: iio: frequency: add adf41513 Rodrigo Alencar
2026-01-08 12:14   ` Rodrigo Alencar via B4 Relay
2026-01-09  8:13   ` Krzysztof Kozlowski
2026-01-12 10:04     ` Rodrigo Alencar
2026-01-12 16:32       ` Krzysztof Kozlowski
2026-01-08 12:14 ` [PATCH v3 2/6] iio: frequency: adf41513: driver implementation Rodrigo Alencar
2026-01-08 12:14   ` Rodrigo Alencar via B4 Relay
2026-01-09 18:55   ` Andy Shevchenko
2026-01-12  9:56     ` Rodrigo Alencar
2026-01-12 10:57       ` Andy Shevchenko
2026-01-13  9:32         ` Rodrigo Alencar
2026-01-16 11:31           ` Rodrigo Alencar
2026-01-16 13:50             ` Andy Shevchenko
2026-01-16 13:53               ` Andy Shevchenko
2026-01-11 13:53   ` Jonathan Cameron
2026-01-08 12:14 ` [PATCH v3 3/6] iio: frequency: adf41513: handle LE synchronization feature Rodrigo Alencar
2026-01-08 12:14   ` Rodrigo Alencar via B4 Relay
2026-01-11 13:58   ` Jonathan Cameron
2026-01-08 12:14 ` [PATCH v3 4/6] iio: frequency: adf41513: features on frequency change Rodrigo Alencar
2026-01-08 12:14   ` Rodrigo Alencar via B4 Relay
2026-01-09 19:07   ` Andy Shevchenko
2026-01-12  9:45     ` Rodrigo Alencar
2026-01-12 10:54       ` Andy Shevchenko [this message]
2026-01-16 17:57         ` Jonathan Cameron
2026-01-19  7:38           ` Andy Shevchenko
2026-01-19 10:41             ` Jonathan Cameron
2026-01-19 13:18               ` Andy Shevchenko
2026-01-08 12:14 ` [PATCH v3 5/6] docs: iio: add documentation for adf41513 driver Rodrigo Alencar
2026-01-08 12:14   ` Rodrigo Alencar via B4 Relay
2026-01-08 12:14 ` [PATCH v3 6/6] Documentation: ABI: testing: add common ABI file for iio/frequency Rodrigo Alencar
2026-01-08 12:14   ` Rodrigo Alencar via B4 Relay
2026-01-11 14:01   ` Jonathan Cameron

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=aWTS-npPY6yPARZH@smile.fi.intel.com \
    --to=andriy.shevchenko@intel.com \
    --cc=455.rodrigo.alencar@gmail.com \
    --cc=Michael.Hennerich@analog.com \
    --cc=andy@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dlechner@baylibre.com \
    --cc=jic23@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=rodrigo.alencar@analog.com \
    /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.