From: Brian Masney <bmasney@redhat.com>
To: joakim.zhang@cixtech.com
Cc: mturquette@baylibre.com, sboyd@kernel.org, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org, p.zabel@pengutronix.de,
cix-kernel-upstream@cixtech.com, linux-clk@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v11 2/4] clk: cix: add sky1 audss clock controller
Date: Thu, 23 Jul 2026 12:42:54 -0400 [thread overview]
Message-ID: <amJEjofx348vF4Vd@redhat.com> (raw)
In-Reply-To: <20260723090808.1727598-3-joakim.zhang@cixtech.com>
Hi Joakim,
There's one question from Sashiko that I don't see where you answered
that seems to be legit.
On Thu, Jul 23, 2026 at 05:08:06PM +0800, joakim.zhang@cixtech.com wrote:
> From: Joakim Zhang <joakim.zhang@cixtech.com>
>
> Add a platform driver for the Cix Sky1 AUDSS CRU. The driver maps
> the CRU registers and registers mux, divider and gate clocks for
> DSP, SRAM, HDA, DMAC, I2S, mailbox, watchdog and timer blocks.
>
> Four SoC-level audio reference clocks are enabled as inputs to the
> internal clock tree. The driver releases the AUDSS NOC reset, enables
> runtime PM and instantiates the auxiliary reset device.
>
> Signed-off-by: Joakim Zhang <joakim.zhang@cixtech.com>
[snip]
> +static int __maybe_unused sky1_audss_clk_runtime_resume(struct device *dev)
> +{
> + struct sky1_audss_clks_priv *priv = dev_get_drvdata(dev);
> + const struct sky1_audss_clks_devtype_data *devtype_data = priv->devtype_data;
> + unsigned long flags;
> + int i, ret;
> +
> + ret = sky1_audss_clks_enable(priv);
From Sashiko:
[Severity: High]
Could this result in a deadlock? When a consumer calls clk_prepare on an
audss clock, CCF acquires the global prepare_lock mutex and may call
pm_runtime_resume_and_get. This triggers sky1_audss_clk_runtime_resume,
which calls sky1_audss_clks_enable. Since sky1_audss_clks_enable executes
clk_prepare_enable, it will attempt to acquire the non-recursive prepare_lock
again.
I found drivers/clk/samsung/clk-exynos-audss.c that is similar to your driver and
it calls clk_prepare_enable() in probe.
I'm not concerned about the other feedback from Sashiko.
Brian
next prev parent reply other threads:[~2026-07-23 16:42 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-23 9:08 [PATCH v11 0/4] Add Cix Sky1 AUDSS clock and reset support joakim.zhang
2026-07-23 9:08 ` [PATCH v11 1/4] dt-bindings: soc: cix: add sky1 audss cru controller joakim.zhang
2026-07-23 9:08 ` [PATCH v11 2/4] clk: cix: add sky1 audss clock controller joakim.zhang
2026-07-23 9:22 ` sashiko-bot
2026-07-23 16:42 ` Brian Masney [this message]
2026-07-23 9:08 ` [PATCH v11 3/4] reset: cix: add sky1 audss auxiliary reset driver joakim.zhang
2026-07-23 9:26 ` Philipp Zabel
2026-07-23 9:08 ` [PATCH v11 4/4] arm64: dts: cix: sky1: add audss cru joakim.zhang
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=amJEjofx348vF4Vd@redhat.com \
--to=bmasney@redhat.com \
--cc=cix-kernel-upstream@cixtech.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=joakim.zhang@cixtech.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
/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.