Shikra audio support - #69
Open
mpratyus wants to merge 4 commits into
Open
Conversation
added 2 commits
July 31, 2026 19:04
Introduce audioreach_gpr_dest_domain() helper in q6prm_audioreach.h that selects the correct GPR destination domain (MDSP or ADSP) based on the gpr_device domain_id. Update __q6prm_audioreach_alloc_pkt() and all callers to pass the gpr_device so the domain is resolved at packet build time rather than being hardcoded to ADSP. Also add QAIF audio interface clock IDs (Q6PRM_LPASS_CLK_ID_AUD_INTF* and LPASS_CLK_ID_AUD_INTF*) to q6prm_audioreach.h and register them in the q6prm clock table so they are available for Shikra QAIF paths. Signed-off-by: Pratyush Meduri <pratyush.meduri@oss.qualcomm.com>
Add a dedicated DMA-heap ("qcom,audio") backed by a gen_pool over a
reserved-memory region. When the device tree lists qcom,vmid with
QCOM_SCM_VMID_MSS_MSA the heap memory is hypervisor-assigned to the
MSS MSA VMID at probe time and unassigned on remove, enabling MDSP
audio paths on Shikra.
Also add an auxiliary reserved-memory region assign path for platforms
that need a second contiguous region assigned alongside the main heap.
Remove the now-superseded CMA child platform-device spawning path
(q6apm-audio-mem-cma) and the q6apm_audio_mem_cma_init/exit calls;
the gen_pool heap replaces that mechanism. Clean up probe error paths
to properly unwind chrdev and heap registrations on failure.
Signed-off-by: Pratyush Meduri <pratyush.meduri@oss.qualcomm.com>
mpratyus
force-pushed
the
shikra-audio-support
branch
2 times, most recently
from
July 31, 2026 16:46
6028b95 to
d48ab7d
Compare
added 2 commits
July 31, 2026 22:20
…F core Replace the hardcoded GPR_DOMAIN_ID_ADSP destination in __q6apm_audio_alloc_pkt() with audioreach_gpr_dest_domain() so that packets are routed to MDSP when the gpr_device carries a non-ADSP domain_id (e.g. Shikra MDSP paths). Add support for three new APM memory-map opcodes needed by MDSP: - APM_CMD_GLOBAL_SHARED_MEM_MAP_REGIONS (0x01001059) - APM_CMD_SHARED_SATELLITE_MEM_MAP_REGIONS (0x01001026) with corresponding packet structs and physical-address fixup handlers in audio_pkt_write(). Detect the modem glink channel at probe time and use "aud_pasthru_modem" as the driver/device name when the channel is "modem_apps", keeping the existing "aud_pasthru_adsp" name for ADSP. In dsp/spf-core.c, remove the local spf_core_gpr_dest_domain() helper (identical logic to audioreach_gpr_dest_domain()) and include q6prm_audioreach.h to use the shared implementation instead. Signed-off-by: Pratyush Meduri <pratyush.meduri@oss.qualcomm.com>
…DAI clocks Add machine-driver support for Shikra CQS and IQS sound cards in audioreach_common.c and extend q6apm_lpass_dummy_dais.c for TDM clock support. audioreach_common.c: - Add shikra_cqs_priv_data and shikra_iqs_priv_data with DAPM widgets, controls, and QAIF backend name overrides. CQS uses QAIF-QAIF_AUD-RX-2 for PRIMARY_MI2S_RX; IQS overrides to QAIF-QAIF_AUD-RX-0 via primary_mi2s_rx_backend_name. - Encode all Shikra-specific behaviour via snd_soc_common flags: stereo_fixup, bclk_from_params, tdm_bclk_rate, qaif_backend_names. This follows the same pattern as all other targets (glymur, kaanapali etc.) — no runtime board identity checks in shared paths. - Extend audioreach_get_link_name() to accept a common pointer for QAIF backend name resolution; existing boards are unaffected (qaif_backend_names=false falls through to original strstr logic). - Add SECONDARY_TDM_RX_0 case in qcs6490_snd_hw_params() gated by tdm_bclk_rate flag for CQS fixed-rate TDM clock setup. - Check devm_snd_soc_register_card() return value. q6apm_lpass_dummy_dais.c: - Add q6apm_lpass_dai_get_clk() helper to deduplicate the three-clock (mclk/bclk/eclk) probe loop, now shared by MI2S and TDM DAI IDs. - Add SENARY_MI2S_RX and PRIMARY_TDM_RX_0 ... QUINARY_TDM_TX_7 cases to of_q6apm_parse_dai_data() for TDM clock parsing. - Wire .shutdown and .set_sysclk into q6tdmdummy_ops using the existing q6i2s_lpass_dai_shutdown and q6i2s_set_sysclk functions. Signed-off-by: Pratyush Meduri <pratyush.meduri@oss.qualcomm.com>
mpratyus
force-pushed
the
shikra-audio-support
branch
from
July 31, 2026 16:50
d48ab7d to
3a254b0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.