From: Ali Rouhi <arouhi@sitime.com>
To: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Cc: Ali Rouhi <arouhi@sitime.com>,
"jiri@resnulli.us" <jiri@resnulli.us>,
"vadim.fedorenko@linux.dev" <vadim.fedorenko@linux.dev>,
"arkadiusz.kubalewski@intel.com" <arkadiusz.kubalewski@intel.com>,
"ivecera@redhat.com" <ivecera@redhat.com>,
"robh@kernel.org" <robh@kernel.org>,
"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
"cjubran@nvidia.com" <cjubran@nvidia.com>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"Oleg.Zadorozhnyi@devoxsoftware.com"
<Oleg.Zadorozhnyi@devoxsoftware.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH net-next v8 10/15] dpll: sit9531x: add support to adjust output phase
Date: Mon, 14 Sep 2026 23:00:38 +0000 [thread overview]
Message-ID: <20260914230034.63861-9-arouhi@sitime.com> (raw)
In-Reply-To: <178887152267.219967.2296326775875022935@kernel.org>
Replies inline.
> Could the commit message mention the NVM shadow write, the sibling-output
> phase restart, and the ~100 ms cost per call?
Yes -- the v9 changelog describes all three. The PLL-wide
divider restart is the chip's only phase-apply mechanism; a per-output flush
does not exist in this hardware.
> Should this bail out apply to every request? [zero cached freq rejects
> everything]
Fixed in v9: when the cache is empty the setter seeds the rate from
the divider chain (the same readback frequency_get uses), so boards whose DT
lists no output frequencies can still adjust phase; the request is only
rejected when the rate cannot be determined at all.
> Should the positive branch also reduce modulo the output period?
Yes -- fixed in v9: both branches reduce modulo the output period, so
a positive request larger than one period no longer programs millions of VCO
cycles of reset delay.
> nothing recomputes it when the frequency changes later.
Fixed in v9: a frequency change re-encodes the cached phase adjust
against the new period, so the programmed delay and the reported value stay
consistent across rate changes.
> Can a mid-sequence I2C failure commit a half-written delay word?
v9 saves the five delay bytes before the write
and restores them on a mid-sequence failure before the commit, the same shape
as the DIVO write in the frequency path.
> Does this match the commit message claim that "what the core reads back is
> what the registers hold rather than what was asked for"?
The getter reports the administrative request, which is the
convention the cache implements; the v9 changelog is reworded to say so.
Sub-step quantisation is bounded by the 30 ps fine step and the request is
preserved exactly in the cache, so the round trip is stable; reporting the
quantised register value instead would make a set followed by a get disagree
with what userspace asked, which the core's equality short-circuit then turns
into an un-clearable state.
> should struct dpll_pin_properties::phase_gran be populated too?
Yes -- fixed in v9: phase_gran is populated so
PHASE_ADJUST_MIN/MAX/GRAN are all reported as driver-api/dpll.rst prescribes.
It is set to 1 ps rather than the 30 ps fine step deliberately: requests are
accepted at picosecond resolution and encoded to the nearest achievable
coarse+fine delay, so the request granularity, not the hardware step, is what
the attribute must gate.
> Could both comments be reworded in terms of the slot [...]?
Fixed in v9 -- both blocks are stated in terms of the physical slot.
next prev parent reply other threads:[~2026-09-14 23:00 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-02 21:40 [PATCH net-next v8 00/15] dpll: add SiTime SiT9531x DPLL clock driver Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 01/15] dt-bindings: vendor-prefixes: add SiTime Corporation Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 03/15] dpll: add basic SiTime SiT9531x support Ali Rouhi
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 02/15] dt-bindings: dpll: add SiTime SiT95316 clock generator Ali Rouhi
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 04/15] dpll: sit9531x: read DPLL types and pin properties from system firmware Ali Rouhi
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 05/15] dpll: sit9531x: register DPLL devices and pins Ali Rouhi
2026-09-03 21:41 ` sashiko-bot
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 07/15] dpll: sit9531x: add support to get and set priority on input pins Ali Rouhi
2026-09-03 21:41 ` sashiko-bot
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 06/15] dpll: sit9531x: implement input pin state on a DPLL Ali Rouhi
2026-09-03 21:41 ` sashiko-bot
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 08/15] dpll: sit9531x: add support to get and set frequency on pins Ali Rouhi
2026-09-03 21:41 ` sashiko-bot
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 09/15] dpll: sit9531x: implement output pin state on a DPLL Ali Rouhi
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 10/15] dpll: sit9531x: add support to adjust output phase Ali Rouhi
2026-09-03 21:41 ` sashiko-bot
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi [this message]
2026-09-02 21:40 ` [PATCH net-next v8 11/15] dpll: sit9531x: add support to get and set esync on pins Ali Rouhi
2026-09-03 21:41 ` sashiko-bot
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 13/15] dpll: sit9531x: add support to get fractional frequency offset Ali Rouhi
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 12/15] dpll: sit9531x: add support to get phase offset on the connected input pin Ali Rouhi
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 14/15] dpll: sit9531x: model the inter-PLL sync net as a pair of pins Ali Rouhi
2026-09-03 21:41 ` sashiko-bot
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi
2026-09-02 21:40 ` [PATCH net-next v8 15/15] dpll: sit9531x: allow the device tree to override two board facts Ali Rouhi
2026-09-08 12:45 ` netdev-bot+sashiko
2026-09-14 23:00 ` Ali Rouhi
2026-09-08 12:57 ` [PATCH net-next v8 00/15] dpll: add SiTime SiT9531x DPLL clock driver Paolo Abeni
2026-09-14 23:00 ` Ali Rouhi
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=20260914230034.63861-9-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=linux-kernel@vger.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;
as well as URLs for NNTP newsgroup(s).