• Cezary Rojewski's avatar
    ASoC: Intel: avs: Path creation and freeing · 0ef88207
    Cezary Rojewski authored
    To implement ASoC PCM operations, DSP path handling is needed. With path
    template concept present, information carried by topology file can be
    converted into runtime path representation. Each may be composed of
    several pipelines and each pipeline can contain a number of processing
    modules inside. Number of templates and variants found within topology
    may vastly outnumber the total amount of pipelines and modules supported
    by AudioDSP firmware simultaneously (in runtime) so none of the IDs are
    specified in the topology. These are assigned dynamically when needed
    and account for limitations described by FIRMWARE_CONFIG and
    HARDWARE_CONFIG basefw parameters.
    
    Paths are created on ->hw_params() and are freed on ->hw_free() ALSA PCM
    operations. This choice is based on firmware expectations - need for
    complete set of information when attempting to instantiate pipelines and
    modules on AudioDSP side. With DMA and audio format provided, search
    mechanism tests all path variants available in given path template until
    a matching variant is found. Once found, information already available
    is combined with all avs_tplg_* pieces pointed by matching path variant.
    This finally allows to begin a cascade of IPCs which goal is to reserve
    resources and prepare DSP for upcoming audio streaming.
    Signed-off-by: default avatarAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Signed-off-by: default avatarCezary Rojewski <cezary.rojewski@intel.com>
    Link: https://lore.kernel.org/r/20220331135246.993089-11-cezary.rojewski@intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    0ef88207
Makefile 212 Bytes