All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ali Rouhi <arouhi@sitime.com>
To: "netdev-bot+sashiko@kernel.org" <netdev-bot+sashiko@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>,
	Vadim Fedorenko <vadim.fedorenko@linux.dev>,
	Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>,
	Ivan Vecera <ivecera@redhat.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Carolina Jubran <cjubran@nvidia.com>,
	Oleg Zadorozhnyi <Oleg.Zadorozhnyi@devoxsoftware.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH net-next v11 12/13] dpll: sit9531x: add support to get phase offset on the connected input pin
Date: Fri, 9 Oct 2026 18:23:29 +0000	[thread overview]
Message-ID: <20261009182323.76166-10-arouhi@sitime.com> (raw)
In-Reply-To: <179116260823.434549.634351809975661119@kernel.org>

On Mon, 5 Oct 2026, netdev-bot+sashiko@kernel.org wrote:

Replies inline, in the order of the summary list. Four are fixed; the
third is fixed in its loss-of-signal half and answered in its lock half.

> [Severity: Medium]
> What limits the size of the quotient here?
>
> [...]
>
> Should the TDC conversion get a similar bound, for example by rejecting
> an fvco outside the VCO band? Later patches in the series don't appear to
> change this code.

Fixed by the VCO floor described on 09/13: sit9531x_get_fvco() reports no
data below the low band, so the conversion never runs on a rate small
enough to overflow the divide.

> [Severity: Medium]
> Should this loop check sitdev->out[i].state_stale?
>
> [...]
>
> Could stale outputs be refreshed here too, the way the output pin getter
> does it?

Fixed: an output whose cached state is marked stale is read back from the
device before it counts as driving, and a failed read fails the request
with the same message the output getter uses.

> [Severity: Medium]
> Do these two live reads catch the case they are meant to catch?
>
> [...]
>
> The callback comment says the live read exists because "a cache up to a
> poll period old could attribute a live measurement to the pin that used
> to be selected". Should lock, holdover and LOS for this pin also be read
> live around the sample? Later patches in the series don't appear to
> change this code.

The selection is re-read live because it is the one thing that moves the
measurement to another pin. Lock and holdover do not: a sample taken
after an unlock is still the phase between this pin and the DPLL, which
is the quantity the attribute defines, and a value during holdover is the
drift against the reference the pin carries.

The loss-of-signal case is different and the point holds: a lane that
lost its clock after the last poll makes the device fall back on its own,
and the sample would be credited to a pin the PLL is no longer on. The
lane monitors are now read live before the pin is judged active, so that
check is live as well.

> [Severity: Low]
> The commit message says:
>
> [...]
>
> Could the commit message also say that the connected pin reads 0 when no
> sample was taken? That way a 0 on that pin isn't taken as a measured
> value.

Fixed in the commit message: the selected pin reads zero too when no
sample was taken -- the PLL is not tracking, drives no un-muted output,
has no usable VCO rate, or its selection or the lane's signal moved
between the check and the sample.

> [Severity: Low]
> Is the reason given in this comment accurate? One TDC code is
> 1e12 / fvco ps, which is usually not a whole number. A 4.9152 GHz VCO
> gives about 203.45 ps per code, and a fractional-DIVN Fvco is usually
> not a round value either.
>
> [...]
>
> Documentation/driver-api/dpll.rst defines a 3-digit fractional part for
> this value. Could the conversion compute |tdc| * 1e15 / fvco, with an
> overflow bound, so the fraction is kept? If not, could the comment be
> corrected?

Fixed: the conversion keeps the fraction of a picosecond the converter
resolves, and the multiply by the attribute's divider that followed the
truncation is gone.

  reply	other threads:[~2026-10-09 18:23 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-30 23:37 [PATCH net-next v11 00/13] dpll: add SiTime SiT9531x DPLL clock driver Ali Rouhi
2026-09-30 23:37 ` [PATCH net-next v11 01/13] dt-bindings: dpll: allow hex unit addresses on output pins Ali Rouhi
2026-10-02  8:32   ` Krzysztof Kozlowski
2026-09-30 23:37 ` [PATCH net-next v11 03/13] dt-bindings: dpll: add SiTime SiT95316 clock generator Ali Rouhi
2026-10-05  1:09   ` netdev-bot+sashiko
2026-10-09 18:23     ` Ali Rouhi
2026-10-06  3:22   ` Rob Herring (Arm)
2026-10-09 18:23     ` Ali Rouhi
2026-09-30 23:37 ` [PATCH net-next v11 02/13] dt-bindings: vendor-prefixes: add SiTime Corporation Ali Rouhi
2026-09-30 23:37 ` [PATCH net-next v11 05/13] dpll: sit9531x: read DPLL types and pin properties from system firmware Ali Rouhi
2026-10-05  1:09   ` netdev-bot+sashiko
2026-10-09 18:23     ` Ali Rouhi
2026-09-30 23:37 ` [PATCH net-next v11 04/13] dpll: add basic SiTime SiT9531x support Ali Rouhi
2026-10-05  1:09   ` netdev-bot+sashiko
2026-10-09 18:23     ` Ali Rouhi
2026-09-30 23:37 ` [PATCH net-next v11 06/13] dpll: sit9531x: register DPLL devices and pins Ali Rouhi
2026-10-05  1:09   ` netdev-bot+sashiko
2026-10-09 18:23     ` Ali Rouhi
2026-09-30 23:37 ` [PATCH net-next v11 07/13] dpll: sit9531x: implement input pin state on a DPLL Ali Rouhi
2026-10-05  1:10   ` netdev-bot+sashiko
2026-10-09 18:23     ` Ali Rouhi
2026-09-30 23:37 ` [PATCH net-next v11 08/13] dpll: sit9531x: add support to get and set priority on input pins Ali Rouhi
2026-10-05  1:10   ` netdev-bot+sashiko
2026-10-09 18:23     ` Ali Rouhi
2026-09-30 23:37 ` [PATCH net-next v11 09/13] dpll: sit9531x: add support to get and set frequency on pins Ali Rouhi
2026-10-05  1:10   ` netdev-bot+sashiko
2026-10-09 18:23     ` Ali Rouhi
2026-09-30 23:37 ` [PATCH net-next v11 10/13] dpll: sit9531x: implement output pin state on a DPLL Ali Rouhi
2026-10-05  1:10   ` netdev-bot+sashiko
2026-10-09 18:23     ` Ali Rouhi
2026-09-30 23:37 ` [PATCH net-next v11 12/13] dpll: sit9531x: add support to get phase offset on the connected input pin Ali Rouhi
2026-10-05  1:10   ` netdev-bot+sashiko
2026-10-09 18:23     ` Ali Rouhi [this message]
2026-09-30 23:37 ` [PATCH net-next v11 11/13] dpll: sit9531x: add support to adjust output phase Ali Rouhi
2026-10-05  1:10   ` netdev-bot+sashiko
2026-10-09 18:23     ` Ali Rouhi
2026-09-30 23:37 ` [PATCH net-next v11 13/13] dpll: sit9531x: model the inter-PLL sync net as a pair of pins Ali Rouhi
2026-10-02  9:14   ` sashiko-bot
2026-10-05  1:10   ` netdev-bot+sashiko
2026-10-09 18:23     ` Ali Rouhi
2026-10-07  2:10 ` [PATCH net-next v11 00/13] dpll: add SiTime SiT9531x DPLL clock driver patchwork-bot+netdevbpf

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=20261009182323.76166-10-arouhi@sitime.com \
    --to=arouhi@sitime.com \
    --cc=Oleg.Zadorozhnyi@devoxsoftware.com \
    --cc=arkadiusz.kubalewski@intel.com \
    --cc=cjubran@nvidia.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=ivecera@redhat.com \
    --cc=jiri@resnulli.us \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev-bot+sashiko@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=robh@kernel.org \
    --cc=vadim.fedorenko@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 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.