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.
next prev parent reply other threads:[~2026-10-09 18:23 UTC|newest]
Thread overview: 40+ 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 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 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 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 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 13/13] dpll: sit9531x: model the inter-PLL sync net as a pair of pins Ali Rouhi
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox