FROMLIST: misc: fastrpc: map ADSP remote heap into remoteproc IOMMU domain#1443
Conversation
|
remove empty line b/w Link: and Signed-off-by tag |
…omain When the remoteproc has an IOMMU (kernel running at EL2 without a separate hypervisor), memory carveouts must be explicitly mapped into the remoteproc's IOMMU domain so the DSP can access them. Without this mapping the DSP triggers an SMMU translation fault when accessing the remote heap carveout used for audio PD static process creation. Add has_iommu to fastrpc_channel_ctx, set from the "iommus" property of the remoteproc DT node. When set, map the ADSP remote heap carveout into the remoteproc's IOMMU domain using an identity mapping (IOVA == PA) via iommu_map(), and skip qcom_scm_assign_mem() which is only needed when a separate hypervisor manages inter-VM memory access control. Introduce fastrpc_remote_heap_map() and fastrpc_remote_heap_unmap() helpers to encapsulate the IOMMU domain lookup and map/unmap. Link: https://lore.kernel.org/all/20260618-audio_fix_clean_v3-v1-1-ec1ee66fe455@oss.qualcomm.com/ Signed-off-by: Anandu Krishnan E <anandu.e@oss.qualcomm.com>
e6a8619 to
7beb92b
Compare
|
Merge Check Failed: No Component Found Configuration Error: No component found for branch 'tech/mm/fastrpc'. There is no component associated with the provided branch in Polaris. Please verify the branch configuration. Branch: |
🔨 Build Failure Analysis — PR #1443PR: #1443
VerdictThe build failed due to merge conflicts during integration (not PR-introduced). However, the PR contains 1 compilation error that would surface once conflicts are resolved: incorrect iommu_map() API usage. 📎 Detailed analysis: Full report |
🔨 Build Failure Analysis — PR #1443PR: #1443
VerdictThis is NOT a compilation failure. The build failed during the pre-merge integration step when automerge attempted to merge PR branch 📎 Detailed analysis: Full report |
PR #1443 — validate-patchPR: #1443
Final Summary
|
PR #1443 — checker-log-analyzerPR: #1443
Detailed report: Full report
|
When the remoteproc has an IOMMU (kernel running at EL2 without a separate hypervisor), memory carveouts must be explicitly mapped into the remoteproc's IOMMU domain so the DSP can access them. Without this mapping the DSP triggers an SMMU translation fault when accessing the remote heap carveout used for audio PD static process creation.
Add has_iommu to fastrpc_channel_ctx, set from the "iommus" property of the remoteproc DT node. When set, map the ADSP remote heap carveout into the remoteproc's IOMMU domain using an identity mapping (IOVA == PA) via iommu_map(), and skip qcom_scm_assign_mem() which is only needed when a separate hypervisor manages inter-VM memory access control.
Introduce fastrpc_remote_heap_map() and fastrpc_remote_heap_unmap() helpers to encapsulate the IOMMU domain lookup and map/unmap.
Link: https://lore.kernel.org/all/20260618-audio_fix_clean_v3-v1-1-ec1ee66fe455@oss.qualcomm.com/
Signed-off-by: Anandu Krishnan E anandu.e@oss.qualcomm.com
CRs-Fixed: 4564170