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)
Lets just call this new param "flags". It can be a bitmask. i.e.
define(`DAI_FLAGS_KCTRL_LOOPBACK', 1) define(`DAI_FLAGS_KCTRL_TRISTATE', 2)
etc
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')'
and then if we change the token name to SOF_TKN_DAI_KCTRL_FLAGS we can assign it directly and the driver can then check the flags for which kcontrols to create.
Liam
` }' `}' `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
--------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.