• Ranjani Sridharan's avatar
    ASoC: SOF: ipc4-topology: Modify the output format selection logic · 1af13f22
    Ranjani Sridharan authored
    Modify the output format selection when there are multiple output
    formats available to choose the one that matches the reference params.
    The reference params depend on the type of module. In the case of
    processing modules, the reference params are based on the selected input
    audio format. This would be the case when a processing module does not
    perform any format conversion during processing.
    
    The only special case is the copier module. The copier module is capable
    of format conversion but it is only used in the case when the output
    is fixed to a single format. In the case of a module copier, when there are
    multiple formats, the reference params is based on the selected input
    params and the output format must match that of the selected input
    format. In the case of host copier, the reference params should be
    based on the input audio format for playback and the FE hw_params for
    capture. In the case DAI copier, the reference params should be based on
    the input audio format for capture and the FE hw_params for playback
    when there is no format conversion in the pipeline from the host to the
    DAI.
    
    Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com
    Link: https://lore.kernel.org/r/20230515103336.16132-8-peter.ujfalusi@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org
    1af13f22
ipc4-topology.c 91.8 KB