[Sound-open-firmware] [PATCH 2/3] topology: m4: Add DAI_OUT_SSP_LOOPBACK marco for SSP LOOPBACK dai comp
Pan, Xiuli
xiuli.pan at linux.intel.com
Wed Jun 20 07:46:35 CEST 2018
On 6/19/2018 18:55, Liam Girdwood wrote:
> On Tue, 2018-06-19 at 17:21 +0800, Xiuli Pan wrote:
>> From: Pan Xiuli <xiuli.pan at linux.intel.com>
>>
>> Add new macro for SSP loobback mode support
>>
>> Signed-off-by: Pan Xiuli <xiuli.pan at linux.intel.com>
>> ---
>> Work with patch set:
>> SOF-Kernel(6):
>> ASoC: SOF: Add debug_mode flag in sof dev
>> ASoC: SOF: debug: add debugmode debugfs for sof_dev debug_mode
>> ASoC: SOF: uapi: topology: Add SOF_TKN_DAI_SSP_LBM for ssp loopback mode
>> ASoC: SOF: add headers for lbm control callback functions
>> ASoC: SOF: add lbm kcontrol callback functions
>> ASoC: SOF: topology: Add topology handler for dai ssp loopback mode
>>
>> SOF(5):
>> dai: add lbm status for dai ssp
>> dai: add get_loopback_mode function
>> DMIC: add empty get_loopback_mode function
>> SSP: support for get/set_loopback_mode functions
>> dai: add dai_cmd support for loopback mode switch
>>
>> SOF-Tools(3):
>> topology: Add SOF_TKN_DAI_SSP_LBM for ssp loopback mode
>> topology: m4: Add DAI_OUT_SSP_LOOPBACK marco for SSP LOOPBACK dai comp
>> topology: test: Add loopback topology
>>
>> test & santity test with:
>> Mininow max rt5651 and UP2 Hifiberry PRO and CNL nocodec
>> SOF master: 48d2a1c551d7b3c8f76d44f3c04dd59a37ff6a8f
>> SOF-Tool master: bd7dc88231f31d385340310cef467f211a739eeb
>> https://github.com/plbossart/sound/tree/topic/sof-v4.14:
>> 0d51a5ed28c5e97f09b59c4cafaddfb9d3b24b77
>> ---
>> topology/m4/dai.m4 | 55
>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 55 insertions(+)
>>
>> diff --git a/topology/m4/dai.m4 b/topology/m4/dai.m4
>> index bd67413..2a202c0 100644
>> --- a/topology/m4/dai.m4
>> +++ b/topology/m4/dai.m4
>> @@ -7,6 +7,61 @@ define(`N_DAI', DAI_NAME)
>> define(`N_DAI_OUT', DAI_NAME`.OUT')
>> define(`N_DAI_IN', DAI_NAME`.IN')
>>
>> +dnl W_DAI_OUT_SSP_LOOPBACK(type, index, dai_link, format, periods_sink,
>> periods_source, preload)
>
> Why do we need to create a new DAI here ? Can we not pass in a flag for
> LBM_KCTRL to the standard DAI macro ?
Sure that could work. This is used for not let user misuse some of the
macro with some error flag.
But a flag is also a good idea.
Thanks
Xiuli
>
> The standard DAI macros could then create a kcontrol if LBM flag was true.
>
> Liam
>
>> +define(`W_DAI_OUT_SSP_LOOPBACK',
>> +`SectionVendorTuples."'N_DAI_OUT($2)`_tuples_w_comp" {'
>> +` tokens "sof_comp_tokens"'
>> +` tuples."word" {'
>> +` SOF_TKN_COMP_PERIOD_SINK_COUNT' STR($5)
>> +` SOF_TKN_COMP_PERIOD_SOURCE_COUNT' STR($6)
>> +` SOF_TKN_COMP_PRELOAD_COUNT' STR($7)
>> +` }'
>> +`}'
>> +`SectionData."'N_DAI_OUT($2)`_data_w_comp" {'
>> +` tuples "'N_DAI_OUT($2)`_tuples_w_comp"'
>> +`}'
>> +`SectionVendorTuples."'N_DAI_OUT($2)`_tuples_w" {'
>> +` tokens "sof_dai_tokens"'
>> +` tuples."word" {'
>> +` SOF_TKN_DAI_INDEX' $2
>> +` }'
>> +`}'
>> +`SectionData."'N_DAI_OUT($2)`_data_w" {'
>> +` tuples "'N_DAI_OUT($2)`_tuples_w"'
>> +`}'
>> +`SectionVendorTuples."'N_DAI_OUT($2)`_tuples_str" {'
>> +` tokens "sof_dai_tokens"'
>> +` tuples."string" {'
>> +` SOF_TKN_DAI_TYPE' "SSP"
>> +` SOF_TKN_DAI_SSP_LBM' "TRUE"
>> +` }'
>> +`}'
>> +`SectionData."'N_DAI_OUT($2)`_data_str" {'
>> +` tuples "'N_DAI_OUT($2)`_tuples_str"'
>> +`}'
>> +`SectionVendorTuples."'N_DAI_OUT($2)`_tuples_comp_str" {'
>> +` tokens "sof_comp_tokens"'
>> +` tuples."string" {'
>> +` SOF_TKN_COMP_FORMAT' STR($4)
>> +` }'
>> +`}'
>> +`SectionData."'N_DAI_OUT($2)`_data_comp_str" {'
>> +` tuples "'N_DAI_OUT($2)`_tuples_comp_str"'
>> +`}'
>> +`SectionWidget."'N_DAI_OUT`" {'
>> +` index "'PIPELINE_ID`"'
>> +` type "dai_in"'
>> +` stream_name' STR($3)
>> +` no_pm "true"'
>> +` data ['
>> +` "'N_DAI_OUT($2)`_data_w"'
>> +` "'N_DAI_OUT($2)`_data_w_comp"'
>> +` "'N_DAI_OUT($2)`_data_str"'
>> +` "'N_DAI_OUT($2)`_data_comp_str"'
>> +` ]'
>> +`}')
>> +
>> +
>> dnl W_DAI_OUT(type, index, dai_link, format, periods_sink, periods_source,
>> preload)
>> define(`W_DAI_OUT',
>> `SectionVendorTuples."'N_DAI_OUT($2)`_tuples_w_comp" {'
> _______________________________________________
> Sound-open-firmware mailing list
> Sound-open-firmware at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/sound-open-firmware
More information about the Sound-open-firmware
mailing list