[PATCH v2 0/2] ASoC: qcom: x1e80100: allow WSA channel map override
Abel Vesa <[email protected]>
| Newsgroups | org.kernel.vger.linux-sound,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260724-b4-sound-qcom-x1e80100-allow-ucm-channel-map-v2-0-2ca3c1250018@oss.qualcomm.com> |
The x1e80100 machine driver currently derives the WSA RX slot map only from the runtime channel count and programs that map unconditionally in .prepare(). This means userspace cannot override the speaker channel map from UCM. Add WSA channel-map controls backed by per-port storage in the machine driver, then translate the selected SNDRV_CHMAP_* values into Q6 PCM_CHANNEL_* slots when preparing the WSA backend. The WSA links are backend no_pcm links, so the channel-map controls are registered as card-level controls. This keeps them visible to UCM before stream startup while still preserving per-WSA-backend storage. Sorry for the late respin. Signed-off-by: Abel Vesa <[email protected]> --- Changes in v2: - Rebased on next-20260723. - Return 1 from the control put callback when the map changes. - Allow up to six WSA channels for Glymur. - Use WSA-specific control names. - Expose standard ALSA channel maps through TLV data. - Move the SNDRV_CHMAP_* to Q6 PCM_CHANNEL_* conversion helper into qcom common code. - Register card-level controls because the WSA backend links are no_pcm and have no PCM instance available at card init. - Link to v1: https://patch.msgid.link/20260610-sound-qcom-x1e80100-allow-ucm-channel-map-v1-1-9339724994f5@oss.qualcomm.com/ --- Abel Vesa (2): ASoC: qcom: common: Add SNDRV channel map to Q6 slot helper ASoC: qcom: x1e80100: Allow userspace WSA RX chmap override sound/soc/qcom/common.c | 30 ++++++++ sound/soc/qcom/common.h | 1 + sound/soc/qcom/x1e80100.c | 182 +++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 209 insertions(+), 4 deletions(-) --- base-commit: 9eebf259d5352b87080d67758f483583d9e763d7 change-id: 20260724-b4-sound-qcom-x1e80100-allow-ucm-channel-map-5b9ecb27c766 Best regards, -- Abel Vesa <[email protected]>