[Sound-open-firmware] [PATCH V2 2/3] topology: m4: add dai lbm kcotnrol support

Ranjani Sridharan ranjani.sridharan at linux.intel.com
Thu Jun 21 01:49:29 CEST 2018


On Wed, 2018-06-20 at 17:32 +0800, Xiuli Pan wrote:
> From: Pan Xiuli <xiuli.pan at linux.intel.com>
> 
> Add a new parameter for DAI_OUT to enable DAI_LBM_KCONTROL token
> 
> Signed-off-by: Pan Xiuli <xiuli.pan at linux.intel.com>
> 
> ---
> V2: use parameter instead of new macro
> Work with patch set:
> SOF-Kernel(7):
>   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_LBM_KCONTROL for ssp
>     loopback mode kcontrol
>   ASoC: SOF: add headers for switch control callback functions
>   ASoC: SOF: add switch kcontrol callback functions
>   ASoC: SOF: topology: Add DAI TOKEN string bool parser
>   ASoC: SOF: topology: Add topology handler for dai lbm kcontrol
> 
> 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_LBM_KCONTROL for ssp loopback mode
> kcontrol
>   topology: m4: add dai lbm kcotnrol support
>   topology: test: Add loopback topology
> 
> test & santity test with:
> Mininow max rt5651 and UP2 Hifiberry PRO and CNL nocodec
> SOF master: 27795ece0ff9405795cef866fc28a7ab6db20d82
> SOF-Tool master: bd7dc88231f31d385340310cef467f211a739eeb
> sof-dev: df15329163229fe3436ad914561430c20f778cf1
> 
> ---
>  topology/m4/dai.m4                | 6 ++++--
>  topology/sof/pipe-dai-playback.m4 | 2 +-
>  2 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/topology/m4/dai.m4 b/topology/m4/dai.m4
> index bd67413..996f54c 100644
> --- a/topology/m4/dai.m4
> +++ b/topology/m4/dai.m4
> @@ -7,7 +7,7 @@ define(`N_DAI', DAI_NAME)
>  define(`N_DAI_OUT', DAI_NAME`.OUT')
>  define(`N_DAI_IN', DAI_NAME`.IN')
>  
> -dnl W_DAI_OUT(type, index, dai_link, format, periods_sink,
> periods_source, preload)
> +dnl W_DAI_OUT(type, index, dai_link, format, periods_sink,
> periods_source, preload, dailbmkcontrol)
Does the last argument have be a bool true/false value or can it be 0
or 1? Does the parser in the driver handle both cases? 
If not, could you please make it explicit here?

>  define(`W_DAI_OUT',
>  `SectionVendorTuples."'N_DAI_OUT($2)`_tuples_w_comp" {'
>  `	tokens "sof_comp_tokens"'
> @@ -33,6 +33,7 @@ define(`W_DAI_OUT',
>  `	tokens "sof_dai_tokens"'
>  `	tuples."string" {'
>  `		SOF_TKN_DAI_TYPE'	$1
> +`ifelse($8, `', `', `           SOF_TKN_DAI_LBM_KCONTROL	$8')
> '
>  `	}'
>  `}'
>  `SectionData."'N_DAI_OUT($2)`_data_str" {'
> @@ -252,7 +253,7 @@ define(`DAI_CONFIG',
>  dnl DAI_ADD(pipeline,
>  dnl     pipe id, dai type, dai_index, dai_be,
>  dnl     buffer, periods, format,
> -dnl     frames, deadline, priority, core)
> +dnl     frames, deadline, priority, core, lbm_kcontrol)
>  define(`DAI_ADD',
>  `undefine(`PIPELINE_ID')'
>  `undefine(`DAI_TYPE')'
> @@ -277,6 +278,7 @@ define(`DAI_ADD',
>  `define(`SCHEDULE_DEADLINE', $10)'
>  `define(`SCHEDULE_PRIORITY', $11)'
>  `define(`SCHEDULE_CORE', $12)'
> +`define(`DAI_LBM_KCONTROL', $13)'
>  `include($1)'
>  )
>  
> diff --git a/topology/sof/pipe-dai-playback.m4 b/topology/sof/pipe-
> dai-playback.m4
> index 804b180..fda27ac 100644
> --- a/topology/sof/pipe-dai-playback.m4
> +++ b/topology/sof/pipe-dai-playback.m4
> @@ -8,7 +8,7 @@ include(`pipeline.m4')
>  #
>  # DAI definitions
>  #
> -W_DAI_OUT(DAI_TYPE, DAI_INDEX, DAI_BE, DAI_FORMAT, 0, 2, 2)
> +W_DAI_OUT(DAI_TYPE, DAI_INDEX, DAI_BE, DAI_FORMAT, 0, 2, 2,
> DAI_LBM_KCONTROL)
>  
>  #
>  # DAI pipeline - always use 0 for DAIs


More information about the Sound-open-firmware mailing list