>> Wait, is this saying you will have exactly one PCM device/FE DAI >> connected to the USB BE DAI exposed in patch 11? >> >>> + SND_SOC_DAPM_MIXER("USB Mixer", SND_SOC_NOPM, 0, 0, >>> + usb_mixer_controls, >>> + ARRAY_SIZE(usb_mixer_controls)), >>> + >> >> And then what is the role of the USB mixer if you only have one input? >> >> I must be missing something. >> > > Not sure if this is a QCOM specific implementation, but the way the DT > is defined for the USB offload path is as follows: > > usb-dai-link { > link-name = "USB Playback"; > > cpu { > sound-dai = <&q6afedai USB_RX>; > }; > > codec { > sound-dai = <&usbdai USB_RX>; > }; > > platform { > sound-dai = <&q6routing>; > }; > }; > > Based on our DT parser helper API (qcom_snd_parse_of()) this isn't going > to create a PCM device. The PCM devices are created for nodes that > don't have a codec and platform defined: > > mm1-dai-link { > link-name = "MultiMedia1"; > cpu { > sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; > }; > }; > > The ASM path is the entity that defines the number of PCM devices that > is created for the QC ASoC platform card, and is where the actual PCM > data is sent over to the DSP. So there could be several PCM devices > that can use the USB BE DAI. ok, but then how would this work with the ALSA controls reporting which PCM device can be used? I didn't see a mechanism allowing for more than one offloaded device, IIRC the control reported just ONE PCM device number.