* [PATCH v2 0/2] Shikra: Fix qce configuration
@ 2026-11-12 12:51 Kuldeep Singh
2026-11-12 12:51 ` [PATCH v2 1/2] dt-bindings: crypto: Correct Shikra QCE compatible hierarchy Kuldeep Singh
2026-11-12 12:51 ` [PATCH v2 2/2] arm64: dts: qcom: shikra: Correct QCE node configuration Kuldeep Singh
0 siblings, 2 replies; 4+ messages in thread
From: Kuldeep Singh @ 2026-11-12 12:51 UTC (permalink / raw)
To: Bartosz Golaszewski, Herbert Xu, David S. Miller, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Abel Vesa
Cc: Kuldeep Singh, Bartosz Golaszewski, linux-crypto, linux-arm-msm,
devicetree, linux-kernel, Konrad Dybcio, Wenjia Zhang
This patch series fixes QCE on Shikra and targetted for v7.4.
Shikra require explicit clock which is omitted with current binding
description.
Also, one more reason to update shikra-QCE is, clk-smd-rpm was doing proxy
voting and crypto was consuming it. With proxy vote removal, qce need to
vote for it's own clocks explicitly which is already being done for
agatti target. Adapt same mechanism to Shikra QCE too.
The current qce configuration will still work but this one is more
appropriately describing the hardware.
Validations:
- Qce probe and kcapi_convenience.sh tests.
- Correct clk_summary output as prepare_count and enable_count are 0.
Signed-off-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
---
Changes in v2:
- Update commit message on Konrad and Krzysztof comments.
- Link to v1: https://patch.msgid.link/20261006-shikra_qce_fix-v1-0-8ac54d81edb4@oss.qualcomm.com
To: Bartosz Golaszewski <brgl@kernel.org>
To: Herbert Xu <herbert@gondor.apana.org.au>
To: "David S. Miller" <davem@davemloft.net>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Bjorn Andersson <andersson@kernel.org>
To: Konrad Dybcio <konradybcio@kernel.org>
To: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
To: Abel Vesa <abelvesa@kernel.org>
Cc: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Cc: linux-crypto@vger.kernel.org
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
---
Kuldeep Singh (2):
dt-bindings: crypto: Correct Shikra QCE compatible hierarchy
arm64: dts: qcom: shikra: Correct QCE node configuration
Documentation/devicetree/bindings/crypto/qcom-qce.yaml | 3 ++-
arch/arm64/boot/dts/qcom/shikra.dtsi | 7 +++----
2 files changed, 5 insertions(+), 5 deletions(-)
---
base-commit: aaa2f954c21b205a0bcd0961e5b2be4e82e58455
change-id: 20261006-shikra_qce_fix-270b735479ad
Best regards,
--
Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2 1/2] dt-bindings: crypto: Correct Shikra QCE compatible hierarchy
2026-11-12 12:51 [PATCH v2 0/2] Shikra: Fix qce configuration Kuldeep Singh
@ 2026-11-12 12:51 ` Kuldeep Singh
2026-11-12 12:51 ` [PATCH v2 2/2] arm64: dts: qcom: shikra: Correct QCE node configuration Kuldeep Singh
1 sibling, 0 replies; 4+ messages in thread
From: Kuldeep Singh @ 2026-11-12 12:51 UTC (permalink / raw)
To: Bartosz Golaszewski, Herbert Xu, David S. Miller, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Abel Vesa
Cc: Kuldeep Singh, Bartosz Golaszewski, linux-crypto, linux-arm-msm,
devicetree, linux-kernel, Konrad Dybcio
Shikra QCE requires an explicit core clock, while the existing
"qcom,sm8150-qce" fallback allows the clock property to be omitted.
Shikra follows the same QCE clock requirements as QRB2210(agatti).
Update the Shikra fallback to "qcom,ipq4019-qce", which requires the
core clock to be specified.
Fixes: 45834ff95a6f ("dt-bindings: crypto: qcom-qce: Document the Shikra crypto engine")
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
---
Documentation/devicetree/bindings/crypto/qcom-qce.yaml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/crypto/qcom-qce.yaml b/Documentation/devicetree/bindings/crypto/qcom-qce.yaml
index 5a653757ee75..fcf725bfa36b 100644
--- a/Documentation/devicetree/bindings/crypto/qcom-qce.yaml
+++ b/Documentation/devicetree/bindings/crypto/qcom-qce.yaml
@@ -39,6 +39,7 @@ properties:
- qcom,msm8996-qce
- qcom,qcm2290-qce
- qcom,sdm845-qce
+ - qcom,shikra-qce
- qcom,sm6115-qce
- const: qcom,ipq4019-qce
- const: qcom,qce
@@ -54,7 +55,6 @@ properties:
- qcom,qcs8300-qce
- qcom,sa8775p-qce
- qcom,sc7280-qce
- - qcom,shikra-qce
- qcom,sm6350-qce
- qcom,sm8250-qce
- qcom,sm8350-qce
@@ -133,6 +133,7 @@ allOf:
contains:
enum:
- qcom,qcm2290-qce
+ - qcom,shikra-qce
- qcom,sm6115-qce
then:
properties:
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v2 2/2] arm64: dts: qcom: shikra: Correct QCE node configuration
2026-11-12 12:51 [PATCH v2 0/2] Shikra: Fix qce configuration Kuldeep Singh
2026-11-12 12:51 ` [PATCH v2 1/2] dt-bindings: crypto: Correct Shikra QCE compatible hierarchy Kuldeep Singh
@ 2026-11-12 12:51 ` Kuldeep Singh
2026-11-12 13:16 ` sashiko-bot
1 sibling, 1 reply; 4+ messages in thread
From: Kuldeep Singh @ 2026-11-12 12:51 UTC (permalink / raw)
To: Bartosz Golaszewski, Herbert Xu, David S. Miller, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Abel Vesa
Cc: Kuldeep Singh, Bartosz Golaszewski, linux-crypto, linux-arm-msm,
devicetree, linux-kernel, Konrad Dybcio, Wenjia Zhang
Shikra QCE requires an explicit core clock, which is missing from the
current configuration. Add core clock and adjust fallback compatible to
match updated binding description.
Cryptobam is controlled remotely and its clocks are therefore managed by
remote crypto subsystem.
Fixes: 099cd05d200b ("arm64: dts: qcom: shikra: Add ICE, TRNG and QCE nodes")
Tested-by: Wenjia Zhang <wenjia.zhang@oss.qualcomm.com> #on shikra device
Signed-off-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/shikra.dtsi | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi
index 0a95ad5a5582..d5f0ef863173 100644
--- a/arch/arm64/boot/dts/qcom/shikra.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra.dtsi
@@ -1208,7 +1208,7 @@ cryptobam: dma-controller@1b04000 {
};
crypto: crypto@1b3a000 {
- compatible = "qcom,shikra-qce", "qcom,sm8150-qce", "qcom,qce";
+ compatible = "qcom,shikra-qce", "qcom,ipq4019-qce", "qcom,qce";
reg = <0x0 0x01b3a000 0x0 0x6000>;
dmas = <&cryptobam 4>, <&cryptobam 5>;
dma-names = "rx", "tx";
@@ -1219,9 +1219,8 @@ crypto: crypto@1b3a000 {
<&apps_smmu 0x96 0x0011>,
<&apps_smmu 0x98 0x0001>,
<&apps_smmu 0x9f 0x0>;
- interconnects = <&system_noc MASTER_CRYPTO_CORE0 0
- &mc_virt SLAVE_EBI_CH0 0>;
- interconnect-names = "memory";
+ clocks = <&rpmcc RPM_SMD_CE1_CLK>;
+ clock-names = "core";
};
qfprom: efuse@1b44000 {
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: qcom: shikra: Correct QCE node configuration
2026-11-12 12:51 ` [PATCH v2 2/2] arm64: dts: qcom: shikra: Correct QCE node configuration Kuldeep Singh
@ 2026-11-12 13:16 ` sashiko-bot
0 siblings, 0 replies; 4+ messages in thread
From: sashiko-bot @ 2026-11-12 13:16 UTC (permalink / raw)
To: Kuldeep Singh, Bartosz Golaszewski, Herbert Xu, David S. Miller,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Abel Vesa
Cc: Bartosz Golaszewski, linux-crypto, devicetree, Konrad Dybcio,
Wenjia Zhang
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Medium] arm64: dts: qcom: shikra: unexplained removal of QCE memory
interconnect
--
commit accab4d6610b99099fcb37c8fbe0de4933119ef7
Author: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
arm64: dts: qcom: shikra: Correct QCE node configuration
This commit updates the fallback compatible string and replaces the memory
interconnect properties with the core clock in the Shikra QCE device tree
node.
> diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi
> index 0a95ad5a5582c..d5f0ef863173e 100644
> --- a/arch/arm64/boot/dts/qcom/shikra.dtsi
> +++ b/arch/arm64/boot/dts/qcom/shikra.dtsi
> @@ -1208,7 +1208,7 @@ cryptobam: dma-controller@1b04000 {
> };
>
> crypto: crypto@1b3a000 {
> - compatible = "qcom,shikra-qce", "qcom,sm8150-qce", "qcom,qce";
> + compatible = "qcom,shikra-qce", "qcom,ipq4019-qce", "qcom,qce";
> reg = <0x0 0x01b3a000 0x0 0x6000>;
> dmas = <&cryptobam 4>, <&cryptobam 5>;
> dma-names = "rx", "tx";
> @@ -1219,9 +1219,8 @@ crypto: crypto@1b3a000 {
> <&apps_smmu 0x96 0x0011>,
> <&apps_smmu 0x98 0x0001>,
> <&apps_smmu 0x9f 0x0>;
> - interconnects = <&system_noc MASTER_CRYPTO_CORE0 0
> - &mc_virt SLAVE_EBI_CH0 0>;
> - interconnect-names = "memory";
> + clocks = <&rpmcc RPM_SMD_CE1_CLK>;
> + clock-names = "core";
> };
[Severity: Medium]
Was the removal of interconnects and interconnect-names intentional here?
qce_crypto_probe() acquires both the core clock (qce->core) and the "memory"
interconnect path (qce->mem_path), and qce_runtime_resume() votes for
QCE_DEFAULT_MEM_BANDWIDTH on qce->mem_path alongside enabling qce->core.
Without the interconnect properties, the QCE driver no longer scales the
MASTER_CRYPTO_CORE0 to SLAVE_EBI_CH0 path during crypto transfers, and the
commit message does not mention removing it.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261112-shikra_qce_fix-v2-0-2ce112cc2ccf@oss.qualcomm.com?part=2
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-11-12 13:16 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-12 12:51 [PATCH v2 0/2] Shikra: Fix qce configuration Kuldeep Singh
2026-11-12 12:51 ` [PATCH v2 1/2] dt-bindings: crypto: Correct Shikra QCE compatible hierarchy Kuldeep Singh
2026-11-12 12:51 ` [PATCH v2 2/2] arm64: dts: qcom: shikra: Correct QCE node configuration Kuldeep Singh
2026-11-12 13:16 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox