* [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc
@ 2026-06-26 16:26 Brian Masney
2026-06-26 16:32 ` Konrad Dybcio
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Brian Masney @ 2026-06-26 16:26 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd,
Bryan O'Donoghue
Cc: linux-arm-msm, linux-clk, linux-kernel, Brian Masney
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")
Signed-off-by: Brian Masney <bmasney@redhat.com>
Assisted-by: Claude:claude-opus-4-6
---
drivers/clk/qcom/camcc-sc8280xp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clk/qcom/camcc-sc8280xp.c b/drivers/clk/qcom/camcc-sc8280xp.c
index 18f5a3eb313e..52e1a786083f 100644
--- a/drivers/clk/qcom/camcc-sc8280xp.c
+++ b/drivers/clk/qcom/camcc-sc8280xp.c
@@ -2803,7 +2803,7 @@ static struct gdsc titan_top_gdsc = {
.pd = {
.name = "titan_top_gdsc",
},
- .flags = RETAIN_FF_ENABLE,
+ .flags = ALWAYS_ON | RETAIN_FF_ENABLE,
.pwrsts = PWRSTS_OFF_ON,
};
---
base-commit: 6c94b38b83a04c43ea49004275f0391404051093
change-id: 20260626-camcc-sc8280xp-titan-top-196cf6757b49
Best regards,
--
Brian Masney <bmasney@redhat.com>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc
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-07-01 4:07 ` Jagadeesh Kona
2026-06-26 16:59 ` Vladimir Zapolskiy
2026-06-27 9:51 ` Bryan O'Donoghue
2 siblings, 2 replies; 12+ messages in thread
From: Konrad Dybcio @ 2026-06-26 16:32 UTC (permalink / raw)
To: Brian Masney, Bjorn Andersson, Michael Turquette, Stephen Boyd,
Bryan O'Donoghue
Cc: linux-arm-msm, linux-clk, linux-kernel
On 6/26/26 6:26 PM, 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:
Stuck at _on_ sounds wrong.. does clk_ignore_unused / removing
the sync state from the clock part only resolve this? There may
be a clock dependency for the TITAN_TOP_GDSC that we're failing to
describe
Konrad
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc
2026-06-26 16:32 ` Konrad Dybcio
@ 2026-06-26 16:54 ` Vladimir Zapolskiy
2026-06-29 11:03 ` Brian Masney
2026-07-01 4:07 ` Jagadeesh Kona
1 sibling, 1 reply; 12+ messages in thread
From: Vladimir Zapolskiy @ 2026-06-26 16:54 UTC (permalink / raw)
To: Konrad Dybcio, Brian Masney, Bjorn Andersson, Michael Turquette,
Stephen Boyd, Bryan O'Donoghue
Cc: linux-arm-msm, linux-clk, linux-kernel
On 6/26/26 19:32, Konrad Dybcio wrote:
> On 6/26/26 6:26 PM, 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:
>
> Stuck at _on_ sounds wrong.. does clk_ignore_unused / removing
> the sync state from the clock part only resolve this? There may
> be a clock dependency for the TITAN_TOP_GDSC that we're failing to
> describe
>
Let me remind that there is a series, which solves this problem in a proper
and elegant way, it would be nice to get the review tags though:
[1] https://lore.kernel.org/linux-clk/20260331140142.892579-1-vladimir.zapolskiy@linaro.org/
--
Best wishes,
Vladimir
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc
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:59 ` Vladimir Zapolskiy
2026-06-29 11:07 ` Brian Masney
2026-06-27 9:51 ` Bryan O'Donoghue
2 siblings, 1 reply; 12+ messages in thread
From: Vladimir Zapolskiy @ 2026-06-26 16:59 UTC (permalink / raw)
To: Brian Masney, Bjorn Andersson, Michael Turquette, Stephen Boyd,
Bryan O'Donoghue
Cc: linux-arm-msm, linux-clk, linux-kernel
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.
> Signed-off-by: Brian Masney <bmasney@redhat.com>
> Assisted-by: Claude:claude-opus-4-6
> ---
> drivers/clk/qcom/camcc-sc8280xp.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clk/qcom/camcc-sc8280xp.c b/drivers/clk/qcom/camcc-sc8280xp.c
> index 18f5a3eb313e..52e1a786083f 100644
> --- a/drivers/clk/qcom/camcc-sc8280xp.c
> +++ b/drivers/clk/qcom/camcc-sc8280xp.c
> @@ -2803,7 +2803,7 @@ static struct gdsc titan_top_gdsc = {
> .pd = {
> .name = "titan_top_gdsc",
> },
> - .flags = RETAIN_FF_ENABLE,
> + .flags = ALWAYS_ON | RETAIN_FF_ENABLE,
> .pwrsts = PWRSTS_OFF_ON,
> };
>
>
--
Best wishes,
Vladimir
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc
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:59 ` Vladimir Zapolskiy
@ 2026-06-27 9:51 ` Bryan O'Donoghue
2026-06-29 11:01 ` Brian Masney
2 siblings, 1 reply; 12+ messages in thread
From: Bryan O'Donoghue @ 2026-06-27 9:51 UTC (permalink / raw)
To: Brian Masney, Bjorn Andersson, Michael Turquette, Stephen Boyd
Cc: linux-arm-msm, linux-clk, linux-kernel
On 26/06/2026 17: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")
> Signed-off-by: Brian Masney <bmasney@redhat.com>
> Assisted-by: Claude:claude-opus-4-6
> ---
> drivers/clk/qcom/camcc-sc8280xp.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clk/qcom/camcc-sc8280xp.c b/drivers/clk/qcom/camcc-sc8280xp.c
> index 18f5a3eb313e..52e1a786083f 100644
> --- a/drivers/clk/qcom/camcc-sc8280xp.c
> +++ b/drivers/clk/qcom/camcc-sc8280xp.c
> @@ -2803,7 +2803,7 @@ static struct gdsc titan_top_gdsc = {
> .pd = {
> .name = "titan_top_gdsc",
> },
> - .flags = RETAIN_FF_ENABLE,
> + .flags = ALWAYS_ON | RETAIN_FF_ENABLE,
> .pwrsts = PWRSTS_OFF_ON,
> };
>
>
> ---
> base-commit: 6c94b38b83a04c43ea49004275f0391404051093
> change-id: 20260626-camcc-sc8280xp-titan-top-196cf6757b49
>
> Best regards,
If it is stuck at on, that is almost certainly because one of the child
gdscs is still on.
Hmm, I should probably fix my bootloader on x13s and see if I can
repliate this bug.
---
bod
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc
2026-06-27 9:51 ` Bryan O'Donoghue
@ 2026-06-29 11:01 ` Brian Masney
0 siblings, 0 replies; 12+ messages in thread
From: Brian Masney @ 2026-06-29 11:01 UTC (permalink / raw)
To: Bryan O'Donoghue
Cc: Bjorn Andersson, Michael Turquette, Stephen Boyd, linux-arm-msm,
linux-clk, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 7102 bytes --]
Hi Bryan and Vladimir,
On Sat, Jun 27, 2026 at 10:51:47AM +0100, Bryan O'Donoghue wrote:
> On 26/06/2026 17: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")
> > Signed-off-by: Brian Masney <bmasney@redhat.com>
> > Assisted-by: Claude:claude-opus-4-6
> > ---
> > drivers/clk/qcom/camcc-sc8280xp.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/clk/qcom/camcc-sc8280xp.c b/drivers/clk/qcom/camcc-sc8280xp.c
> > index 18f5a3eb313e..52e1a786083f 100644
> > --- a/drivers/clk/qcom/camcc-sc8280xp.c
> > +++ b/drivers/clk/qcom/camcc-sc8280xp.c
> > @@ -2803,7 +2803,7 @@ static struct gdsc titan_top_gdsc = {
> > .pd = {
> > .name = "titan_top_gdsc",
> > },
> > - .flags = RETAIN_FF_ENABLE,
> > + .flags = ALWAYS_ON | RETAIN_FF_ENABLE,
> > .pwrsts = PWRSTS_OFF_ON,
> > };
> >
> > ---
> > base-commit: 6c94b38b83a04c43ea49004275f0391404051093
> > change-id: 20260626-camcc-sc8280xp-titan-top-196cf6757b49
> >
> > Best regards,
>
> If it is stuck at on, that is almost certainly because one of the child
> gdscs is still on.
>
> Hmm, I should probably fix my bootloader on x13s and see if I can repliate
> this bug.
I tried with Vladimir's patch series that he referenced and the issue
still occurs with that. I'll post more details to his message with the change
I had to make.
All of the child gdscs appear to be off:
root@fedora:/home/masneyb# cat /sys/kernel/debug/pm_genpd/titan_top_gdsc/current_state
on
root@fedora:/home/masneyb# cat /sys/kernel/debug/pm_genpd/titan_top_gdsc/sub_domains
bps_gdsc
ife_0_gdsc
ife_1_gdsc
ife_2_gdsc
ife_3_gdsc
ipe_0_gdsc
ipe_1_gdsc
root@fedora:/home/masneyb# cat /sys/kernel/debug/pm_genpd/bps_gdsc/current_state
off-0
root@fedora:/home/masneyb# cat /sys/kernel/debug/pm_genpd/ife_0_gdsc/current_state
off-0
root@fedora:/home/masneyb# cat /sys/kernel/debug/pm_genpd/ife_1_gdsc/current_state
off-0
root@fedora:/home/masneyb# cat /sys/kernel/debug/pm_genpd/ife_2_gdsc/current_state
off-0
root@fedora:/home/masneyb# cat /sys/kernel/debug/pm_genpd/ife_3_gdsc/current_state
off-0
root@fedora:/home/masneyb# cat /sys/kernel/debug/pm_genpd/ipe_0_gdsc/current_state
off-0
root@fedora:/home/masneyb# cat /sys/kernel/debug/pm_genpd/ipe_1_gdsc/current_state
off-0
I also attached the contents of pm_genpd_summary and clk_summary.
Brian
[-- Attachment #2: clk_summary --]
[-- Type: text/plain, Size: 161656 bytes --]
enable prepare protect duty hardware connection
clock count count count rate accuracy phase cycle enable consumer id
---------------------------------------------------------------------------------------------------------------------------------------------
LPASS_HW_DCODEC 5 5 0 0 0 0 50000 Y 3240000.codec dcodec
3220000.txmacro dcodec
3200000.rxmacro dcodec
3370000.codec dcodec
pinctrl@33c0000 no_connection_id
deviceless no_connection_id
LPASS_HW_MACRO 5 5 0 0 0 0 50000 Y 3240000.codec macro
3220000.txmacro macro
3200000.rxmacro macro
3370000.codec macro
pinctrl@33c0000 no_connection_id
deviceless no_connection_id
LPASS_CLK_ID_RX_CORE_MCLK2_2X_MCLK 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_WSA2_CORE_TX_2X_MCLK 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_WSA2_CORE_TX_MCLK 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_WSA_CORE_TX_2X_MCLK 2 2 0 19200000 0 0 50000 Y 3240000.codec npl
deviceless no_connection_id
mclk 1 1 0 9600000 0 0 50000 Y 3250000.soundwire iface
deviceless no_connection_id
LPASS_CLK_ID_WSA_CORE_TX_MCLK 2 2 0 19200000 0 0 50000 Y 3240000.codec mclk
deviceless no_connection_id
LPASS_CLK_ID_RX_CORE_TX_2X_MCLK 1 1 0 19200000 0 0 50000 Y 3200000.rxmacro npl
deviceless no_connection_id
lpass-rx-mclk 0 0 0 9600000 0 0 50000 N 3210000.soundwire iface
deviceless no_connection_id
LPASS_CLK_ID_RX_CORE_TX_MCLK 1 1 0 19200000 0 0 50000 Y 3200000.rxmacro mclk
deviceless no_connection_id
LPASS_CLK_ID_WSA2_CORE_2X_MCLK 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_WSA2_CORE_MCLK 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_VA_CORE_2X_MCLK 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_RX_CORE_NPL_MCLK 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_RX_CORE_MCLK 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_TX_CORE_NPL_MCLK 3 3 0 19200000 0 0 50000 Y 3220000.txmacro npl
3370000.codec npl
deviceless no_connection_id
lpass-tx-mclk 0 0 0 9600000 0 0 50000 N 3330000.soundwire iface
deviceless no_connection_id
fsgen 3 3 0 19200000 0 0 50000 Y 3240000.codec fsgen
3220000.txmacro fsgen
3200000.rxmacro fsgen
3370000.codec fsgen
deviceless no_connection_id
LPASS_CLK_ID_TX_CORE_MCLK 3 3 0 19200000 0 0 50000 Y 3220000.txmacro mclk
3370000.codec mclk
deviceless no_connection_id
LPASS_CLK_ID_VA_CORE_MCLK 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_WSA_CORE_NPL_MCLK 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_WSA_CORE_MCLK 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_QUI_MI2S_OSR 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_INT6_MI2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_INT5_MI2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_INT4_MI2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_INT3_MI2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_INT2_MI2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_INT1_MI2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_INT0_MI2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_SEN_MI2S_EBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_SEN_MI2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_QUI_MI2S_EBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_QUI_MI2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_SPEAKER_I2S_OSR 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_SPEAKER_I2S_EBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_SPEAKER_I2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_QUAD_MI2S_EBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_QUAD_MI2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_TER_MI2S_EBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_TER_MI2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_SEC_MI2S_EBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_SEC_MI2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_PRI_MI2S_EBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
LPASS_CLK_ID_PRI_MI2S_IBIT 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
qcom_cpufreq1 0 0 0 1632000000 0 0 50000 Y cpu4 no_connection_id
deviceless no_connection_id
qcom_cpufreq0 0 0 0 2438400000 0 0 50000 Y cpu0 no_connection_id
deviceless no_connection_id
8903000.phy::vco_div_clk 0 0 0 0 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_dptx1_pixel1_clk_src 0 0 0 0 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx1_pixel1_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx1_pixel0_clk_src 0 0 0 0 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx1_pixel0_clk 0 0 0 0 0 0 50000 N ae98000.displayport-controller stream_pixel
deviceless no_connection_id
8903000.phy::link_clk 0 0 0 0 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_dptx1_link_clk_src 0 0 0 0 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx1_link_div_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_dptx1_usb_router_link_intf_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx1_link_intf_clk 0 0 0 0 0 0 50000 N ae98000.displayport-controller ctrl_link_iface
deviceless no_connection_id
disp0_cc_mdss_dptx1_link_clk 0 0 0 0 0 0 50000 N ae98000.displayport-controller ctrl_link
ae98000.displayport-controller ctrl_link
deviceless no_connection_id
8903000.phy::pipe_clk 1 1 0 125000000 0 0 50000 Y deviceless no_connection_id
gcc_usb3_sec_phy_pipe_clk_src 1 1 0 125000000 0 0 50000 Y deviceless no_connection_id
gcc_usb34_sec_phy_pipe_clk_src 1 1 0 125000000 0 0 50000 Y deviceless no_connection_id
gcc_usb4_1_phy_usb_pipe_clk 0 0 0 125000000 0 0 50000 N deviceless no_connection_id
gcc_usb3_sec_phy_pipe_clk 1 1 0 125000000 0 0 50000 Y 8903000.phy usb3_pipe
deviceless no_connection_id
aec5a00.phy::vco_div_clk 1 1 0 1350000000 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_dptx3_pixel0_clk_src 1 1 0 76875000 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_dptx3_pixel0_clk 1 1 0 76875000 0 0 50000 Y aea0000.displayport-controller stream_pixel
deviceless no_connection_id
aec5a00.phy::link_clk 1 1 0 270000000 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_dptx3_link_clk_src 2 2 0 270000000 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_dptx3_link_div_clk_src 1 1 0 67500000 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_dptx3_link_intf_clk 1 1 0 67500000 0 0 50000 Y aea0000.displayport-controller ctrl_link_iface
deviceless no_connection_id
disp0_cc_mdss_dptx3_link_clk 1 1 0 270000000 0 0 50000 Y aea0000.displayport-controller ctrl_link
aea0000.displayport-controller ctrl_link
deviceless no_connection_id
88eb000.phy::vco_div_clk 0 0 0 0 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_dptx0_pixel1_clk_src 0 0 0 0 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx0_pixel1_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx0_pixel0_clk_src 0 0 0 0 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx0_pixel0_clk 0 0 0 0 0 0 50000 N ae90000.displayport-controller stream_pixel
deviceless no_connection_id
88eb000.phy::link_clk 0 0 0 0 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_dptx0_link_clk_src 0 0 0 0 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx0_link_div_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_dptx0_usb_router_link_intf_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx0_link_intf_clk 0 0 0 0 0 0 50000 N ae90000.displayport-controller ctrl_link_iface
deviceless no_connection_id
disp0_cc_mdss_dptx0_link_clk 0 0 0 0 0 0 50000 N ae90000.displayport-controller ctrl_link
ae90000.displayport-controller ctrl_link
deviceless no_connection_id
88eb000.phy::pipe_clk 1 1 0 125000000 0 0 50000 Y deviceless no_connection_id
gcc_usb3_prim_phy_pipe_clk_src 1 1 0 125000000 0 0 50000 Y deviceless no_connection_id
gcc_usb34_prim_phy_pipe_clk_src 1 1 0 125000000 0 0 50000 Y deviceless no_connection_id
gcc_usb4_phy_usb_pipe_clk 0 0 0 125000000 0 0 50000 N deviceless no_connection_id
gcc_usb3_prim_phy_pipe_clk 1 1 0 125000000 0 0 50000 Y 88eb000.phy usb3_pipe
deviceless no_connection_id
qdss 0 0 0 0 0 0 50000 Y deviceless no_connection_id
usb2_phy1_pipe_clk 0 0 0 125000000 0 0 50000 Y deviceless no_connection_id
gpu_cc_hlos1_vote_gpu_smmu_clk 2 2 0 0 0 0 50000 Y gmu@3d6a000 no_connection_id
iommu@3da0000 no_connection_id
deviceless no_connection_id
gpu_cc_sleep_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gpu_cc_cxo_aon_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gpu_cc_cx_snoc_dvm_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
usb2_phy0_pipe_clk 0 0 0 125000000 0 0 50000 Y deviceless no_connection_id
pcie_2a_pipe_clk 1 1 0 125000000 0 0 50000 Y deviceless no_connection_id
gcc_pcie_2a_pipe_clk_src 2 2 0 18446744073709551615 0 0 50000 Y deviceless no_connection_id
gcc_pcie_2a_pipe_div_clk_src 1 1 0 0 0 0 50000 Y deviceless no_connection_id
gcc_pcie_2a_pipediv2_clk 1 1 0 0 0 0 50000 Y 1c24000.phy pipediv2
deviceless no_connection_id
gcc_pcie_2a_pipe_clk 1 1 0 18446744073709551615 0 0 50000 Y 1c24000.phy pipe
deviceless no_connection_id
pcie_3a_pipe_clk 1 1 0 125000000 0 0 50000 Y deviceless no_connection_id
gcc_pcie_3a_pipe_clk_src 2 2 0 18446744073709551615 0 0 50000 Y deviceless no_connection_id
gcc_pcie_3a_pipe_div_clk_src 1 1 0 0 0 0 50000 Y deviceless no_connection_id
gcc_pcie_3a_pipediv2_clk 1 1 0 0 0 0 50000 Y 1c14000.phy pipediv2
deviceless no_connection_id
gcc_pcie_3a_pipe_clk 1 1 0 18446744073709551615 0 0 50000 Y 1c14000.phy pipe
deviceless no_connection_id
pcie_4_pipe_clk 1 1 0 125000000 0 0 50000 Y deviceless no_connection_id
gcc_pcie_4_pipe_clk_src 2 2 0 18446744073709551615 0 0 50000 Y deviceless no_connection_id
gcc_pcie_4_pipe_div_clk_src 1 1 0 0 0 0 50000 Y deviceless no_connection_id
gcc_pcie_4_pipediv2_clk 1 1 0 0 0 0 50000 Y 1c06000.phy pipediv2
deviceless no_connection_id
gcc_pcie_4_pipe_clk 1 1 0 18446744073709551615 0 0 50000 Y 1c06000.phy pipe
deviceless no_connection_id
gcc_video_vcodec_throttle_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_video_cvp_throttle_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_video_axi1_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_video_axi0_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb4_eud_clkref_clk 1 1 0 0 0 0 50000 Y 88eb000.phy ref
deviceless no_connection_id
gcc_usb4_clkref_clk 1 1 0 0 0 0 50000 Y 8903000.phy ref
deviceless no_connection_id
gcc_usb4_cfg_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb4_1_cfg_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb3_mp1_clkref_clk 1 1 0 0 0 0 50000 Y 88f1000.phy ref
deviceless no_connection_id
gcc_usb3_mp0_clkref_clk 1 1 0 0 0 0 50000 Y 88ef000.phy ref
deviceless no_connection_id
gcc_usb30_sec_sleep_clk 1 1 0 0 0 0 50000 Y usb@a8f8800 no_connection_id
deviceless no_connection_id
gcc_usb30_prim_sleep_clk 1 1 0 0 0 0 50000 Y usb@a6f8800 no_connection_id
deviceless no_connection_id
gcc_usb30_mp_sleep_clk 1 1 0 0 0 0 50000 Y usb@a4f8800 no_connection_id
deviceless no_connection_id
gcc_usb2_hs3_clkref_clk 1 1 0 0 0 0 50000 Y 88ea000.phy ref
deviceless no_connection_id
gcc_usb2_hs2_clkref_clk 1 1 0 0 0 0 50000 Y 88e9000.phy ref
deviceless no_connection_id
gcc_usb2_hs1_clkref_clk 1 1 0 0 0 0 50000 Y 88e8000.phy ref
deviceless no_connection_id
gcc_usb2_hs0_clkref_clk 1 1 0 0 0 0 50000 Y 88e7000.phy ref
deviceless no_connection_id
gcc_ufs_phy_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_ufs_card_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_sys_noc_usb_axi_clk 3 3 0 0 0 0 50000 Y usb@a8f8800 no_connection_id
usb@a6f8800 no_connection_id
usb@a4f8800 no_connection_id
deviceless no_connection_id
gcc_sdcc4_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_sdcc2_ahb_clk 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap_2_s_ahb_clk 1 1 0 0 0 0 50000 Y 8c0000.geniqup s-ahb
deviceless no_connection_id
gcc_qupv3_wrap_2_m_ahb_clk 1 1 0 0 0 0 50000 Y 8c0000.geniqup m-ahb
deviceless no_connection_id
gcc_qupv3_wrap_1_s_ahb_clk 0 0 0 0 0 0 50000 N ac0000.geniqup s-ahb
deviceless no_connection_id
gcc_qupv3_wrap_1_m_ahb_clk 0 0 0 0 0 0 50000 N ac0000.geniqup m-ahb
deviceless no_connection_id
gcc_qupv3_wrap_0_s_ahb_clk 1 1 0 0 0 0 50000 Y 9c0000.geniqup s-ahb
deviceless no_connection_id
gcc_qupv3_wrap_0_m_ahb_clk 1 1 0 0 0 0 50000 Y 9c0000.geniqup m-ahb
deviceless no_connection_id
gcc_qupv3_wrap2_core_clk 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap2_core_2x_clk 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap1_core_clk 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap1_core_2x_clk 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap0_core_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_core_2x_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_qmip_video_vcodec_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_qmip_video_cvp_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_qmip_disp_rot_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_qmip_disp_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_qmip_disp1_rot_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_qmip_disp1_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_qmip_camera_rt_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_qmip_camera_nrt_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pdm_xo4_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pdm_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_throttle_cfg_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_rscc_ahb_clk 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_pcie_4_slv_q2a_axi_clk 1 1 0 0 0 0 50000 Y pcie@1c00000 no_connection_id
deviceless no_connection_id
gcc_pcie_4_slv_axi_clk 1 1 0 0 0 0 50000 Y pcie@1c00000 no_connection_id
deviceless no_connection_id
gcc_pcie_4_mstr_axi_clk 1 1 0 0 0 0 50000 Y pcie@1c00000 no_connection_id
deviceless no_connection_id
gcc_pcie_4_clkref_clk 1 1 0 0 0 0 50000 Y 1c06000.phy ref
deviceless no_connection_id
gcc_pcie_4_cfg_ahb_clk 2 2 0 0 0 0 50000 Y pcie@1c00000 no_connection_id
1c06000.phy cfg_ahb
deviceless no_connection_id
gcc_pcie_3b_slv_q2a_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_3b_slv_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_3b_mstr_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_3b_cfg_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_3a_slv_q2a_axi_clk 1 1 0 0 0 0 50000 Y pcie@1c10000 no_connection_id
deviceless no_connection_id
gcc_pcie_3a_slv_axi_clk 1 1 0 0 0 0 50000 Y pcie@1c10000 no_connection_id
deviceless no_connection_id
gcc_pcie_3a_mstr_axi_clk 1 1 0 0 0 0 50000 Y pcie@1c10000 no_connection_id
deviceless no_connection_id
gcc_pcie_3a_cfg_ahb_clk 2 2 0 0 0 0 50000 Y pcie@1c10000 no_connection_id
1c14000.phy cfg_ahb
deviceless no_connection_id
gcc_pcie_3a3b_clkref_clk 1 1 0 0 0 0 50000 Y 1c14000.phy ref
deviceless no_connection_id
gcc_pcie_2b_slv_q2a_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_2b_slv_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_2b_mstr_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_2b_cfg_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_2a_slv_q2a_axi_clk 1 1 0 0 0 0 50000 Y pcie@1c20000 no_connection_id
deviceless no_connection_id
gcc_pcie_2a_slv_axi_clk 1 1 0 0 0 0 50000 Y pcie@1c20000 no_connection_id
deviceless no_connection_id
gcc_pcie_2a_mstr_axi_clk 1 1 0 0 0 0 50000 Y pcie@1c20000 no_connection_id
deviceless no_connection_id
gcc_pcie_2a_cfg_ahb_clk 2 2 0 0 0 0 50000 Y pcie@1c20000 no_connection_id
1c24000.phy cfg_ahb
deviceless no_connection_id
gcc_pcie_2a2b_clkref_clk 1 1 0 0 0 0 50000 Y 1c24000.phy ref
deviceless no_connection_id
gcc_pcie_1_slv_q2a_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_1_slv_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_1_mstr_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_1_cfg_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_0_slv_q2a_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_0_slv_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_0_mstr_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_0_cfg_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_gpu_tcu_throttle_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_gpu_tcu_throttle_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_gpu_snoc_dvm_gfx_clk 1 1 0 0 0 0 50000 Y iommu@3da0000 no_connection_id
deviceless no_connection_id
gcc_gpu_memnoc_gfx_clk 2 2 0 0 0 0 50000 Y gmu@3d6a000 no_connection_id
iommu@3da0000 no_connection_id
deviceless no_connection_id
gcc_gpu_iref_en 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_emac1_slv_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_emac1_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_emac0_slv_ahb_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_emac0_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_disp_throttle_rt_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_disp_throttle_nrt_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_disp_sf_axi_clk 1 1 0 0 0 0 50000 Y display-controller@ae01000 no_connection_id
deviceless no_connection_id
gcc_disp_hf_axi_clk 1 1 0 0 0 0 50000 Y display-controller@ae01000 no_connection_id
deviceless no_connection_id
gcc_disp1_throttle_rt_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_disp1_throttle_nrt_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_disp1_sf_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_disp1_hf_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_ddrss_pcie_sf_tbu_clk 3 3 0 0 0 0 50000 Y pcie@1c00000 no_connection_id
pcie@1c20000 no_connection_id
pcie@1c10000 no_connection_id
deviceless no_connection_id
gcc_ddrss_gpu_axi_clk 1 1 0 0 0 0 50000 Y gmu@3d6a000 no_connection_id
deviceless no_connection_id
gcc_cnoc_pcie4_qx_clk 1 1 0 0 0 0 50000 Y pcie@1c00000 no_connection_id
deviceless no_connection_id
gcc_cnoc_pcie1_tunnel_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_cnoc_pcie0_tunnel_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_camera_throttle_xo_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_camera_throttle_rt_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_camera_throttle_nrt_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_camera_sf_axi_clk 0 0 0 0 0 0 50000 N ac5a000.camss gcc_axi_sf
ac5a000.camss gcc_axi_sf
ac5a000.camss gcc_axi_sf
ac5a000.camss gcc_axi_sf
ac5a000.camss gcc_axi_sf
ac5a000.camss gcc_axi_sf
ac5a000.camss gcc_axi_sf
ac5a000.camss gcc_axi_sf
deviceless no_connection_id
gcc_camera_hf_axi_clk 0 0 0 0 0 0 50000 N ac5a000.camss gcc_axi_hf
ac5a000.camss gcc_axi_hf
ac5a000.camss gcc_axi_hf
ac5a000.camss gcc_axi_hf
ac5a000.camss gcc_axi_hf
ac5a000.camss gcc_axi_hf
ac5a000.camss gcc_axi_hf
ac5a000.camss gcc_axi_hf
deviceless no_connection_id
gcc_boot_rom_ahb_clk 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_ahb2phy2_clk 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_ahb2phy0_clk 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_aggre_usb_noc_south_axi_clk 3 3 0 0 0 0 50000 Y usb@a8f8800 no_connection_id
usb@a6f8800 no_connection_id
usb@a4f8800 no_connection_id
deviceless no_connection_id
gcc_aggre_usb_noc_north_axi_clk 3 3 0 0 0 0 50000 Y usb@a8f8800 no_connection_id
usb@a6f8800 no_connection_id
usb@a4f8800 no_connection_id
deviceless no_connection_id
gcc_aggre_usb_noc_axi_clk 3 3 0 0 0 0 50000 Y usb@a8f8800 no_connection_id
usb@a6f8800 no_connection_id
usb@a4f8800 no_connection_id
deviceless no_connection_id
gcc_aggre_noc_pcie_south_sf_axi_clk 3 3 0 0 0 0 50000 Y pcie@1c00000 no_connection_id
pcie@1c20000 no_connection_id
pcie@1c10000 no_connection_id
deviceless no_connection_id
gcc_aggre_noc_pcie_4_axi_clk 3 3 0 0 0 0 50000 Y pcie@1c00000 no_connection_id
pcie@1c20000 no_connection_id
pcie@1c10000 no_connection_id
deviceless no_connection_id
gcc_aggre_noc_pcie1_tunnel_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_aggre_noc_pcie0_tunnel_axi_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
hwkm 0 0 0 0 0 0 50000 Y 10d3000.rng core
deviceless no_connection_id
pka 0 0 0 0 0 0 50000 Y deviceless no_connection_id
ipa 0 0 0 0 0 0 50000 Y deviceless no_connection_id
sleep-clk 1 1 0 32764 0 0 50000 Y 17c10000.watchdog no_connection_id
deviceless no_connection_id
disp0_cc_sleep_clk_src 0 0 0 32764 0 0 50000 N deviceless no_connection_id
disp0_cc_sleep_clk 0 0 0 32764 0 0 50000 N deviceless no_connection_id
xo-board-clk 1 1 0 38400000 0 0 50000 Y deviceless no_connection_id
ln_bb_clk3_ao 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
ln_bb_clk3 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
bi_tcxo_ao 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
bi_tcxo 17 17 0 19200000 0 0 50000 Y 1b300000.remoteproc xo
3000000.remoteproc xo
2400000.remoteproc xo
8902000.phy ref
88e5000.phy ref
deviceless no_connection_id
camcc_slow_ahb_clk_src 0 0 0 19200000 0 0 50000 Y cci@ac4c000 no_connection_id
deviceless no_connection_id
camcc_bps_ahb_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_core_ahb_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_cpas_ahb_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss cpas_ahb
ac5a000.camss cpas_ahb
ac5a000.camss cpas_ahb
ac5a000.camss cpas_ahb
ac5a000.camss cpas_ahb
ac5a000.camss cpas_ahb
ac5a000.camss cpas_ahb
ac5a000.camss cpas_ahb
cci@ac4c000 no_connection_id
deviceless no_connection_id
camcc_icp_ahb_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ipe_0_ahb_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ipe_1_ahb_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk7_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk7_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk6_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk6_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk5_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk5_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk4_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk4_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk3_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk3_clk 0 0 0 19200000 0 0 50000 N 24-0010 no_connection_id
deviceless no_connection_id
camcc_mclk2_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk2_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk1_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk0_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_mclk0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_lrme_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_lrme_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_jpeg_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_jpeg_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ipe_0_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ipe_1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ipe_0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ife_lite_3_csid_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_lite_3_csid_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe_lite3_csid
deviceless no_connection_id
camcc_ife_lite_3_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_lite_3_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe_lite3
ac5a000.camss vfe_lite3
deviceless no_connection_id
camcc_ife_lite_2_csid_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_lite_2_csid_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe_lite2_csid
deviceless no_connection_id
camcc_ife_lite_2_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_lite_2_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe_lite2
ac5a000.camss vfe_lite2
deviceless no_connection_id
camcc_ife_lite_1_csid_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_lite_1_csid_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe_lite1_csid
deviceless no_connection_id
camcc_ife_lite_1_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_lite_1_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe_lite1
ac5a000.camss vfe_lite1
deviceless no_connection_id
camcc_ife_lite_0_csid_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_lite_0_csid_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe_lite0_csid
deviceless no_connection_id
camcc_ife_lite_0_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_lite_0_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe_lite0
ac5a000.camss vfe_lite0
deviceless no_connection_id
camcc_ife_3_csid_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_3_csid_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe3_csid
deviceless no_connection_id
camcc_ife_3_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_3_dsp_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ife_3_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe3
ac5a000.camss vfe3
deviceless no_connection_id
camcc_ife_2_csid_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_2_csid_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe2_csid
deviceless no_connection_id
camcc_ife_2_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_2_dsp_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ife_2_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe2
ac5a000.camss vfe2
deviceless no_connection_id
camcc_ife_1_csid_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_1_csid_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe1_csid
deviceless no_connection_id
camcc_ife_1_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_1_dsp_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ife_1_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe1
ac5a000.camss vfe1
deviceless no_connection_id
camcc_ife_0_csid_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_0_csid_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe0_csid
deviceless no_connection_id
camcc_ife_0_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_ife_0_dsp_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ife_0_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe0
ac5a000.camss vfe0
deviceless no_connection_id
camcc_icp_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_icp_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_fast_ahb_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ipe_1_areg_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ipe_0_areg_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_bps_areg_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_csi3phytimer_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_csi3phytimer_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss csiphy3_timer
deviceless no_connection_id
camcc_csi2phytimer_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_csi2phytimer_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss csiphy2_timer
deviceless no_connection_id
camcc_csi1phytimer_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_csi1phytimer_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss csiphy1_timer
deviceless no_connection_id
camcc_csi0phytimer_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_csi0phytimer_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss csiphy0_timer
deviceless no_connection_id
camcc_cphy_rx_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ife_lite_3_cphy_rx_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe_lite3_cphy_rx
deviceless no_connection_id
camcc_ife_lite_2_cphy_rx_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe_lite2_cphy_rx
deviceless no_connection_id
camcc_ife_lite_1_cphy_rx_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe_lite1_cphy_rx
deviceless no_connection_id
camcc_ife_lite_0_cphy_rx_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe_lite0_cphy_rx
deviceless no_connection_id
camcc_ife_3_cphy_rx_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe3_cphy_rx
deviceless no_connection_id
camcc_ife_2_cphy_rx_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe2_cphy_rx
deviceless no_connection_id
camcc_ife_1_cphy_rx_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe1_cphy_rx
deviceless no_connection_id
camcc_ife_0_cphy_rx_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe0_cphy_rx
deviceless no_connection_id
camcc_csiphy3_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss csiphy3
deviceless no_connection_id
camcc_csiphy2_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss csiphy2
deviceless no_connection_id
camcc_csiphy1_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss csiphy1
deviceless no_connection_id
camcc_csiphy0_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss csiphy0
deviceless no_connection_id
camcc_cci_3_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_cci_3_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_cci_2_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_cci_2_clk 0 0 0 19200000 0 0 50000 N cci@ac4c000 no_connection_id
deviceless no_connection_id
camcc_cci_1_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_cci_1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_cci_0_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_cci_0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_camnoc_axi_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ipe_1_axi_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ipe_0_axi_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_ife_3_axi_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe3_axi
ac5a000.camss vfe3_axi
deviceless no_connection_id
camcc_ife_2_axi_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe2_axi
ac5a000.camss vfe2_axi
deviceless no_connection_id
camcc_ife_1_axi_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe1_axi
ac5a000.camss vfe1_axi
deviceless no_connection_id
camcc_ife_0_axi_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss vfe0_axi
ac5a000.camss vfe0_axi
deviceless no_connection_id
camcc_bps_axi_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_camnoc_axi_clk 0 0 0 19200000 0 0 50000 N ac5a000.camss camnoc_axi
ac5a000.camss camnoc_axi
ac5a000.camss camnoc_axi
ac5a000.camss camnoc_axi
ac5a000.camss camnoc_axi
ac5a000.camss camnoc_axi
ac5a000.camss camnoc_axi
ac5a000.camss camnoc_axi
cci@ac4c000 no_connection_id
deviceless no_connection_id
camcc_bps_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
camcc_bps_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
camcc_pll7 0 0 0 960000000 0 0 50000 N deviceless no_connection_id
camcc_pll7_out_odd 0 0 0 320000000 0 0 50000 Y deviceless no_connection_id
camcc_pll7_out_even 0 0 0 480000000 0 0 50000 Y deviceless no_connection_id
camcc_pll6 0 0 0 799999804 0 0 50000 N deviceless no_connection_id
camcc_pll6_out_even 0 0 0 399999902 0 0 50000 Y deviceless no_connection_id
camcc_pll5 0 0 0 799999804 0 0 50000 N deviceless no_connection_id
camcc_pll5_out_even 0 0 0 399999902 0 0 50000 Y deviceless no_connection_id
camcc_pll4 0 0 0 799999804 0 0 50000 N deviceless no_connection_id
camcc_pll4_out_even 0 0 0 399999902 0 0 50000 Y deviceless no_connection_id
camcc_pll3 0 0 0 799999804 0 0 50000 N deviceless no_connection_id
camcc_pll3_out_even 0 0 0 399999902 0 0 50000 Y deviceless no_connection_id
camcc_pll2 0 0 0 960000000 0 0 50000 N deviceless no_connection_id
camcc_pll1 0 0 0 639999902 0 0 50000 N deviceless no_connection_id
camcc_pll1_out_even 0 0 0 319999951 0 0 50000 Y deviceless no_connection_id
camcc_pll0 0 0 0 1200000000 0 0 50000 N deviceless no_connection_id
camcc_pll0_out_odd 0 0 0 400000000 0 0 50000 Y deviceless no_connection_id
camcc_pll0_out_even 0 0 0 600000000 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_vsync_clk_src 1 1 0 19200000 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_rscc_vsync_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_vsync1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_vsync_clk 1 1 0 19200000 0 0 50000 Y display-controller@ae01000 no_connection_id
deviceless no_connection_id
disp0_cc_mdss_rot_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
disp0_cc_mdss_rot1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_rot_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_pclk1_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_pclk1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_pclk0_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_pclk0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_esc1_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_esc1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_esc0_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_esc0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx3_aux_clk_src 1 1 0 19200000 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_dptx3_aux_clk 2 2 0 19200000 0 0 50000 Y aea0000.displayport-controller core_aux
phy@aec5a00 no_connection_id
deviceless no_connection_id
disp0_cc_mdss_dptx2_pixel1_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx2_pixel1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx2_pixel0_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx2_pixel0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx2_link_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx2_link_div_clk_src 0 0 0 4800000 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_dptx2_link_intf_clk 0 0 0 4800000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx2_link_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx2_aux_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx2_aux_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx1_aux_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx1_aux_clk 0 0 0 19200000 0 0 50000 N ae98000.displayport-controller core_aux
deviceless no_connection_id
disp0_cc_mdss_dptx0_aux_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_dptx0_aux_clk 0 0 0 19200000 0 0 50000 N ae90000.displayport-controller core_aux
deviceless no_connection_id
disp0_cc_mdss_byte1_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_byte1_div_clk_src 0 0 0 9600000 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_byte1_intf_clk 0 0 0 9600000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_byte1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_byte0_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_byte0_div_clk_src 0 0 0 9600000 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_byte0_intf_clk 0 0 0 9600000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_byte0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_ahb_clk_src 1 1 0 19200000 0 0 50000 ? deviceless no_connection_id
disp0_cc_mdss_rscc_ahb_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_non_gdsc_ahb_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_ahb1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_ahb_clk 4 4 0 19200000 0 0 50000 Y aea0000.displayport-controller core_iface
ae98000.displayport-controller core_iface
ae90000.displayport-controller core_iface
display-controller@ae01000 no_connection_id
display-subsystem@ae00000 no_connection_id
phy@aec5a00 no_connection_id
deviceless no_connection_id
disp0_cc_pll2 0 0 0 1350000000 0 0 50000 N deviceless no_connection_id
disp0_cc_pll1 1 1 0 600000000 0 0 50000 Y deviceless no_connection_id
disp0_cc_mdss_mdp_clk_src 2 2 0 150000000 0 0 50000 ? deviceless no_connection_id
disp0_cc_mdss_mdp_lut_clk 1 1 0 150000000 0 0 50000 Y display-controller@ae01000 no_connection_id
deviceless no_connection_id
disp0_cc_mdss_mdp_lut1_clk 0 0 0 150000000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_mdp1_clk 0 0 0 150000000 0 0 50000 N deviceless no_connection_id
disp0_cc_mdss_mdp_clk 2 2 0 150000000 0 0 50000 Y display-controller@ae01000 no_connection_id
ae01000.display-controller core
display-subsystem@ae00000 no_connection_id
deviceless no_connection_id
disp0_cc_pll1_out_even 0 0 0 300000000 0 0 50000 Y deviceless no_connection_id
disp0_cc_pll0 0 0 0 1500000000 0 0 50000 N deviceless no_connection_id
gpu_cc_pll1 0 0 0 499999804 0 0 50000 N deviceless no_connection_id
gpu_cc_pll0 0 0 0 549999902 0 0 50000 Y deviceless no_connection_id
gcc_usb4_tmu_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_usb4_tmu_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_usb4_sb_if_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_usb4_sb_if_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_usb4_phy_rx1_clk_src 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_usb4_phy_rx1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_usb4_phy_rx0_clk_src 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_usb4_phy_rx0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_usb4_phy_pcie_pipe_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_usb4_master_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_aggre_usb4_axi_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_usb4_master_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_usb4_1_tmu_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_usb4_1_tmu_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_usb4_1_sb_if_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_usb4_1_sb_if_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_usb4_1_phy_rx1_clk_src 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_usb4_1_phy_rx1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_usb4_1_phy_rx0_clk_src 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_usb4_1_phy_rx0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_usb4_1_phy_pcie_pipe_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_usb4_1_master_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_aggre_usb4_1_axi_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_usb4_1_master_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_usb3_sec_phy_aux_clk_src 2 2 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_usb3_sec_phy_com_aux_clk 1 1 0 19200000 0 0 50000 Y 8903000.phy com_aux
deviceless no_connection_id
gcc_usb3_sec_phy_aux_clk 1 1 0 19200000 0 0 50000 Y 8903000.phy aux
deviceless no_connection_id
gcc_usb3_prim_phy_aux_clk_src 2 2 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_usb3_prim_phy_com_aux_clk 1 1 0 19200000 0 0 50000 Y 88eb000.phy com_aux
deviceless no_connection_id
gcc_usb3_prim_phy_aux_clk 1 1 0 19200000 0 0 50000 Y 88eb000.phy aux
deviceless no_connection_id
gcc_usb3_mp_phy_aux_clk_src 2 2 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_usb3_mp_phy_com_aux_clk 2 2 0 19200000 0 0 50000 Y 88f1000.phy com_aux
88ef000.phy com_aux
deviceless no_connection_id
gcc_usb3_mp_phy_aux_clk 2 2 0 19200000 0 0 50000 Y 88f1000.phy aux
88ef000.phy aux
deviceless no_connection_id
gcc_usb30_sec_mock_utmi_clk_src 1 1 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_usb30_sec_mock_utmi_postdiv_clk_src 1 1 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_usb30_sec_mock_utmi_clk 1 1 0 19200000 0 0 50000 Y usb@a8f8800 no_connection_id
deviceless no_connection_id
gcc_usb30_prim_mock_utmi_clk_src 1 1 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_usb30_prim_mock_utmi_postdiv_clk_src 1 1 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_usb30_prim_mock_utmi_clk 1 1 0 19200000 0 0 50000 Y usb@a6f8800 no_connection_id
deviceless no_connection_id
gcc_usb30_mp_mock_utmi_clk_src 1 1 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_usb30_mp_mock_utmi_postdiv_clk_src 1 1 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_usb30_mp_mock_utmi_clk 1 1 0 19200000 0 0 50000 Y usb@a4f8800 no_connection_id
deviceless no_connection_id
gcc_ufs_ref_clkref_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_phy_unipro_core_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_ufs_phy_unipro_core_hw_ctl_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_phy_unipro_core_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_phy_phy_aux_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_ufs_phy_phy_aux_hw_ctl_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_phy_phy_aux_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_phy_ice_core_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_ufs_phy_ice_core_hw_ctl_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_phy_ice_core_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_phy_axi_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_ufs_phy_axi_hw_ctl_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_aggre_ufs_phy_axi_hw_ctl_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_aggre_ufs_phy_axi_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_phy_axi_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_card_unipro_core_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_ufs_card_unipro_core_hw_ctl_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_card_unipro_core_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_card_phy_aux_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_ufs_card_phy_aux_hw_ctl_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_card_phy_aux_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_card_ice_core_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_ufs_card_ice_core_hw_ctl_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_card_ice_core_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_card_clkref_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_card_axi_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_ufs_card_axi_hw_ctl_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_aggre_ufs_card_axi_hw_ctl_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_aggre_ufs_card_axi_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_card_axi_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_ufs_1_card_clkref_clk 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_sdcc4_apps_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_sdcc4_apps_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap2_s7_clk_src 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap2_s7_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap2_s6_clk_src 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap2_s6_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap2_s5_clk_src 1 1 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap2_s5_clk 1 1 0 19200000 0 0 50000 Y 894000.i2c se
deviceless no_connection_id
gcc_qupv3_wrap2_s4_clk_src 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap2_s4_div_clk_src 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap2_s4_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap2_qspi0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap2_s3_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap2_s3_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap2_s2_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap2_s2_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap2_s0_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap2_s0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap1_s7_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap1_s7_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap1_s6_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap1_s6_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap1_s5_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap1_s5_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap1_s4_clk_src 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap1_s4_div_clk_src 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap1_s4_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap1_qspi0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap1_s3_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap1_s3_clk 0 0 0 19200000 0 0 50000 N a8c000.i2c se
deviceless no_connection_id
gcc_qupv3_wrap1_s2_clk_src 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap1_s2_clk 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap1_s1_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap1_s1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap1_s0_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap1_s0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s7_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s7_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s6_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s6_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s5_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s5_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s4_clk_src 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap0_s4_div_clk_src 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_qupv3_wrap0_s4_clk 0 0 0 19200000 0 0 50000 N 990000.i2c se
deviceless no_connection_id
gcc_qupv3_wrap0_qspi0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s3_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s3_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s1_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s0_clk_src 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s0_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_pdm2_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_pdm2_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_pcie_rscc_xo_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_pcie_rscc_xo_clk 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_pcie_4_aux_clk_src 1 1 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_pcie_4_aux_clk 2 2 0 19200000 0 0 50000 Y pcie@1c00000 no_connection_id
1c06000.phy aux
deviceless no_connection_id
gcc_pcie_3b_phy_rchng_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_pcie3b_phy_rchng_clk 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_pcie_3b_aux_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_pcie_3b_aux_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_pcie_3a_aux_clk_src 1 1 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_pcie_3a_aux_clk 2 2 0 19200000 0 0 50000 Y pcie@1c10000 no_connection_id
1c14000.phy aux
deviceless no_connection_id
gcc_pcie_2b_phy_rchng_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_pcie2b_phy_rchng_clk 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_pcie_2b_aux_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_pcie_2b_aux_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_pcie_2a_aux_clk_src 1 1 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_pcie_2a_aux_clk 2 2 0 19200000 0 0 50000 Y pcie@1c20000 no_connection_id
1c24000.phy aux
deviceless no_connection_id
gcc_pcie_1_phy_rchng_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_pcie1_phy_rchng_clk 0 0 0 19200000 0 0 50000 Y deviceless no_connection_id
gcc_pcie_1_aux_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_pcie_1_aux_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_pcie_0_phy_rchng_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_pcie0_phy_rchng_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_pcie_0_aux_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_pcie_0_aux_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_gp5_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_gp5_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_gp4_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_gp4_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_gp3_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_gp3_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_gp2_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_gp2_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_gp1_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_gp1_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_emac1_rgmii_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_emac1_rgmii_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_emac1_ptp_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_emac1_ptp_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_emac0_rgmii_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_emac0_rgmii_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_emac0_ptp_clk_src 0 0 0 19200000 0 0 50000 ? deviceless no_connection_id
gcc_emac0_ptp_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_gpll9 0 0 0 807999902 0 0 50000 N deviceless no_connection_id
gcc_sdcc2_apps_clk_src 0 0 0 201999975 0 0 50000 ? deviceless no_connection_id
gcc_sdcc2_apps_clk 0 0 0 201999975 0 0 50000 Y deviceless no_connection_id
gcc_gpll8 0 0 0 699999902 0 0 50000 N deviceless no_connection_id
gcc_gpll7 0 0 0 499999804 0 0 50000 N deviceless no_connection_id
gcc_gpll4 0 0 0 806400000 0 0 50000 N deviceless no_connection_id
gcc_gpll2 0 0 0 999999902 0 0 50000 N deviceless no_connection_id
gcc_gpll0 6 6 0 600000000 0 0 50000 N deviceless no_connection_id
gcc_qupv3_wrap0_s2_clk_src 1 1 0 100000000 0 0 50003 Y deviceless no_connection_id
gcc_qupv3_wrap0_s2_clk 1 1 0 100000000 0 0 50000 Y 988000.serial se
988000.serial se
deviceless no_connection_id
gcc_usb30_sec_master_clk_src 3 3 0 200000000 0 0 50000 ? deviceless no_connection_id
gcc_aggre_usb3_sec_axi_clk 1 1 0 200000000 0 0 50000 Y usb@a8f8800 no_connection_id
deviceless no_connection_id
gcc_cfg_noc_usb3_sec_axi_clk 1 1 0 200000000 0 0 50000 Y usb@a8f8800 no_connection_id
deviceless no_connection_id
gcc_usb30_sec_master_clk 1 1 0 200000000 0 0 50000 Y usb@a8f8800 no_connection_id
deviceless no_connection_id
gcc_usb30_prim_master_clk_src 3 3 0 200000000 0 0 50000 ? deviceless no_connection_id
gcc_aggre_usb3_prim_axi_clk 1 1 0 200000000 0 0 50000 Y usb@a6f8800 no_connection_id
deviceless no_connection_id
gcc_cfg_noc_usb3_prim_axi_clk 1 1 0 200000000 0 0 50000 Y usb@a6f8800 no_connection_id
deviceless no_connection_id
gcc_usb30_prim_master_clk 1 1 0 200000000 0 0 50000 Y usb@a6f8800 no_connection_id
deviceless no_connection_id
gcc_usb30_mp_master_clk_src 3 3 0 200000000 0 0 50000 ? deviceless no_connection_id
gcc_aggre_usb3_mp_axi_clk 1 1 0 200000000 0 0 50000 Y usb@a4f8800 no_connection_id
deviceless no_connection_id
gcc_cfg_noc_usb3_mp_axi_clk 1 1 0 200000000 0 0 50000 Y usb@a4f8800 no_connection_id
deviceless no_connection_id
gcc_usb30_mp_master_clk 1 1 0 200000000 0 0 50000 Y usb@a4f8800 no_connection_id
deviceless no_connection_id
gcc_gpu_gpll0_clk_src 1 1 0 600000000 0 0 50000 Y deviceless no_connection_id
gpu_cc_hub_clk_src 3 3 0 200000000 0 0 50000 ? deviceless no_connection_id
gpu_cc_hub_cx_int_div_clk_src 1 1 0 200000000 0 0 50000 Y deviceless no_connection_id
gpu_cc_hub_cx_int_clk 2 2 0 200000000 0 0 50000 Y gmu@3d6a000 no_connection_id
iommu@3da0000 no_connection_id
deviceless no_connection_id
gpu_cc_hub_ahb_div_clk_src 1 1 0 200000000 0 0 50000 Y deviceless no_connection_id
gpu_cc_ahb_clk 2 2 0 200000000 0 0 50000 N gmu@3d6a000 no_connection_id
iommu@3da0000 no_connection_id
deviceless no_connection_id
gpu_cc_crc_ahb_clk 0 0 0 200000000 0 0 50000 N deviceless no_connection_id
gpu_cc_hub_aon_clk 1 1 0 200000000 0 0 50000 Y iommu@3da0000 no_connection_id
deviceless no_connection_id
gcc_gpll0_out_even 4 4 0 300000000 0 0 50000 Y deviceless no_connection_id
gcc_pcie_3a_phy_rchng_clk_src 1 1 0 100000000 0 0 50000 ? deviceless no_connection_id
gcc_pcie3a_phy_rchng_clk 1 1 0 100000000 0 0 50000 Y 1c14000.phy rchng
deviceless no_connection_id
gcc_qupv3_wrap2_s1_clk_src 0 0 0 7372800 0 0 50003 Y deviceless no_connection_id
gcc_qupv3_wrap2_s1_clk 0 0 0 7372800 0 0 50000 Y deviceless no_connection_id
gcc_pcie_4_phy_rchng_clk_src 1 1 0 100000000 0 0 50000 ? deviceless no_connection_id
gcc_pcie4_phy_rchng_clk 1 1 0 100000000 0 0 50000 Y 1c06000.phy rchng
deviceless no_connection_id
gcc_pcie_2a_phy_rchng_clk_src 1 1 0 100000000 0 0 50000 ? deviceless no_connection_id
gcc_pcie2a_phy_rchng_clk 1 1 0 100000000 0 0 50000 Y 1c24000.phy rchng
deviceless no_connection_id
gcc_gpu_gpll0_div_clk_src 1 1 0 300000000 0 0 50000 Y deviceless no_connection_id
gpu_cc_gmu_clk_src 1 1 0 200000000 0 0 50000 ? deviceless no_connection_id
gpu_cc_gx_gmu_clk 0 0 0 200000000 0 0 50000 N deviceless no_connection_id
gpu_cc_cx_gmu_clk 2 2 0 200000000 0 0 50000 Y 3d6a000.gmu no_connection_id
gmu@3d6a000 no_connection_id
iommu@3da0000 no_connection_id
deviceless no_connection_id
camcc_xo_clk_src 0 0 0 0 0 0 50000 N deviceless no_connection_id
camcc_camnoc_dcd_xo_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
camcc_gdsc_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
camcc_sleep_clk_src 0 0 0 0 0 0 50000 N deviceless no_connection_id
camcc_sleep_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb4_phy_sys_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_usb4_sys_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb4_phy_pcie_pipegmux_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_usb4_phy_pcie_pipe_mux_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_pcie_0_pipe_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb4_phy_pcie_pipe_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb4_phy_p2rr2p_pipe_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_usb4_phy_p2rr2p_pipe_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb4_phy_dp_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_usb4_dp_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb4_1_phy_sys_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_usb4_1_sys_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb4_1_phy_pcie_pipegmux_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_usb4_1_phy_pcie_pipe_mux_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_pcie_1_pipe_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb4_1_phy_pcie_pipe_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb4_1_phy_p2rr2p_pipe_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_usb4_1_phy_p2rr2p_pipe_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb4_1_phy_dp_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_usb4_1_dp_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_usb3_mp_phy_pipe_1_clk_src 1 1 0 0 0 0 50000 Y deviceless no_connection_id
gcc_usb3_mp_phy_pipe_1_clk 1 1 0 0 0 0 50000 Y 88f1000.phy pipe
deviceless no_connection_id
gcc_usb3_mp_phy_pipe_0_clk_src 1 1 0 0 0 0 50000 Y deviceless no_connection_id
gcc_usb3_mp_phy_pipe_0_clk 1 1 0 0 0 0 50000 Y 88ef000.phy pipe
deviceless no_connection_id
gcc_ufs_phy_tx_symbol_0_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_ufs_phy_tx_symbol_0_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_ufs_phy_rx_symbol_1_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_ufs_phy_rx_symbol_1_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_ufs_phy_rx_symbol_0_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_ufs_phy_rx_symbol_0_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_ufs_card_tx_symbol_0_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_ufs_card_tx_symbol_0_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_ufs_card_rx_symbol_1_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_ufs_card_rx_symbol_1_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_ufs_card_rx_symbol_0_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_ufs_card_rx_symbol_0_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_3b_pipe_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_pcie_3b_pipe_div_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_pcie_3b_pipediv2_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_3b_pipe_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
gcc_pcie_2b_pipe_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_pcie_2b_pipe_div_clk_src 0 0 0 0 0 0 50000 Y deviceless no_connection_id
gcc_pcie_2b_pipediv2_clk 0 0 0 0 0 0 50000 N deviceless no_connection_id
gcc_pcie_2b_pipe_clk 0 0 0 19200000 0 0 50000 N deviceless no_connection_id
[-- Attachment #3: pm_genpd_summary --]
[-- Type: text/plain, Size: 9318 bytes --]
domain status children performance
/device runtime status managed by
------------------------------------------------------------------------------
titan_top_gdsc on 0
bps_gdsc, ife_0_gdsc, ife_1_gdsc, ife_2_gdsc, ife_3_gdsc, ipe_0_gdsc, ipe_1_gdsc
ac4c000.cci suspended 0 SW
genpd:4:ac5a000.camss suspended 0 SW
ipe_1_gdsc off-0 0
ipe_0_gdsc off-0 0
ife_3_gdsc off-0 0
genpd:3:ac5a000.camss suspended 0 SW
ife_2_gdsc off-0 0
genpd:2:ac5a000.camss suspended 0 SW
ife_1_gdsc off-0 0
genpd:1:ac5a000.camss suspended 0 SW
ife_0_gdsc off-0 0
genpd:0:ac5a000.camss suspended 0 SW
bps_gdsc off-0 0
disp0_mdss_int2_gdsc off-0 0
disp0_mdss_gdsc on 0
ae00000.display-subsystem active 0 SW
gx_gdsc on 0
genpd:1:3d6a000.gmu active 0 SW
cx_gdsc on 0
3da0000.iommu active 0 SW
genpd:0:3d6a000.gmu active 0 SW
hlos1_vote_turing_mmu_tbu3_gdsc off-0 0
hlos1_vote_turing_mmu_tbu2_gdsc off-0 0
hlos1_vote_turing_mmu_tbu1_gdsc off-0 0
hlos1_vote_turing_mmu_tbu0_gdsc off-0 0
hlos1_vote_mmnoc_mmu_tbu_sf1_gdsc on 0
hlos1_vote_mmnoc_mmu_tbu_sf0_gdsc on 0
hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc on 0
hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc on 0
usb4_gdsc off-0 0
usb4_1_gdsc off-0 0
emac_1_gdsc off-0 0
emac_0_gdsc off-0 0
usb30_sec_gdsc on 256
a8f8800.usb active 256 SW
8903000.phy active 0 SW
aux_bridge.aux_bridge.1 unsupported 0 SW
usb30_prim_gdsc on 256
a6f8800.usb active 256 SW
88eb000.phy active 0 SW
aux_bridge.aux_bridge.0 unsupported 0 SW
usb30_mp_gdsc on 256
88ef000.phy active 0 SW
88f1000.phy active 0 SW
a4f8800.usb active 256 SW
ufs_phy_gdsc on 0
ufs_card_gdsc on 0
pcie_4_gdsc on 256
1c06000.phy unsupported 0 SW
1c00000.pcie active 256 SW
pcie_3b_gdsc off-0 0
pcie_3a_gdsc on 256
1c14000.phy unsupported 0 SW
1c10000.pcie active 256 SW
pcie_2b_gdsc off-0 0
pcie_2a_gdsc on 256
1c24000.phy unsupported 0 SW
1c20000.pcie active 256 SW
pcie_1_tunnel_gdsc off-0 0
pcie_0_tunnel_gdsc off-0 0
mxc_ao off-0 0
qphy off-0 0
nsp off-0 0
genpd:0:1b300000.remoteproc suspended 0 SW
mxc off-0 0
mx_ao off-0 0
mx on 0
aec5a00.phy unsupported 0 SW
mmcx_ao off-0 0
mmcx on 128
disp0_mdss_gdsc, disp0_mdss_int2_gdsc, titan_top_gdsc
af00000.clock-controller active 0 SW
ad00000.clock-controller suspended 0 SW
ae01000.display-controller active 64 SW
ae90000.displayport-controller suspended 0 SW
ae98000.displayport-controller suspended 0 SW
aea0000.displayport-controller active 128 SW
lmx off-0 0
genpd:1:2400000.remoteproc suspended 0 SW
genpd:1:3000000.remoteproc suspended 0 SW
lcx off-0 0
genpd:0:2400000.remoteproc suspended 0 SW
genpd:0:3000000.remoteproc suspended 0 SW
gfx on 0
cx_gdsc, gx_gdsc
3d90000.clock-controller active 0 SW
ebi off-0 0
cx_ao off-0 0
cx on 256
pcie_0_tunnel_gdsc, pcie_1_tunnel_gdsc, pcie_2a_gdsc, pcie_2b_gdsc, pcie_3a_gdsc, pcie_3b_gdsc, pcie_4_gdsc, ufs_card_gdsc, ufs_phy_gdsc, usb30_mp_gdsc, usb30_prim_gdsc, usb30_sec_gdsc, emac_0_gdsc, emac_1_gdsc, usb4_1_gdsc, usb4_gdsc, hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc, hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc, hlos1_vote_mmnoc_mmu_tbu_sf0_gdsc, hlos1_vote_mmnoc_mmu_tbu_sf1_gdsc, hlos1_vote_turing_mmu_tbu0_gdsc, hlos1_vote_turing_mmu_tbu1_gdsc, hlos1_vote_turing_mmu_tbu2_gdsc, hlos1_vote_turing_mmu_tbu3_gdsc
100000.clock-controller active 0 SW
894000.i2c active 0 SW
988000.serial active 128 SW
990000.i2c suspended 0 SW
a8c000.i2c suspended 0 SW
power-domain-cpu-cluster0 on 0
power-domain-cpu0, power-domain-cpu1, power-domain-cpu2, power-domain-cpu3, power-domain-cpu4, power-domain-cpu5, power-domain-cpu6, power-domain-cpu7
18200000.rsc suspended 0 SW
power-domain-cpu7 on 0
genpd:0:cpu7 active 0 SW
power-domain-cpu6 on 0
genpd:0:cpu6 active 0 SW
power-domain-cpu5 on 0
genpd:0:cpu5 active 0 SW
power-domain-cpu4 on 0
genpd:0:cpu4 active 0 SW
power-domain-cpu3 on 0
genpd:0:cpu3 active 0 SW
power-domain-cpu2 on 0
genpd:0:cpu2 active 0 SW
power-domain-cpu1 on 0
genpd:0:cpu1 active 0 SW
power-domain-cpu0 on 0
genpd:0:cpu0 active 0 SW
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc
2026-06-26 16:54 ` Vladimir Zapolskiy
@ 2026-06-29 11:03 ` Brian Masney
2026-06-29 13:00 ` Vladimir Zapolskiy
0 siblings, 1 reply; 12+ messages in thread
From: Brian Masney @ 2026-06-29 11:03 UTC (permalink / raw)
To: Vladimir Zapolskiy
Cc: Konrad Dybcio, Bjorn Andersson, Michael Turquette, Stephen Boyd,
Bryan O'Donoghue, linux-arm-msm, linux-clk, linux-kernel
Hi Vladimir,
On Fri, Jun 26, 2026 at 07:54:39PM +0300, Vladimir Zapolskiy wrote:
> On 6/26/26 19:32, Konrad Dybcio wrote:
> > On 6/26/26 6:26 PM, 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:
> >
> > Stuck at _on_ sounds wrong.. does clk_ignore_unused / removing
> > the sync state from the clock part only resolve this? There may
> > be a clock dependency for the TITAN_TOP_GDSC that we're failing to
> > describe
> >
>
> Let me remind that there is a series, which solves this problem in a proper
> and elegant way, it would be nice to get the review tags though:
>
> [1] https://lore.kernel.org/linux-clk/20260331140142.892579-1-vladimir.zapolskiy@linaro.org
As I mentioned in my other message, this series didn't address my issue.
sc8280xp wasn't included in your series, so I had to make the following
change in my tree:
diff --git a/drivers/clk/qcom/camcc-sc8280xp.c b/drivers/clk/qcom/camcc-sc8280xp.c
index 18f5a3eb313e1..4724ea54c5f67 100644
--- a/drivers/clk/qcom/camcc-sc8280xp.c
+++ b/drivers/clk/qcom/camcc-sc8280xp.c
@@ -2995,6 +2995,7 @@ static const struct qcom_cc_desc camcc_sc8280xp_desc = {
.num_resets = ARRAY_SIZE(camcc_sc8280xp_resets),
.gdscs = camcc_sc8280xp_gdscs,
.num_gdscs = ARRAY_SIZE(camcc_sc8280xp_gdscs),
+ .cc_gdsc = &titan_top_gdsc,
};
static const struct of_device_id camcc_sc8280xp_match_table[] = {
Brian
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc
2026-06-26 16:59 ` Vladimir Zapolskiy
@ 2026-06-29 11:07 ` Brian Masney
0 siblings, 0 replies; 12+ messages in thread
From: Brian Masney @ 2026-06-29 11:07 UTC (permalink / raw)
To: Vladimir Zapolskiy
Cc: Bjorn Andersson, Michael Turquette, Stephen Boyd,
Bryan O'Donoghue, linux-arm-msm, linux-clk, linux-kernel
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
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc
2026-06-29 11:03 ` Brian Masney
@ 2026-06-29 13:00 ` Vladimir Zapolskiy
2026-06-29 15:27 ` Brian Masney
0 siblings, 1 reply; 12+ messages in thread
From: Vladimir Zapolskiy @ 2026-06-29 13:00 UTC (permalink / raw)
To: Brian Masney
Cc: Konrad Dybcio, Bjorn Andersson, Michael Turquette, Stephen Boyd,
Bryan O'Donoghue, linux-arm-msm, linux-clk, linux-kernel
Hi Brian,
On 6/29/26 14:03, Brian Masney wrote:
> Hi Vladimir,
>
> On Fri, Jun 26, 2026 at 07:54:39PM +0300, Vladimir Zapolskiy wrote:
>> On 6/26/26 19:32, Konrad Dybcio wrote:
>>> On 6/26/26 6:26 PM, 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:
>>>
>>> Stuck at _on_ sounds wrong.. does clk_ignore_unused / removing
>>> the sync state from the clock part only resolve this? There may
>>> be a clock dependency for the TITAN_TOP_GDSC that we're failing to
>>> describe
>>>
>>
>> Let me remind that there is a series, which solves this problem in a proper
>> and elegant way, it would be nice to get the review tags though:
>>
>> [1] https://lore.kernel.org/linux-clk/20260331140142.892579-1-vladimir.zapolskiy@linaro.org
>
> As I mentioned in my other message, this series didn't address my issue.
> sc8280xp wasn't included in your series, so I had to make the following
> change in my tree:
absolutely, sc8280xp CAMCC should be also fixed in that respect.
>
> diff --git a/drivers/clk/qcom/camcc-sc8280xp.c b/drivers/clk/qcom/camcc-sc8280xp.c
> index 18f5a3eb313e1..4724ea54c5f67 100644
> --- a/drivers/clk/qcom/camcc-sc8280xp.c
> +++ b/drivers/clk/qcom/camcc-sc8280xp.c
> @@ -2995,6 +2995,7 @@ static const struct qcom_cc_desc camcc_sc8280xp_desc = {
> .num_resets = ARRAY_SIZE(camcc_sc8280xp_resets),
> .gdscs = camcc_sc8280xp_gdscs,
> .num_gdscs = ARRAY_SIZE(camcc_sc8280xp_gdscs),
> + .cc_gdsc = &titan_top_gdsc,
> };
>
> static const struct of_device_id camcc_sc8280xp_match_table[] = {
>
commenting the series I was also directed by Konrad's review comment on it.
In addition one problem, which I immediate observe, is that camcc_sc8280xp_desc
misses the necessary .use_rpm flag, can you please do me a favour and test
my series plus the add-on change below?
diff --git a/drivers/clk/qcom/camcc-sc8280xp.c b/drivers/clk/qcom/camcc-sc8280xp.c
index 18f5a3eb313e..a15e9754bfb2 100644
--- a/drivers/clk/qcom/camcc-sc8280xp.c
+++ b/drivers/clk/qcom/camcc-sc8280xp.c
@@ -2995,6 +2995,8 @@ static const struct qcom_cc_desc camcc_sc8280xp_desc = {
.num_resets = ARRAY_SIZE(camcc_sc8280xp_resets),
.gdscs = camcc_sc8280xp_gdscs,
.num_gdscs = ARRAY_SIZE(camcc_sc8280xp_gdscs),
+ .use_rpm = true,
+ .cc_gdsc = &titan_top_gdsc,
};
static const struct of_device_id camcc_sc8280xp_match_table[] = {
Anyway despite my posted series and the above change for sc8280xp resolve
one well-established problem in the CAMCC drivers, I believe there might be
more unresolved issues on top, which should be addressed separately.
--
Best wishes,
Vladimir
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc
2026-06-29 13:00 ` Vladimir Zapolskiy
@ 2026-06-29 15:27 ` Brian Masney
2026-06-29 16:29 ` Vladimir Zapolskiy
0 siblings, 1 reply; 12+ messages in thread
From: Brian Masney @ 2026-06-29 15:27 UTC (permalink / raw)
To: Vladimir Zapolskiy
Cc: Konrad Dybcio, Bjorn Andersson, Michael Turquette, Stephen Boyd,
Bryan O'Donoghue, linux-arm-msm, linux-clk, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1421 bytes --]
Hi Vladimir,
On Mon, Jun 29, 2026 at 04:00:46PM +0300, Vladimir Zapolskiy wrote:
> commenting the series I was also directed by Konrad's review comment on it.
> In addition one problem, which I immediate observe, is that camcc_sc8280xp_desc
> misses the necessary .use_rpm flag, can you please do me a favour and test
> my series plus the add-on change below?
>
> diff --git a/drivers/clk/qcom/camcc-sc8280xp.c b/drivers/clk/qcom/camcc-sc8280xp.c
> index 18f5a3eb313e..a15e9754bfb2 100644
> --- a/drivers/clk/qcom/camcc-sc8280xp.c
> +++ b/drivers/clk/qcom/camcc-sc8280xp.c
> @@ -2995,6 +2995,8 @@ static const struct qcom_cc_desc camcc_sc8280xp_desc = {
> .num_resets = ARRAY_SIZE(camcc_sc8280xp_resets),
> .gdscs = camcc_sc8280xp_gdscs,
> .num_gdscs = ARRAY_SIZE(camcc_sc8280xp_gdscs),
> + .use_rpm = true,
> + .cc_gdsc = &titan_top_gdsc,
> };
> static const struct of_device_id camcc_sc8280xp_match_table[] = {
I tried with this initially, however it fails with:
[ 8.193803] camcc-sc8280xp ad00000.clock-controller: Unbalanced pm_runtime_enable!
I see that pm_runtime_enable() is called from common.c when use_rpm is
enabled. So I removed all of that from camcc-sc8280xp.c with the
attached patch.
It still fails with:
[ 8.204595] camcc-sc8280xp ad00000.clock-controller: probe with driver camcc-sc8280xp failed with error -22
I suspect the use_rpm flag requires a more thorough migration.
Brian
[-- Attachment #2: camcc-sc8280xp.patch --]
[-- Type: text/plain, Size: 1647 bytes --]
diff --git a/drivers/clk/qcom/camcc-sc8280xp.c b/drivers/clk/qcom/camcc-sc8280xp.c
index 18f5a3eb313e1..a7d2a86ddaa36 100644
--- a/drivers/clk/qcom/camcc-sc8280xp.c
+++ b/drivers/clk/qcom/camcc-sc8280xp.c
@@ -8,7 +8,6 @@
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>
-#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <dt-bindings/clock/qcom,sc8280xp-camcc.h>
@@ -2995,6 +2994,8 @@ static const struct qcom_cc_desc camcc_sc8280xp_desc = {
.num_resets = ARRAY_SIZE(camcc_sc8280xp_resets),
.gdscs = camcc_sc8280xp_gdscs,
.num_gdscs = ARRAY_SIZE(camcc_sc8280xp_gdscs),
+ .use_rpm = true,
+ .cc_gdsc = &titan_top_gdsc,
};
static const struct of_device_id camcc_sc8280xp_match_table[] = {
@@ -3008,19 +3009,9 @@ static int camcc_sc8280xp_probe(struct platform_device *pdev)
struct regmap *regmap;
int ret;
- ret = devm_pm_runtime_enable(&pdev->dev);
- if (ret)
- return ret;
-
- ret = pm_runtime_resume_and_get(&pdev->dev);
- if (ret)
- return ret;
-
regmap = qcom_cc_map(pdev, &camcc_sc8280xp_desc);
- if (IS_ERR(regmap)) {
- ret = PTR_ERR(regmap);
- goto err_put_rpm;
- }
+ if (IS_ERR(regmap))
+ return PTR_ERR(regmap);
clk_lucid_pll_configure(&camcc_pll0, regmap, &camcc_pll0_config);
clk_lucid_pll_configure(&camcc_pll1, regmap, &camcc_pll1_config);
@@ -3038,14 +3029,10 @@ static int camcc_sc8280xp_probe(struct platform_device *pdev)
if (ret)
goto err_disable;
- pm_runtime_put(&pdev->dev);
-
return 0;
err_disable:
regmap_update_bits(regmap, 0xc1e4, BIT(0), 0);
-err_put_rpm:
- pm_runtime_put_sync(&pdev->dev);
return ret;
}
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc
2026-06-29 15:27 ` Brian Masney
@ 2026-06-29 16:29 ` Vladimir Zapolskiy
0 siblings, 0 replies; 12+ messages in thread
From: Vladimir Zapolskiy @ 2026-06-29 16:29 UTC (permalink / raw)
To: Brian Masney
Cc: Konrad Dybcio, Bjorn Andersson, Michael Turquette, Stephen Boyd,
Bryan O'Donoghue, linux-arm-msm, linux-clk, linux-kernel
Hi Brian,
On 6/29/26 18:27, Brian Masney wrote:
> Hi Vladimir,
>
> On Mon, Jun 29, 2026 at 04:00:46PM +0300, Vladimir Zapolskiy wrote:
>> commenting the series I was also directed by Konrad's review comment on it.
>> In addition one problem, which I immediate observe, is that camcc_sc8280xp_desc
>> misses the necessary .use_rpm flag, can you please do me a favour and test
>> my series plus the add-on change below?
>>
>> diff --git a/drivers/clk/qcom/camcc-sc8280xp.c b/drivers/clk/qcom/camcc-sc8280xp.c
>> index 18f5a3eb313e..a15e9754bfb2 100644
>> --- a/drivers/clk/qcom/camcc-sc8280xp.c
>> +++ b/drivers/clk/qcom/camcc-sc8280xp.c
>> @@ -2995,6 +2995,8 @@ static const struct qcom_cc_desc camcc_sc8280xp_desc = {
>> .num_resets = ARRAY_SIZE(camcc_sc8280xp_resets),
>> .gdscs = camcc_sc8280xp_gdscs,
>> .num_gdscs = ARRAY_SIZE(camcc_sc8280xp_gdscs),
>> + .use_rpm = true,
>> + .cc_gdsc = &titan_top_gdsc,
>> };
>> static const struct of_device_id camcc_sc8280xp_match_table[] = {
>
> I tried with this initially, however it fails with:
>
> [ 8.193803] camcc-sc8280xp ad00000.clock-controller: Unbalanced pm_runtime_enable!
>
> I see that pm_runtime_enable() is called from common.c when use_rpm is
> enabled. So I removed all of that from camcc-sc8280xp.c with the
> attached patch.
>
I believe the updated change is correct.
> It still fails with:
>
> [ 8.204595] camcc-sc8280xp ad00000.clock-controller: probe with driver camcc-sc8280xp failed with error -22
>
> I suspect the use_rpm flag requires a more thorough migration.
>
Likely it does. Unfortunately I don't have an sc8280xp powered board to get
more information about this particular failure, but please give me some time
to check, if I can reproduce the same issue on SM8250/RB5, if its CAMCC is
added under the runtime PM framework.
Thank you for the performed testing.
--
Best wishes,
Vladimir
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] clk: qcom: enable ALWAYS_ON for titan_top_gdsc
2026-06-26 16:32 ` Konrad Dybcio
2026-06-26 16:54 ` Vladimir Zapolskiy
@ 2026-07-01 4:07 ` Jagadeesh Kona
1 sibling, 0 replies; 12+ messages in thread
From: Jagadeesh Kona @ 2026-07-01 4:07 UTC (permalink / raw)
To: Konrad Dybcio, Brian Masney, Bjorn Andersson, Michael Turquette,
Stephen Boyd, Bryan O'Donoghue
Cc: linux-arm-msm, linux-clk, linux-kernel, Taniya Das
On 6/26/2026 10:02 PM, Konrad Dybcio wrote:
> On 6/26/26 6:26 PM, 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:
>
> Stuck at _on_ sounds wrong.. does clk_ignore_unused / removing
> the sync state from the clock part only resolve this? There may
> be a clock dependency for the TITAN_TOP_GDSC that we're failing to
> describe
>
Hi Brian,
This probably could be due to camcc_gdsc_clk getting turned OFF during the
sync_state, but this clk is required for GDSC transitions. The camcc_gdsc_clk
is currently kept always ON from probe in camcc-sc8280xp, but the clock is
also modeled with clock framework, so the clock can get disabled in sync_state
callback now.
Can you please try removing the modelling of camcc_gdsc_clk using below diff
and see if helps here?
diff --git a/drivers/clk/qcom/camcc-sc8280xp.c b/drivers/clk/qcom/camcc-sc8280xp.c
index e97b8d4f3c84..660d8655d391 100644
--- a/drivers/clk/qcom/camcc-sc8280xp.c
+++ b/drivers/clk/qcom/camcc-sc8280xp.c
@@ -1753,24 +1753,6 @@ static struct clk_branch camcc_csiphy3_clk = {
},
};
-static struct clk_branch camcc_gdsc_clk = {
- .halt_reg = 0xc1e4,
- .halt_check = BRANCH_HALT,
- .clkr = {
- .enable_reg = 0xc1e4,
- .enable_mask = BIT(0),
- .hw.init = &(struct clk_init_data){
- .name = "camcc_gdsc_clk",
- .parent_hws = (const struct clk_hw*[]){
- &camcc_xo_clk_src.clkr.hw,
- },
- .num_parents = 1,
- .flags = CLK_SET_RATE_PARENT,
- .ops = &clk_branch2_ops,
- },
- },
-};
-
static struct clk_branch camcc_icp_ahb_clk = {
.halt_reg = 0xc0d8,
.halt_check = BRANCH_HALT,
@@ -2839,7 +2821,6 @@ static struct clk_regmap *camcc_sc8280xp_clocks[] = {
[CAMCC_CSIPHY2_CLK] = &camcc_csiphy2_clk.clkr,
[CAMCC_CSIPHY3_CLK] = &camcc_csiphy3_clk.clkr,
[CAMCC_FAST_AHB_CLK_SRC] = &camcc_fast_ahb_clk_src.clkr,
- [CAMCC_GDSC_CLK] = &camcc_gdsc_clk.clkr,
[CAMCC_ICP_AHB_CLK] = &camcc_icp_ahb_clk.clkr,
[CAMCC_ICP_CLK] = &camcc_icp_clk.clkr,
[CAMCC_ICP_CLK_SRC] = &camcc_icp_clk_src.clkr,
Thanks,
Jagadeesh
^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2026-07-01 4:07 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2026-06-27 9:51 ` Bryan O'Donoghue
2026-06-29 11:01 ` Brian Masney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox