From: sashiko-bot@kernel.org
To: "Praveen Talari" <praveen.talari@oss.qualcomm.com>
Cc: linux-serial@vger.kernel.org
Subject: Re: [PATCH v2 6/9] spi: qcom-geni: Use geni_se_set_rate() for setting source clock frequency
Date: Thu, 27 Aug 2026 18:12:00 +0000 [thread overview]
Message-ID: <20260827181200.EFD471F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260827-derive_clk_perf_tbl_from_perf_domain_opp_table-v2-6-091697dbeb02@oss.qualcomm.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] spi_geni_runtime_suspend() returns the error code from geni_se_set_rate() after already disabling hardware clocks, leaving the device powered off but marked as RPM_ACTIVE.
--
commit dac5e1011a1f48eebd4fa7951d45a6efb1aeeb9a
Author: Praveen Talari <praveen.talari@oss.qualcomm.com>
spi: qcom-geni: Use geni_se_set_rate() for setting source clock frequency
This commit switches the spi-geni-qcom driver to use geni_se_set_rate()
instead of dev_pm_opp_set_rate() for source clock programming, allowing
firmware-managed platforms to utilize geni_se_clk_freq_match().
> diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c
> --- a/drivers/spi/spi-geni-qcom.c
> +++ b/drivers/spi/spi-geni-qcom.c
[ ... ]
> @@ -1161,9 +1159,14 @@ static int __maybe_unused spi_geni_runtime_suspend(struct device *dev)
> {
> struct spi_controller *spi = dev_get_drvdata(dev);
> struct spi_geni_master *mas = spi_controller_get_devdata(spi);
> + int ret;
> +
> + ret = mas->dev_data->power_off ?
> + mas->dev_data->power_off(&mas->se) : 0;
> + if (ret)
> + return ret;
>
> - return mas->dev_data->power_off ?
> - mas->dev_data->power_off(&mas->se) : 0;
> + return geni_se_set_rate(&mas->se, 0);
[Severity: High]
If geni_se_set_rate() fails and returns an error code here, won't the PM
core abort the suspend transition and leave the software state as RPM_ACTIVE?
Since mas->dev_data->power_off() was already called just above, the physical
hardware (clocks, interconnects) is disabled.
When the next transfer is queued, pm_runtime_get_sync() would see the device
as RPM_ACTIVE and skip runtime_resume(), leading to accesses of unclocked
hardware registers. Could this cause a synchronous external abort when the
registers are accessed?
> }
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260827-derive_clk_perf_tbl_from_perf_domain_opp_table-v2-0-091697dbeb02@oss.qualcomm.com?part=6
next prev parent reply other threads:[~2026-08-27 18:12 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-27 17:59 [PATCH v2 0/9] soc: qcom: geni: Derive SE clock configuration from OPP table on SA8255P Praveen Talari
2026-08-27 17:59 ` [PATCH v2 1/9] pmdomain: arm: Fix -EINVAL from scmi_pd_set_perf_state() on state 0 Praveen Talari
2026-08-27 18:16 ` sashiko-bot
2026-09-01 14:31 ` Ulf Hansson
2026-08-27 17:59 ` [PATCH v2 2/9] soc: qcom: geni-se: Populate clk_perf_tbl with SE source clock frequencies from perf OPP table Praveen Talari
2026-08-27 18:16 ` sashiko-bot
2026-10-07 7:24 ` Mukesh Savaliya
2026-08-27 17:59 ` [PATCH v2 3/9] soc: qcom: geni-se: Add helper to set SE clock rate via OPP Praveen Talari
2026-08-27 18:14 ` sashiko-bot
2026-09-04 9:01 ` Konrad Dybcio
2026-08-27 17:59 ` [PATCH v2 4/9] soc: qcom: geni-se: Remove OPP rate reset from resource deactivation Praveen Talari
2026-08-27 18:14 ` sashiko-bot
2026-09-04 8:49 ` Konrad Dybcio
2026-09-11 17:13 ` Praveen Talari
2026-10-07 8:51 ` Mukesh Savaliya
2026-08-27 17:59 ` [PATCH v2 5/9] serial: qcom-geni: Use geni_se_set_rate() for source clock configuration Praveen Talari
2026-08-27 18:12 ` sashiko-bot
2026-10-08 7:35 ` Mukesh Savaliya
2026-08-27 17:59 ` [PATCH v2 6/9] spi: qcom-geni: Use geni_se_set_rate() for setting source clock frequency Praveen Talari
2026-08-27 18:12 ` sashiko-bot [this message]
2026-10-08 19:45 ` Mukesh Savaliya
2026-08-27 17:59 ` [PATCH v2 7/9] i2c: qcom-geni: Vote for SE clock rate using OPP Praveen Talari
2026-08-27 18:11 ` sashiko-bot
2026-09-04 8:52 ` Konrad Dybcio
2026-09-11 17:42 ` Praveen Talari
2026-08-27 17:59 ` [PATCH v2 8/9] i2c: qcom-geni: Use common GENI resource initialization helper Praveen Talari
2026-08-27 18:16 ` sashiko-bot
2026-08-27 17:59 ` [PATCH v2 9/9] i2c: qcom-geni: Use geni_se_set_rate() for setting source clock frequency Praveen Talari
2026-08-27 18:25 ` sashiko-bot
2026-09-01 14:52 ` [PATCH v2 0/9] soc: qcom: geni: Derive SE clock configuration from OPP table on SA8255P Ulf Hansson
2026-09-01 16:48 ` Praveen Talari
2026-09-04 7:56 ` Ulf Hansson
2026-09-04 9:00 ` Konrad Dybcio
2026-09-11 17:33 ` Praveen Talari
2026-09-22 13:06 ` Konrad Dybcio
2026-09-28 8:59 ` Praveen Talari
2026-09-09 6:32 ` Praveen Talari
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=20260827181200.EFD471F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=praveen.talari@oss.qualcomm.com \
--cc=sashiko-reviews@lists.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.