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