• Liam Girdwood's avatar
    ALSA: PCM - Add PCM creation API for internal PCMs. · 945e5038
    Liam Girdwood authored
    The new ASoC dynamic PCM core needs to create PCMs and substreams that are
    for use by internal ASoC drivers only and not visible to userspace for
    direct IO. These new PCMs are similar to regular PCMs expect they have no
    device nodes or procfs entries. The ASoC component drivers use them in exactly
    the same way as regular PCMs for PCM and DAI operations.
    
    The intention is that a dynamic PCM based driver will register both regular
    PCMs and internal PCMs. The regular PCMs will be used for all IO with userspace
    however the internal PCMs will be used by the driver to route digital audio
    through numerous back end DAI links (with potentially a DSP providing different
    hw_params, DAI formats based on the regular front end PCM params) to devices
    like CODECs, MODEMs, Bluetooth, FM, DMICs, etc
    
    This patch adds a new snd_pcm_new_internal() API call to create the internal PCM
    without device nodes or procfs. It also adds adds a new internal flag to snd_pcm.
    
    [fixed minor coding-style issues by tiwai]
    Signed-off-by: default avatarLiam Girdwood <lrg@ti.com>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    945e5038
pcm.c 33.4 KB