Hi, Improve the logic to account for the current restrictions in topology while making it extensible for future topology modifications. The current topology definitions assume that input/output formats come in pairs. For example even if there's only 1 output format for a module, we add 3 output formats to match that of the input format count with the same parameters. This is unnecessary but we have to deal with it until the topologies are modified. Additionally, choosing the input/output audio format should depend only on the pipeline params or the runtime FE hw_params depending on where the module is in the pipeline. This PR modifies the logic for selection based on this and removes unnecessary dependencies between the input and output formats. Regards, Peter --- Ranjani Sridharan (9): ASoC: SOF: ipc4-topology: Handle input/output audio format special case ASoC: SOF: ipc4-topology: Add a helper function for output format selection ASoC: SOF: ipc4-topology: Move the call to init output format ASoC: SOF: ipc4-topology: Rename sof_ipc4_init_audio_fmt() ASoC: SOF: ipc4-topology: Handle output format special case ASoC: SOF: ipc4-topology: Add a new helper function to get the valid bits ASoC: SOF: ipc4-topology: Modify the output format selection logic ASoC: SOF: ipc4-topology: New helper to check if all output formats are the same ASoC: SOF: ipc4-topology: Modify input audio format selection logic sound/soc/sof/ipc4-topology.c | 358 ++++++++++++++++++++++------------ 1 file changed, 237 insertions(+), 121 deletions(-) -- 2.40.1