Introduces support for new DSP IOVA formatting and hardware-specific configuration required to enable ADSP and CDSP functionality on the Kaanapali SoC.
Add support for a new IOVA formatting scheme by adding a sid_pos to the DSP driver. Sid_pos standardizes the placement of the stream ID (SID) within the physical address, which is required for DSPs to operate correctly on Kaanapali. DSP currently supports 32-bit IOVA (32-bit PA + 4-bit SID) for both Q6 and user DMA (uDMA) access. This is being upgraded to 34-bit PA + 4-bit SID due to a hardware revision in CDSP for Kaanapali SoC, which expands the DMA addressable range. To support CDSP operation, this series updates the DMA mask configuration to reflect the expanded DMA addressable range. Patch [v3]:https://lore.kernel.org/all/[email protected]/ Changes in v4: - Resolve warnings reported by make dt_bindings_check - Convert the data type of the dma_addr to dma_addr_t - Replace the macro with an inline function for more readability - Rename the cdsp_dma_bits to dma_addr_bits_extended and default_dma_bits to the dma_addr_bits_default for more clarity Kumari Pallavi (4): dt-bindings: misc: qcom,fastrpc: Add compatible for Kaanapali misc: fastrpc: Rename phys to dma_addr for clarity misc: fastrpc: Add support for new DSP IOVA formatting misc: fastrpc: Update dma_bits for CDSP support on Kaanapali SoC .../bindings/misc/qcom,fastrpc.yaml | 5 +- drivers/misc/fastrpc.c | 130 ++++++++++++------ 2 files changed, 94 insertions(+), 41 deletions(-) -- 2.34.1
