[Sound-open-firmware] [PATCH] topology: scripts: make topology build script generic
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Mon May 21 22:42:55 CEST 2018
On 5/21/18 3:26 PM, Ranjani Sridharan wrote:
> Make tplg build script a bit generic to be able to choose only the
> required test cases.
The commit message doesn't really explain what you are suggesting in the
code, which is refactoring the functions to remove the need for a
tone-specific function and topology generation.
You are not 'choosing only the required test cases' but removing
tone-specific functions.
>
> Signed-off-by: Ranjani Sridharan <ranjani.sridharan at linux.intel.com>
> ---
> topology/test/tplg-build.sh | 118 ++++++++++++++----------------------
> 1 file changed, 44 insertions(+), 74 deletions(-)
>
> diff --git a/topology/test/tplg-build.sh b/topology/test/tplg-build.sh
> index 36b657e..26c70ad 100755
> --- a/topology/test/tplg-build.sh
> +++ b/topology/test/tplg-build.sh
> @@ -32,7 +32,8 @@ M4_STRINGS=""
> #
>
> function simple_test {
> - for i in ${SIMPLE_TESTS[@]}
> + TESTS=("${!12}")
> + for i in ${TESTS[@]}
> do
> TFILE="$i$5-${11}-$2-$4-$6-48k-$((${10} / 1000))k-$1"
> if [ "$USE_XARGS" == "yes" ]
> @@ -67,54 +68,23 @@ function simple_test {
> done
> }
>
> -# process m4 tone test -
> -# tone_test(name, pipe_name, be_name, format, dai_id, dai_format, dai_phy_bits, dai_data_bits dai_bclk)
> -# 1) name - test filename suffix
> -# 2) pipe_name - test component pipeline filename in sof/
> -# 3) be_name - BE DAI link name in machine driver, used for matching
> -# 4) format - PCM sample format
> -# 5) dai_id - SSP port number
> -# 6) dai_format - SSP sample format
> -# 7) dai_phy_bits - SSP physical number of BLKCs per slot/channel
> -# 8) dai_data_bits - SSP number of valid data bits per slot/channel
> -# 9) dai_bclk - SSP BCLK in HZ
> -# 10) dai_mclk - SSP MCLK in HZ
> -#
> -function tone_test {
> - TFILE="$TONE_TEST$5-$2-$4-$6-48k-$1"
> - echo "M4 pre-processing test $TONE_TEST -> ${TFILE}"
> - m4 \
> - -DTEST_PIPE_NAME="$2" \
> - -DTEST_DAI_LINK_NAME="$3" \
> - -DTEST_SSP_PORT=$5 \
> - -DTEST_SSP_FORMAT=$6 \
> - -DTEST_PIPE_FORMAT=$4 \
> - -DTEST_SSP_BCLK=$9 \
> - -DTEST_SSP_MCLK=${10} \
> - -DTEST_SSP_PHY_BITS=$7 \
> - -DTEST_SSP_DATA_BITS=$8 \
> - $TONE_TEST.m4 > ${TFILE}.conf
> - echo "Compiling test $TONE_TEST -> ${TFILE}.tplg"
> - alsatplg -v 1 -c ${TFILE}.conf -o ${TFILE}.tplg
> -}
> -
> echo "Preparing topology build input..."
>
> # Pre-process the simple tests
> -simple_test nocodec passthrough "NoCodec" s16le 2 s16le 20 16 1920000 19200000 I2S
> -simple_test nocodec passthrough "NoCodec" s24le 2 s24le 25 24 2400000 19200000 I2S
> -simple_test nocodec volume "NoCodec" s16le 2 s16le 20 16 1920000 19200000 I2S
> -simple_test nocodec volume "NoCodec" s24le 2 s24le 25 24 2400000 19200000 I2S
> -simple_test nocodec volume "NoCodec" s16le 2 s24le 25 24 2400000 19200000 I2S
> -simple_test nocodec src "NoCodec" s24le 2 s24le 25 24 2400000 19200000 I2S
> -
> -simple_test codec passthrough "SSP2-Codec" s16le 2 s16le 20 16 1920000 19200000 I2S
> -simple_test codec passthrough "SSP2-Codec" s24le 2 s24le 25 24 2400000 19200000 I2S
> -simple_test codec volume "SSP2-Codec" s16le 2 s16le 20 16 1920000 19200000 I2S
> -simple_test codec volume "SSP2-Codec" s24le 2 s24le 25 24 2400000 19200000 I2S
> -simple_test codec volume "SSP2-Codec" s24le 2 s16le 20 16 1920000 19200000 I2S
> -simple_test codec volume "SSP2-Codec" s16le 2 s24le 25 24 2400000 19200000 I2S
> -simple_test codec src "SSP2-Codec" s24le 2 s24le 25 24 2400000 19200000 I2S
> +simple_test nocodec passthrough "NoCodec" s16le 2 s16le 20 16 1920000 19200000 I2S SIMPLE_TESTS[@]
> +simple_test nocodec passthrough "NoCodec" s24le 2 s24le 25 24 2400000 19200000 I2S SIMPLE_TESTS[@]
> +simple_test nocodec volume "NoCodec" s16le 2 s16le 20 16 1920000 19200000 I2S SIMPLE_TESTS[@]
> +simple_test nocodec volume "NoCodec" s24le 2 s24le 25 24 2400000 19200000 I2S SIMPLE_TESTS[@]
> +simple_test nocodec volume "NoCodec" s16le 2 s24le 25 24 2400000 19200000 I2S SIMPLE_TESTS[@]
> +simple_test nocodec src "NoCodec" s24le 2 s24le 25 24 2400000 19200000 I2S SIMPLE_TESTS[@]
> +
> +simple_test codec passthrough "SSP2-Codec" s16le 2 s16le 20 16 1920000 19200000 I2S SIMPLE_TESTS[@]
> +simple_test codec passthrough "SSP2-Codec" s24le 2 s24le 25 24 2400000 19200000 I2S SIMPLE_TESTS[@]
> +simple_test codec volume "SSP2-Codec" s16le 2 s16le 20 16 1920000 19200000 I2S SIMPLE_TESTS[@]
> +simple_test codec volume "SSP2-Codec" s24le 2 s24le 25 24 2400000 19200000 I2S SIMPLE_TESTS[@]
> +simple_test codec volume "SSP2-Codec" s24le 2 s16le 20 16 1920000 19200000 I2S SIMPLE_TESTS[@]
> +simple_test codec volume "SSP2-Codec" s16le 2 s24le 25 24 2400000 19200000 I2S SIMPLE_TESTS[@]
> +simple_test codec src "SSP2-Codec" s24le 2 s24le 25 24 2400000 19200000 I2S SIMPLE_TESTS[@]
>
> # for APL
> APL_PROTOCOL_TESTS=(I2S LEFT_J DSP_A DSP_B)
> @@ -130,22 +100,22 @@ do
> do
> for format in ${APL_FORMAT_TESTS[@]}
> do
> - simple_test nocodec $mode "NoCodec" $format $ssp s16le 16 16 1536000 24576000 $protocol
> - simple_test nocodec $mode "NoCodec" $format $ssp s24le 32 24 3072000 24576000 $protocol
> - simple_test nocodec $mode "NoCodec" $format $ssp s32le 32 32 3072000 24576000 $protocol
> + simple_test nocodec $mode "NoCodec" $format $ssp s16le 16 16 1536000 24576000 $protocol SIMPLE_TESTS[@]
> + simple_test nocodec $mode "NoCodec" $format $ssp s24le 32 24 3072000 24576000 $protocol SIMPLE_TESTS[@]
> + simple_test nocodec $mode "NoCodec" $format $ssp s32le 32 32 3072000 24576000 $protocol SIMPLE_TESTS[@]
>
> - simple_test codec $mode "SSP${ssp}-Codec" $format $ssp s16le 16 16 1536000 24576000 $protocol
> - simple_test codec $mode "SSP${ssp}-Codec" $format $ssp s24le 32 24 3072000 24576000 $protocol
> - simple_test codec $mode "SSP${ssp}-Codec" $format $ssp s32le 32 32 3072000 24576000 $protocol
> + simple_test codec $mode "SSP${ssp}-Codec" $format $ssp s16le 16 16 1536000 24576000 $protocol SIMPLE_TESTS[@]
> + simple_test codec $mode "SSP${ssp}-Codec" $format $ssp s24le 32 24 3072000 24576000 $protocol SIMPLE_TESTS[@]
> + simple_test codec $mode "SSP${ssp}-Codec" $format $ssp s32le 32 32 3072000 24576000 $protocol SIMPLE_TESTS[@]
> done
> done
> - simple_test nocodec passthrough "NoCodec" s16le $ssp s16le 16 16 1536000 24576000 $protocol
> - simple_test nocodec passthrough "NoCodec" s24le $ssp s24le 32 24 3072000 24576000 $protocol
> - simple_test nocodec passthrough "NoCodec" s32le $ssp s32le 32 32 3072000 24576000 $protocol
> + simple_test nocodec passthrough "NoCodec" s16le $ssp s16le 16 16 1536000 24576000 $protocol SIMPLE_TESTS[@]
> + simple_test nocodec passthrough "NoCodec" s24le $ssp s24le 32 24 3072000 24576000 $protocol SIMPLE_TESTS[@]
> + simple_test nocodec passthrough "NoCodec" s32le $ssp s32le 32 32 3072000 24576000 $protocol SIMPLE_TESTS[@]
>
> - simple_test codec passthrough "SSP${ssp}-Codec" s16le $ssp s16le 16 16 1536000 24576000 $protocol
> - simple_test codec passthrough "SSP${ssp}-Codec" s24le $ssp s24le 32 24 3072000 24576000 $protocol
> - simple_test codec passthrough "SSP${ssp}-Codec" s32le $ssp s32le 32 32 3072000 24576000 $protocol
> + simple_test codec passthrough "SSP${ssp}-Codec" s16le $ssp s16le 16 16 1536000 24576000 $protocol SIMPLE_TESTS[@]
> + simple_test codec passthrough "SSP${ssp}-Codec" s24le $ssp s24le 32 24 3072000 24576000 $protocol SIMPLE_TESTS[@]
> + simple_test codec passthrough "SSP${ssp}-Codec" s32le $ssp s32le 32 32 3072000 24576000 $protocol SIMPLE_TESTS[@]
> done
> done
>
> @@ -157,32 +127,32 @@ do
> do
> for format in ${APL_FORMAT_TESTS[@]}
> do
> - simple_test nocodec $mode "NoCodec" $format $ssp s16le 20 16 1920000 19200000 $protocol
> - simple_test nocodec $mode "NoCodec" $format $ssp s24le 25 24 2400000 19200000 $protocol
> + simple_test nocodec $mode "NoCodec" $format $ssp s16le 20 16 1920000 19200000 $protocol SIMPLE_TESTS[@]
> + simple_test nocodec $mode "NoCodec" $format $ssp s24le 25 24 2400000 19200000 $protocol SIMPLE_TESTS[@]
>
> - simple_test codec $mode "SSP${ssp}-Codec" $format $ssp s16le 20 16 1920000 19200000 $protocol
> - simple_test codec $mode "SSP${ssp}-Codec" $format $ssp s24le 25 24 2400000 19200000 $protocol
> + simple_test codec $mode "SSP${ssp}-Codec" $format $ssp s16le 20 16 1920000 19200000 $protocol SIMPLE_TESTS[@]
> + simple_test codec $mode "SSP${ssp}-Codec" $format $ssp s24le 25 24 2400000 19200000 $protocol SIMPLE_TESTS[@]
> done
> done
> - simple_test nocodec passthrough "NoCodec" s16le $ssp s16le 20 16 1920000 19200000 $protocol
> - simple_test nocodec passthrough "NoCodec" s24le $ssp s24le 25 24 2400000 19200000 $protocol
> + simple_test nocodec passthrough "NoCodec" s16le $ssp s16le 20 16 1920000 19200000 $protocol SIMPLE_TESTS[@]
> + simple_test nocodec passthrough "NoCodec" s24le $ssp s24le 25 24 2400000 19200000 $protocol SIMPLE_TESTS[@]
>
> - simple_test codec passthrough "SSP${ssp}-Codec" s16le $ssp s16le 20 16 1920000 19200000 $protocol
> - simple_test codec passthrough "SSP${ssp}-Codec" s24le $ssp s24le 25 24 2400000 19200000 $protocol
> + simple_test codec passthrough "SSP${ssp}-Codec" s16le $ssp s16le 20 16 1920000 19200000 $protocol SIMPLE_TESTS[@]
> + simple_test codec passthrough "SSP${ssp}-Codec" s24le $ssp s24le 25 24 2400000 19200000 $protocol SIMPLE_TESTS[@]
> done
> done
>
> # for CNL
> -simple_test nocodec passthrough "NoCodec" s16le 2 s16le 25 16 2400000 24000000 I2S
> -simple_test nocodec passthrough "NoCodec" s24le 2 s24le 25 24 2400000 24000000 I2S
> -simple_test nocodec volume "NoCodec" s16le 2 s16le 25 16 2400000 24000000 I2S
> -simple_test nocodec volume "NoCodec" s16le 2 s24le 25 24 2400000 24000000 I2S
> -simple_test nocodec volume "NoCodec" s24le 2 s24le 25 24 2400000 24000000 I2S
> -simple_test nocodec volume "NoCodec" s24le 2 s16le 25 16 2400000 24000000 I2S
> -simple_test nocodec src "NoCodec" s24le 4 s24le 25 24 2400000 24000000 I2S
> +simple_test nocodec passthrough "NoCodec" s16le 2 s16le 25 16 2400000 24000000 I2S SIMPLE_TESTS[@]
> +simple_test nocodec passthrough "NoCodec" s24le 2 s24le 25 24 2400000 24000000 I2S SIMPLE_TESTS[@]
> +simple_test nocodec volume "NoCodec" s16le 2 s16le 25 16 2400000 24000000 I2S SIMPLE_TESTS[@]
> +simple_test nocodec volume "NoCodec" s16le 2 s24le 25 24 2400000 24000000 I2S SIMPLE_TESTS[@]
> +simple_test nocodec volume "NoCodec" s24le 2 s24le 25 24 2400000 24000000 I2S SIMPLE_TESTS[@]
> +simple_test nocodec volume "NoCodec" s24le 2 s16le 25 16 2400000 24000000 I2S SIMPLE_TESTS[@]
> +simple_test nocodec src "NoCodec" s24le 4 s24le 25 24 2400000 24000000 I2S SIMPLE_TESTS[@]
>
> # Tone test: Tone component only supports s32le currently
> -tone_test codec tone "SSP2-Codec" s32le 2 s16le 20 16 1920000 19200000
> +simple_test codec tone "SSP2-Codec" s32le 2 s16le 20 16 1920000 19200000 I2S TONE_TEST[@]
>
> if [ "$USE_XARGS" == "yes" ]
> then
>
More information about the Sound-open-firmware
mailing list