[PATCH v7 0/4] remoteproc: qcom: Introduce DSP support for SM8650

From: Neil Armstrong
Date: Tue Jan 23 2024 - 03:51:31 EST


Add the bindings and driver changes for DSP support on the
SM8650 platform in order to enable the aDSP, cDSP and MPSS
subsystems to boot.

Compared to SM8550, where SM8650 uses the same dual firmware files,
(dtb file and main firmware) the memory zones requirement has changed:
- cDSP: now requires 2 memory zones to be configured as shared
between the cDSP and the HLOS subsystem
- MPSS: In addition to the memory zone required for the SM8550
MPSS, two more are required to be configured for MPSS
usage only.

In order to handle this and avoid code duplication, the region_assign_*
code patch has been made more generic and is able handle multiple
DSP-only memory zones (for MPSS) or DSP-HLOS shared memory zones (cDSP)
in the same region_assign functions.

Dependencies: None

For convenience, a regularly refreshed linux-next based git tree containing
all the SM8650 related work is available at:
https://git.codelinaro.org/neil.armstrong/linux/-/tree/topic/sm8650/upstream/integ

Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
---
Changes in v7:
- Rebased on v6.8-rc1
- Add another memory region for MPSS, in bindings, code and DT
- Kepts Krzysztof's review on bindings after agreement on irc
- Kept drivers patches reviews because it's only a miminal change (value 2 -> 3)
- Link to v6: https://lore.kernel.org/r/20231218-topic-sm8650-upstream-remoteproc-v6-0-3d16b37f154b@xxxxxxxxxx

Changes in v6:
- Rebased on next-20231218, last patch did not apply anymore
- Link to v5: https://lore.kernel.org/r/20231212-topic-sm8650-upstream-remoteproc-v5-0-e749a1a48268@xxxxxxxxxx

Changes in v5:
- Rename _perms to _owners per Konrad suggestion
- Link to v4: https://lore.kernel.org/r/20231208-topic-sm8650-upstream-remoteproc-v4-0-a96c3e5f0913@xxxxxxxxxx

Changes in v4:
- Collected review from Mukesh Ojha
- Fixed adsp_unassign_memory_region() as suggested by Mukesh Ojha
- Link to v3: https://lore.kernel.org/r/20231106-topic-sm8650-upstream-remoteproc-v3-0-dbd4cabaeb47@xxxxxxxxxx

Changes in v3:
- Collected bindings review tags
- Small fixes suggested by Mukesh Ojha
- Link to v2: https://lore.kernel.org/r/20231030-topic-sm8650-upstream-remoteproc-v2-0-609ee572e0a2@xxxxxxxxxx

Changes in v2:
- Fixed sm8650 entries in allOf:if:then to match Krzysztof's comments
- Collected reviewed-by on patch 3
- Link to v1: https://lore.kernel.org/r/20231025-topic-sm8650-upstream-remoteproc-v1-0-a8d20e4ce18c@xxxxxxxxxx

---
Neil Armstrong (4):
dt-bindings: remoteproc: qcom,sm8550-pas: document the SM8650 PAS
remoteproc: qcom: pas: make region assign more generic
remoteproc: qcom: pas: Add SM8650 remoteproc support
arm64: dts: qcom: sm8650: add missing qlink_logging reserved memory for mpss

.../bindings/remoteproc/qcom,sm8550-pas.yaml | 45 ++++++-
arch/arm64/boot/dts/qcom/sm8650.dtsi | 8 +-
drivers/remoteproc/qcom_q6v5_pas.c | 150 ++++++++++++++++-----
3 files changed, 167 insertions(+), 36 deletions(-)
---
base-commit: 6613476e225e090cc9aad49be7fa504e290dd33d
change-id: 20231016-topic-sm8650-upstream-remoteproc-66a87eeb6fee

Best regards,
--
Neil Armstrong <neil.armstrong@xxxxxxxxxx>