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 [v4]:https://lore.kernel.org/all/[email protected]/ Changes in v5: - Update the commit message to clearly explain the background of the change - Use the proper format specifier (%pad) for printing dma_addr_t instead of %llx - Remove unnecessary NULL assignments where not required - Rearrange code for proper alignment and style compliance 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 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 Changes in v2: - Rename phys to dma_addr for clarity - Remove iova_format, add soc_data with sid_pos in channel ctx - Remove sid_pos and pa_bits from the session ctx 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 | 8 +- drivers/misc/fastrpc.c | 130 ++++++++++++------ 2 files changed, 97 insertions(+), 41 deletions(-) -- 2.34.1
