diff options
| author | Mark Brown <broonie@kernel.org> | 2026-10-06 17:37:53 +0200 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-10-06 17:37:53 +0200 |
| commit | 76f97899ec65489c8f720ab1803587c60d8648ea (patch) | |
| tree | 11da69e95e224951d59206ddab15bd06594e3337 /Documentation/devicetree/bindings/sound | |
| parent | 8afbacbcaebc41628a979aaf3fc07866e581fb9b (diff) | |
| parent | bb8afd437d79161592663142a67179565dce4f41 (diff) | |
ASoC: qcom: enable audio on stage-2 protected DSPs (mDSP)
Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com> says:
On platforms such as Qualcomm Shikra, audio is served by the modem DSP
(mDSP) rather than the ADSP. The mDSP runs in a stage-2 protected context
and cannot use the SMMU, so the PCM buffers it consumes must live in
reserved-memory carveouts that are handed to the consumer VMIDs via a
hypervisor (SCM) memory assignment. This series adds that access model to
the q6apm DAI driver and its binding, alongside the existing stage-1/SMMU
(iommus) path, which is left untouched.
The driver detects the mDSP target at runtime from the GPR domain_id
(GPR_DOMAIN_ID_MODEM) and enables the SCM assignment path automatically.
VMIDs are hardcoded in the driver (HLOS + MSS_MSA + LPASS) rather than
read from DT, following the consensus from v2 review discussion with
Krzysztof Kozlowski and Srinivas Kandagatla.
Tested on Qualcomm Shikra with mDSP audio playback and capture.
Link: https://patch.msgid.link/20260923-vmid-v4-v6-0-3d61a0319b1c@oss.qualcomm.com
Diffstat (limited to 'Documentation/devicetree/bindings/sound')
| -rw-r--r-- | Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml b/Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml index 9e5b30d9c6e6..c1f9fc9eab64 100644 --- a/Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml @@ -20,9 +20,24 @@ properties: minItems: 1 maxItems: 2 + memory-region: + minItems: 1 + items: + - description: + Control-path buffer (audio_heap_mem) for platforms where the DSP + runs in a stage-2 protected context (e.g. modem-DSP). + - description: + Data-path buffer pool from which per-stream DMA buffers are + allocated. + required: - compatible - - iommus + +oneOf: + - required: + - iommus + - required: + - memory-region additionalProperties: false |
