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 [v2]:https://lore.kernel.org/all/[email protected]/ Changes in v3: - dt-bindings documentation update to support Kaanapali Soc - update comments to ensure clarity - Read SoC-specific data by matching the SoC’s .compatible field in the driver’s of_device_id match table instead of root node - Rename the dma_mask to the dma_bits for more clarity and set it's value based on the dsp_default_dma_bits instead of hardcode to 32 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 | 127 ++++++++++++------ 2 files changed, 91 insertions(+), 41 deletions(-) -- 2.34.1
