The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Brian Masney <bmasney@redhat.com>
To: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Cc: Bjorn Andersson <andersson@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
	linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc
Date: Mon, 29 Jun 2026 07:07:44 -0400	[thread overview]
Message-ID: <akJSAHEJXZkLp_0H@redhat.com> (raw)
In-Reply-To: <c7dca61e-ac37-4d3e-ae4b-c81cca424e0b@linaro.org>

Hi Vladimir,

On Fri, Jun 26, 2026 at 07:59:53PM +0300, Vladimir Zapolskiy wrote:
> On 6/26/26 19:26, Brian Masney wrote:
> > With the introduction of sync_state support in the clk and pmdomain
> > subsystems, the following warning happens when the unused clocks are
> > shutdown in camcc-sc8280xp:
> > 
> >      [   15.408367] titan_top_gdsc status stuck at 'on'
> >      [   15.408429] WARNING: drivers/clk/qcom/gdsc.c:178 at gdsc_toggle_logic+0x14c/0x160, CPU#2: kworker/u32:1/14
> >      [   15.408462] Modules linked in: bnep vfat fat ath11k_pci(+) ath11k mac80211 cfg80211 mhi libarc4 snd_soc_wcd938x snd_soc_wcd938x_sdw snd_soc_wcd_classh hci_uart snd_soc_wcd_common
> >      snd_soc_sc8280xp soundwire_qcom snd_soc_wcd_mbhc snd_soc_qcom_sdw slimbus snd_soc_qcom_common regmap_sdw btqca btrtl qcom_camss soundwire_bus btbcm btintel snd_soc_sdca snd_soc_lpass_wsa_macro
> >      bluetooth snd_soc_lpass_tx_macro snd_soc_lpass_va_macro snd_soc_lpass_rx_macro snd_soc_hdmi_codec snd_soc_lpass_macro_common videobuf2_dma_sg ov5675 v4l2_fwnode videobuf2_memops
> >      qcom_spmi_adc5 snd_soc_core qcom_spmi_adc_tm5 videobuf2_v4l2 snd_seq snd_seq_device videobuf2_common v4l2_async qcom_vadc_common qcom_spmi_temp_alarm pm8941_pwrkey industrialio videodev
> >      snd_compress rfkill ac97_bus snd_pcm_dmaengine qcom_tsens mc qcom_edac snd_pcm pci_pwrctrl_pwrseq qcom_cpufreq_hw snd_timer snd qcomtee soundcore tee leds_gpio joydev binfmt_misc zram
> >      lz4hc_compress governor_simpleondemand panel_edp msm xhci_plat_hcd nvme nvme_core dwc3 qcom_pm8008_regulator
> >      [   15.408688]  ucsi_glink nvme_keyring nvme_auth pmic_glink_altmode udc_core typec_ucsi aux_hpd_bridge qcom_battmgr ulpi ubwc_config socinfo ocmem drm_gpuvm qcom_q6v5_pas drm_exec
> >      qcom_pil_info leds_qcom_lpg gpu_sched led_class_multicolor rtc_pm8xxx qcom_pbs qcom_common drm_display_helper qcom_pon qcom_glink_smem qcom_glink ghash_ce pwrseq_qcom_wcn gpio_sbu_mux
> >      qcom_stats phy_qcom_qmp_combo qcom_q6v5 gf128mul cec dispcc_sc8280xp phy_qcom_edp camcc_sc8280xp i2c_qcom_cci qcom_sysmon drm_dp_aux_bus mdt_loader aux_bridge qcom_pm8008 i2c_hid_of_elan
> >      dwc3_qcom_legacy llcc_qcom icc_bwmon gpi typec qcom_refgen_regulator phy_qcom_qmp_usb nvmem_qfprom qcom_ipcc phy_qcom_snps_femto_v2 gpucc_sc8280xp pinctrl_sc8280xp_lpass_lpi qcom_hwspinlock
> >      pinctrl_lpass_lpi lpasscc_sc8280xp qrtr qcom_aoss pmic_glink pdr_interface phy_qcom_qmp_pcie qcom_smd qcom_pdr_msg icc_osm_l3 qcom_wdt qmi_helpers qcom_rng smp2p rpmsg_core gpio_keys pwm_bl
> >      smem hid_multitouch fuse i2c_dev
> >      [   15.408928] CPU: 2 UID: 0 PID: 14 Comm: kworker/u32:1 Not tainted 7.1.0+ #2 PREEMPT(lazy)
> >      [   15.408937] Hardware name: LENOVO 21BX0016US/21BX0016US, BIOS N3HET88W (1.60 ) 03/14/2024
> >      [   15.408942] Workqueue: pm pm_runtime_work
> >      [   15.408959] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> >      [   15.408967] pc : gdsc_toggle_logic+0x14c/0x160
> >      [   15.408978] lr : gdsc_toggle_logic+0x14c/0x160
> >      [   15.408987] sp : ffff8000800f3b40
> >      [   15.408991] x29: ffff8000800f3b40 x28: 0000000000000000 x27: 0000000000000000
> >      [   15.409003] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000
> >      [   15.409014] x23: 0000000000000000 x22: 0000000000000001 x21: ffffa33f298fca88
> >      [   15.409024] x20: 0000000000000000 x19: ffffa33f298fc5b0 x18: 00cd15db75dacefd
> >      [   15.409035] x17: 000000040044ffff x16: ffffa33f3b1a3d88 x15: 726f776b80000002
> >      [   15.409045] x14: ffffffffffffffff x13: 0000000000000028 x12: 0101010101010101
> >      [   15.409056] x11: 7f7f7f7f7f7f7f7f x10: fefeff3039313274 x9 : ffffa33f3a5edafc
> >      [   15.409067] x8 : ffff8000800f3780 x7 : 0000000000000001 x6 : 0000000000000001
> >      [   15.409078] x5 : ffff000bf3ca1288 x4 : 0000000000000000 x3 : ffff5cccb6a3f000
> >      [   15.409088] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff000080ae0000
> >      [   15.409098] Call trace:
> >      [   15.409103]  gdsc_toggle_logic+0x14c/0x160 (P)
> >      [   15.409115]  gdsc_disable+0x4c/0x190
> >      [   15.409126]  _genpd_power_off+0xa0/0x1a8
> >      [   15.409137]  genpd_power_off.part.0+0x180/0x2a0
> >      [   15.409149]  genpd_runtime_suspend+0x218/0x310
> >      [   15.409155]  __rpm_callback+0x50/0x1f8
> >      [   15.409166]  rpm_callback+0x7c/0x90
> >      [   15.409175]  rpm_suspend+0xe8/0x690
> >      [   15.409185]  pm_runtime_work+0xd0/0xe0
> >      [   15.409195]  process_one_work+0x18c/0x518
> >      [   15.409208]  worker_thread+0x190/0x320
> >      [   15.409218]  kthread+0x110/0x130
> >      [   15.409227]  ret_from_fork+0x10/0x20
> > 
> > Let's go ahead and add the flag ALWAYS_ON to titan_top_gdsc so that it
> > is not disabled in the unused clock sweep.
> > 
> > Fixes: ff93872a9c616 ("clk: qcom: camcc-sc8280xp: Add sc8280xp CAMCC")
> 
> I don't think that the given backtrace (or the analysis) point to some
> problem in the clock controller driver definitely.
> 
> If the problem is caused by "the introduction of sync_state support in
> the clk and pmdomain subsystems", then it would make sense to fix it
> instead, it's unclear that the problem exists beyond this applied series.

This is a separate issue outside of this series. With the current tree,
sc8280xp (Thinpad x13s) needs to be booted with clk_ignore_unused. With
the clk sync_state support, the x13s can be booted without
clk_ignore_used and without pd_ignore_unused.

Brian


  reply	other threads:[~2026-06-29 11:07 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-26 16:26 [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc Brian Masney
2026-06-26 16:32 ` Konrad Dybcio
2026-06-26 16:54   ` Vladimir Zapolskiy
2026-06-29 11:03     ` Brian Masney
2026-06-29 13:00       ` Vladimir Zapolskiy
2026-06-29 15:27         ` Brian Masney
2026-06-29 16:29           ` Vladimir Zapolskiy
2026-07-01  4:07   ` Jagadeesh Kona
2026-06-26 16:59 ` Vladimir Zapolskiy
2026-06-29 11:07   ` Brian Masney [this message]
2026-06-27  9:51 ` Bryan O'Donoghue
2026-06-29 11:01   ` Brian Masney

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=akJSAHEJXZkLp_0H@redhat.com \
    --to=bmasney@redhat.com \
    --cc=andersson@kernel.org \
    --cc=bryan.odonoghue@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=sboyd@kernel.org \
    --cc=vladimir.zapolskiy@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox