On Wed, 2018-06-20 at 17:32 +0800, Xiuli Pan wrote:
From: Pan Xiuli xiuli.pan@linux.intel.com
Add a new parameter for DAI_OUT to enable DAI_LBM_KCONTROL token
Signed-off-by: Pan Xiuli xiuli.pan@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