Re: [PATCH v5] crypto: qce - Add runtime PM and interconnect bandwidth scaling support

From: Udit Tiwari
Date: Tue Jan 06 2026 - 00:12:01 EST




On 12/5/2025 4:59 PM, Konrad Dybcio wrote:
On 11/20/25 7:24 AM, quic_utiwari@xxxxxxxxxxx wrote:
From: Udit Tiwari <quic_utiwari@xxxxxxxxxxx>

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.

[...]

@@ -90,13 +93,17 @@ static int qce_handle_queue(struct qce_device *qce,
struct crypto_async_request *async_req, *backlog;
int ret = 0, err;
+ ret = pm_runtime_resume_and_get(qce->dev);
+ if (ret < 0)
+ return ret;
+

This is quite new, but maybe we could use

ACQUIRE(pm_runtime_active_try, pm)(qce->dev);
ret = ACQUIRE_ERR(pm_runtime_active_auto_try, &pm)
if (ret)
return ret;

and drop the goto-s

Konrad

Thanks for the review and suggestion konrad.

The optimization you proposed is more of an incremental refinement rather than a functional fix, and I’d prefer to keep this patch focused so it’s easier to review and backport. Would it be acceptable to merge this as-is and handle that optimization in a small follow-up patch?

If you consider it a hard requirement for this series, I can rework it, but my preference is to land the functional PM support first and then iterate.

Best regards,
Udit