Skip to content

Enable iface clock and power domain for kodiak and monaco ice sdhc#455

Merged
sgaud-quic merged 2 commits intoqualcomm-linux:qcom-6.18.yfrom
arakshit011:sdhci-ice-iface-power
Apr 14, 2026
Merged

Enable iface clock and power domain for kodiak and monaco ice sdhc#455
sgaud-quic merged 2 commits intoqualcomm-linux:qcom-6.18.yfrom
arakshit011:sdhci-ice-iface-power

Conversation

@arakshit011
Copy link
Copy Markdown

@arakshit011 arakshit011 commented Apr 13, 2026

Previously, ice used to exists jointly with ufs/mmc driver and not a
standalone driver.

With recent efforts of making ice as separate module after decoupling
from ufs driver. Update sdhc ice kodiak/moanco DT nodes to adapt power
domain and iface clock to probe successfully.

The patchset is motivation to fix ice mmc where ice ufs is fixed with
below series.
https://lore.kernel.org/linux-arm-msm/20260323-qcom_ice_power_and_clk_vote-v4-0-e36044bbdfe9@oss.qualcomm.com/T/#m5da5dd7a18318583b23ffeb42fa07ef1438042d5

Testing:

  • dtbs check
  • Custom monaco/kodiak device with emmc storage.

Link: https://lore.kernel.org/linux-arm-msm/20260409-ice_emmc_clock_addition-v2-0-90bbcc057361@oss.qualcomm.com/
qcom-next PR: qualcomm-linux/kernel-topics#908
Signed-off-by: Kuldeep Singh kuldeep.singh@oss.qualcomm.com
Signed-off-by: Abhinaba Rakshit abhinaba.rakshit@oss.qualcomm.com
CRs-Fixed: 4496996

@arakshit011 arakshit011 requested a review from a team April 13, 2026 05:57
Kuldeep Singh added 2 commits April 13, 2026 12:04
…for ice sdhc

Qualcomm in-line crypto engine (ICE) platform driver specifies and votes
for its own resources. Before accessing ICE hardware during probe, to
avoid potential unclocked register access issues (when clk_ignore_unused
is not passed on the kernel command line), in addition to the 'core'
clock the 'iface' clock should also be turned on by the driver. This can
only be done if power domain is enabled.

Specify both power domain and the iface clock.

Link: https://lore.kernel.org/linux-arm-msm/20260409-ice_emmc_clock_addition-v2-1-90bbcc057361@oss.qualcomm.com/
Signed-off-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Signed-off-by: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
…for ice sdhc

Qualcomm in-line crypto engine (ICE) platform driver specifies and votes
for its own resources. Before accessing ICE hardware during probe, to
avoid potential unclocked register access issues (when clk_ignore_unused
is not passed on the kernel command line), in addition to the 'core'
clock the 'iface' clock should also be turned on by the driver. This can
only be done if power domain is enabled.

Specify both power domain and the iface clock.

Link: https://lore.kernel.org/linux-arm-msm/20260409-ice_emmc_clock_addition-v2-2-90bbcc057361@oss.qualcomm.com/
Signed-off-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Signed-off-by: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
BT_FW_KMD_Service ❌ Fail ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_SCAN ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
DSP_AudioPD ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Ethernet ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ⚠️ skip ◻️ ◻️
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
OpenCV ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Probe_Failure_Check ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ◻️ ◻️
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
USBHost ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ◻️
WiFi_Firmware_Driver ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
WiFi_OnOff ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
irq ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
smmu ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️

@sgaud-quic
Copy link
Copy Markdown
Contributor

@vnarapar can you check irq failure on RB8 device :
https://lava-oss.qualcomm.com/scheduler/job/72694#results_4182

+ /lava-72694/0/tests/0_qcom-next-ci-premerge-tests/Runner/suites/Kernel/Baseport/irq/run.sh
[INFO] 2026-04-13 10:40:40 - -----------------------------------------------------------------------------------------
[INFO] 2026-04-13 10:40:40 - -------------------Starting irq Testcase----------------------------
[INFO] 2026-04-13 10:40:40 - === Test Initialization ===
[INFO] 2026-04-13 10:40:40 - Initial timer count:
[INFO] 2026-04-13 10:40:40 -  11:       4323       3835       2966       4472       4640       2576       2633       2456    GICv3  27 Level     arch_timer
[INFO] 2026-04-13 10:41:00 - Timer count after 20 secs:
[INFO] 2026-04-13 10:41:00 -  11:       4545       4050       2966       4479       5011       2589       2641       2464    GICv3  27 Level     arch_timer
[INFO] 2026-04-13 10:41:00 - Comparing timer counts:
[INFO] 2026-04-13 10:41:00 - Detected timer counters: initial=8 final=8
[PASS] 2026-04-13 10:41:00 - CPU 0: Timer count has incremented. Test PASSED
[PASS] 2026-04-13 10:41:00 - CPU 1: Timer count has incremented. Test PASSED
[FAIL] 2026-04-13 10:41:00 - CPU 2: Timer count has not incremented. Test FAILED
[PASS] 2026-04-13 10:41:00 - CPU 3: Timer count has incremented. Test PASSED
[PASS] 2026-04-13 10:41:00 - CPU 4: Timer count has incremented. Test PASSED
[PASS] 2026-04-13 10:41:00 - CPU 5: Timer count has incremented. Test PASSED
[PASS] 2026-04-13 10:41:00 - CPU 6: Timer count has incremented. Test PASSED
[PASS] 2026-04-13 10:41:00 - CPU 7: Timer count has incremented. Test PASSED
+ true
+ /lava-72694/0/tests/0_qcom-next-ci-premerge-tests/Runner/utils/send-to-lava.sh /lava-72694/0/tests/0_qcom-next-ci-premerge-tests/Runner/suites/Kernel/Baseport/irq/irq.res
<<<LAVA_SIGNAL_TESTCASE TEST_CASE_ID=irq RESULT=FAIL>>>

@vnarapar
Copy link
Copy Markdown

Failing for cpu2

@arakshit011
Copy link
Copy Markdown
Author

Hello @sgaud-quic
I suspect it as a random failure, as the change does not even include lemans-evk. Change only targets Monaco and Kodiak.
Can you please help rerun the CI?

@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
BT_FW_KMD_Service ❌ Fail ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_SCAN ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
DSP_AudioPD ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Ethernet ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ⚠️ skip ◻️ ◻️
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
OpenCV ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Probe_Failure_Check ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ◻️ ◻️
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
USBHost ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ◻️
WiFi_Firmware_Driver ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
WiFi_OnOff ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
smmu ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️

@sgaud-quic sgaud-quic merged commit ec002ab into qualcomm-linux:qcom-6.18.y Apr 14, 2026
6 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants