Repository navigation
Shikra: Fix QCE configuration for runtime PM - #1247
roopak-houji wants to merge 5 commits into
Conversation
|
Merge Check Failed: CR Not Eligible for Merge CR 4671922 is not eligible for merge. The parent software image for kernel.qli.2.0 is not development complete. Entity: Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations. |
Add wrapper macros for ACQUIRE()/ACQUIRE_ERR() and runtime PM
usage counter guards introduced recently: pm_runtime_active_try,
pm_runtime_active_auto_try, pm_runtime_active_try_enabled, and
pm_runtime_active_auto_try_enabled.
The new macros should be more straightforward to use.
For example, they can be used for rewriting a piece of code like below:
ACQUIRE(pm_runtime_active_try, pm)(dev);
if ((ret = ACQUIRE_ERR(pm_runtime_active_try, &pm)))
return ret;
in the following way:
PM_RUNTIME_ACQUIRE(dev, pm);
if ((ret = PM_RUNTIME_ACQUIRE_ERR(&pm)))
return ret;
If the original code does not care about the specific error code
returned when attepmting to resume the device:
ACQUIRE(pm_runtime_active_try, pm)(dev);
if (ACQUIRE_ERR(pm_runtime_active_try, &pm))
return -ENXIO;
it may be changed like this:
PM_RUNTIME_ACQUIRE(dev, pm);
if (PM_RUNTIME_ACQUIRE_ERR(&pm))
return -ENXIO;
Link: https://lore.kernel.org/linux-pm/5068916.31r3eYUQgx@rafael.j.wysocki/
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/3400866.aeNJFYEL58@rafael.j.wysocki
(cherry picked from commit ef8057b)
Signed-off-by: Roopak Houji <rhouji@qti.qualcomm.com>
…idth scaling support"
The Qualcomm Crypto Engine (QCE) driver currently lacks support for
runtime power management (PM) and interconnect bandwidth control.
As a result, the hardware remains fully powered and clocks stay
enabled even when the device is idle. Additionally, static
interconnect bandwidth votes are held indefinitely, preventing the
system from reclaiming unused bandwidth.
Address this by enabling runtime PM and dynamic interconnect
bandwidth scaling to allow the system to suspend the device when idle
and scale interconnect usage based on actual demand. Improve overall
system efficiency by reducing power usage and optimizing interconnect
resource allocation.
Make the following changes as part of this integration:
- Add support for pm_runtime APIs to manage device power state
transitions.
- Implement runtime_suspend() and runtime_resume() callbacks to gate
clocks and vote for interconnect bandwidth only when needed.
- Replace devm_clk_get_optional_enabled() with devm_pm_clk_create() +
pm_clk_add() and let the PM core manage device clocks during runtime
PM and system sleep.
- Register dev_pm_ops with the platform driver to hook into the PM
framework.
Tested:
- Verify that ICC votes drop to zero after probe and upon request
completion.
- Confirm that runtime PM usage count increments during active
requests and decrements afterward.
- Observe that the device correctly enters the suspended state when
idle.
This reverts commit 690704e.
Moving changes from V5 to V9
Link: https://lore.kernel.org/all/20251120062443.2016084-1-quic_utiwari@quicinc.com/
Signed-off-by: Udit Tiwari <quic_utiwari@quicinc.com>
Signed-off-by: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
Signed-off-by: Roopak Houji <rhouji@qti.qualcomm.com>
e8df8bb to
3e19832
Compare
|
Merge Check Failed: CR Not Eligible for Merge CR 4671922 is not eligible for merge. The parent software image for kernel.qli.2.0 is not development complete. Entity: Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations. |
3e19832 to
f575ca8
Compare
|
Merge Check Failed: CR Not Eligible for Merge CR 4671922 is not eligible for merge. The parent software image for kernel.qli.2.0 is not development complete. Entity: Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations. |
f575ca8 to
9b567da
Compare
|
Merge Check Failed: CR Not Eligible for Merge CR 4671922 is not eligible for merge. The parent software image for kernel.qli.2.0 is not development complete. Entity: Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations. |
Test Matrix
|
Test Matrix
|
Test Matrix
|
Test Matrix
|
9b567da to
6baf3bb
Compare
Test Matrix
|
…dwidth scaling support The Qualcomm Crypto Engine (QCE) driver currently lacks support for runtime power management (PM) and interconnect bandwidth control. As a result, the hardware remains fully powered and clocks stay enabled even when the device is idle. Additionally, static interconnect bandwidth votes are held indefinitely, preventing the system from reclaiming unused bandwidth. Address this by enabling runtime PM and dynamic interconnect bandwidth scaling to allow the system to suspend the device when idle and scale interconnect usage based on actual demand. Improve overall system efficiency by reducing power usage and optimizing interconnect resource allocation. Link: https://lore.kernel.org/linux-arm-msm/20260729110455.641256-1-kuldeep.singh@oss.qualcomm.com/ Signed-off-by: Udit Tiwari <udit.tiwari@oss.qualcomm.com> Tested-by: Pankaj Patil <pankaj.patil@oss.qualcomm.com> Signed-off-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com> Acked-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Tested-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Signed-off-by: Roopak Houji <rhouji@qti.qualcomm.com>
…ation"
Shikra is derived from Agatti and uses the same QCE integration.
Update the QCE node to match the underlying hardware implementation by
adjusting the fallback compatible and related properties, including
clocks and clock-names.
This reverts commit 61a279f.
moving to latest changes
Signed-off-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Link: https://lore.kernel.org/linux-arm-msm/20260907-b4-shikra_crypto_changse-v6-2-0676f61894b3@oss.qualcomm.com/
Signed-off-by: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
Signed-off-by: Roopak Houji <rhouji@qti.qualcomm.com>
Shikra is derived from Agatti and uses the same QCE integration. Update the QCE node to match the underlying hardware implementation by adjusting the fallback compatible and related properties, including clocks and clock-names. Since cryptobam is marked qcom,controlled-remotely, its clocks are managed remotely and hence don't specify explicitly. Link: https://lore.kernel.org/lkml/20261006-shikra_qce_fix-v1-2-8ac54d81edb4@oss.qualcomm.com/ Fixes: 099cd05 ("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> Signed-off-by: Roopak Houji <rhouji@qti.qualcomm.com>
6baf3bb to
46cd21e
Compare
Test Matrix
|
Test Matrix
|
Test Matrix
|
PR #1247 — validate-patchPR: #1247
Final Summary
|
PR #1247 — checker-log-analyzerPR: #1247
Detailed report: Full report
|
|
roopak-houji please fix dtb-check : |
PR #1247 — checker-log-analyzerPR: #1247
Detailed report: Full report
|
Passed in latest run |
CRs-fixed: 4671922
Signed-off-by: Roopak Houji rhouji@qti.qualcomm.com