[PATCH v3 0/3] remoteproc: Hawi CDSP support with per-PD
From: Mukesh Ojha
Date: Wed Sep 09 2026 - 07:08:40 EST
qcom,hawi-cdsp-pas was initially grouped as a fallback to
qcom,sm8550-cdsp-pas on the hardware-level compatibility. Bringup revealed
that the NSP proxy power domain on Hawi requires a specific RPMH
performance level below what sm8550 already supports, breaking the
compatibility contract the fallback string implies. Remove
qcom,hawi-cdsp-pas from the sm8550-cdsp-pas fallback items block, add it to
the standalone compatible enum, and extend the existing cx/mxc/nsp
power-domain constraint to cover it explicitly.
The fix is two-part: first, propagate the dev_pm_genpd_set_performance_state()
return value so the failure becomes visible instead of silently proceeding
with firmware load. Second, introduce a per-PD performance state table in
qcom_pas_data so platforms can declare explicit RPMH levels for each proxy
domain. Platforms that omit the table retain the existing INT_MAX behaviour.
Hawi CDSP declares CX/MXC at TURBO and NSP at NOM, matching the hardware
requirement.
The binding and DTS are updated in tandem: qcom,hawi-cdsp-pas is made a
standalone compatible (dropped from the sm8550-cdsp-pas fallback group)
because the proxy PD behaviour diverges from sm8550, breaking the
compatibility contract the fallback string implies.
---
Changes in v3:
- Converted warn into failure in 1/3 as per review.
- Added R-b tag.
- Link to v2:
https://lore.kernel.org/lkml/20260902204334.2061226-1-mukesh.ojha@xxxxxxxxxxxxxxxx/
Changes in v2:
- Propagating the err dev_pm_genpd_set_performance_state() as a
separate commit.
- Added a binding correction for hawi as it should be
standalone one instead of falling back to sm8550.
- Add num_proxy_pd_performance_states count field with a
WARN_ON in
probe to catch mismatch between the array size and the actual
proxy
PD count at boot time, returning -EINVAL if they diverge.
- [v1]
https://lore.kernel.org/lkml/20260828181311.4038346-3-mukesh.ojha@xxxxxxxxxxxxxxxx/
Mukesh Ojha (3):
remoteproc: qcom_q6v5_pas: propagate
dev_pm_genpd_set_performance_state() errors
dt-bindings: remoteproc: qcom,sm8550-pas: make qcom,hawi-cdsp-pas
standalone
remoteproc: qcom_q6v5_pas: add per-PD proxy performance states for
Hawi CDSP
.../bindings/remoteproc/qcom,sm8550-pas.yaml | 3 +-
drivers/remoteproc/qcom_q6v5_pas.c | 54 ++++++++++++++++++-
2 files changed, 55 insertions(+), 2 deletions(-)
--
2.55.0