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 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/[email protected]/
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 | 52 ++++++++++++++++++-
2 files changed, 53 insertions(+), 2 deletions(-)
--
2.55.0