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 09/13] dpll: sit9531x: add support to get and set frequency on pins
Date: Fri, 9 Oct 2026 18:23:28 +0000	[thread overview]
Message-ID: <20261009182323.76166-7-arouhi@sitime.com> (raw)
In-Reply-To: <179116260535.434549.287018391203993508@kernel.org>

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

Replies inline, in the order of the summary list.

> [Severity: Medium]
> What does this report for an input that has no firmware node, or a node
> without supported-frequencies-hz?
>
> [...]
>
> For those pins ref->freq stays 0. Every pin-get, dump and notification
> now reports a frequency of 0 Hz with no supported-frequency entries.
> Before this patch the attribute was simply absent.

Fixed: an input the firmware gives no rate for has no frequency attribute
at all, through an ops table without the getter, rather than reporting
0 Hz. The core abandons the whole pin dump on an error from one pin,
which is why it is left out rather than failed.

> [Severity: Medium]
> With the new input frequency_get, userspace now sees this first entry as
> the current input rate. Does the binding give the first entry that
> meaning?
>
> [...]
>
> Inputs have no frequency_set, so userspace cannot correct the reported
> value.

An input has no divider the driver could read, so firmware is the only
source of its rate, and the first entry is that rate. The binding now
says so; see the reply on 05/13.

> [Severity: Medium]
> Elsewhere in this patch, in sit9531x_prg_enter() and in the
> sit9531x_output_divo_write() rollback, a write that reports an error is
> assumed to have possibly reached the part. Do the error paths here need
> the same handling?

Fixed, all three: a failed source select restores the original source, a
sibling is marked parked before it is cleared so a failure cannot leave
it unparked, and a failed arm disarms rather than unparks.

> [Severity: Medium]
> Should this path also wait out the settling time after the loop lock?
>
> [...]
>
> The abort path also never issues SIT9531X_UPDATE_NVM. Is LOOP_LOCK on its
> own a valid way to leave PRG_CMD on this part?

It is not. Fixed: a failed entry into the programming state is now left
the way a commit leaves it -- NVM update, the loop-lock retries, the
settling time and the debug lock -- instead of a bare loop lock, so the
exit sequence is one sequence, and it is the documented one for this
part. prg_abort() is gone.

> [Severity: Medium]
> Can this make frequency_set report success for a rate the output is not
> running at?
>
> [...]
>
> Using the out-of-band estimate also reports the result as exact, which is
> the outcome the comment rejects for the band edge. Would it be safer to
> refuse the set in this case?
>
> Also, dev_warn_once() fires once per call site, not once per device or
> PLL. After the first warning, other devices and PLLs are silent.

Fixed, in two parts. A derived rate below the low band is not a rate at
all -- a feedback divider below one cycle is unprogrammed -- and
sit9531x_get_fvco() reports no data for it, which also closes the 64-bit
divide the TDC and the phase code performed on it. A frequency set
against a rate outside the PLL's band is refused with -EINVAL rather than
programmed, since a divider computed from a rate the output is not at
would be reported as success. The warning is per PLL rather than once per
driver.

> [Severity: Low]
> This isn't a bug, but is this comment accurate? The priority table's
> latch is sit9531x_prio_prg_commit(), which writes once and does not
> retry:
>
> [...]
>
> The only retry in sit9531x_prio_table_commit() is the loop that releases
> the forced holdover, bounded by SIT9531X_HO_CLEAR_TRIES.

Right, it named the wrong retry: the priority commit writes its latch
once, what it retries is releasing the forced holdover. Reworded.

  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 02/13] dt-bindings: vendor-prefixes: add SiTime Corporation Ali Rouhi
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 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 [this message]
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
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-7-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.