[Sound-open-firmware] [RFC PATCH 4/5] topology: sof: add pipeline loopback dai

Pan, Xiuli xiuli.pan at linux.intel.com
Thu May 31 04:21:38 CEST 2018



On 5/31/2018 08:53, Keyon Jie wrote:
>
>
> On 2018年05月30日 17:51, Xiuli Pan wrote:
>> From: Pan Xiuli <xiuli.pan at linux.intel.com>
>>
>> Add a switch widget for playback dai as the loopback dai.
>> The switch will control the software dai loopback.
>
> This should belong to a DAI, not pipeline, we should add LBM switch 
> for each dai(or actually SSP), not for specific playback or capture 
> pipelines.
>
I tried with DAI.
DAPM will not expose any kcontrol for a DAI.

Thanks
Xiuli
> Thanks,
> ~Keyon
>
>>
>> Signed-off-by: Pan Xiuli <xiuli.pan at linux.intel.com>
>> ---
>>   topology/sof/pipe-dai-loopback.m4 | 36 
>> ++++++++++++++++++++++++++++++++++++
>>   1 file changed, 36 insertions(+)
>>   create mode 100644 topology/sof/pipe-dai-loopback.m4
>>
>> diff --git a/topology/sof/pipe-dai-loopback.m4 
>> b/topology/sof/pipe-dai-loopback.m4
>> new file mode 100644
>> index 0000000..e62f6b0
>> --- /dev/null
>> +++ b/topology/sof/pipe-dai-loopback.m4
>> @@ -0,0 +1,36 @@
>> +# DAI Playback connector
>> +
>> +# Include topology builder
>> +include(`utils.m4')
>> +include(`dai.m4')
>> +include(`pipeline.m4')
>> +include(`mixercontrol.m4')
>> +include(`switch.m4')
>> +
>> +#
>> +# DAI definitions
>> +#
>> +C_CONTROLMIXER(Loop Back Switch, PIPELINE_ID,
>> +    CONTROLMIXER_OPS(volsw, 256 binds the mixer control to volume 
>> get/put handlers, volsw, volsw),
>> +    CONTROLMIXER_MIN(, 0),
>> +    CONTROLMIXER_MAX(, 1),
>> +    false,
>> +    ,
>> +    Channel register and shift for Front Left/Right,
>> +    LIST(`    ', KCONTROL_CHANNEL(FL, 2, 0), KCONTROL_CHANNEL(FR, 2, 
>> 1)))
>> +
>> +W_DAI_OUT(DAI_TYPE, DAI_INDEX, DAI_BE, DAI_FORMAT, 0, 2, 2, 
>> dai0p_plat_conf)
>> +W_SWITCH(LoopBack, DAI_FORMAT, 1, 1, 1, LIST(`               ', 
>> "Loop Back Switch PIPELINE_ID"))
>> +
>> +#
>> +# DAI pipeline - always use 0 for DAIs
>> +#
>> +W_PIPELINE(N_DAI_OUT, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, 
>> SCHEDULE_FRAMES, SCHEDULE_CORE, 0, pipe_dai_schedule_plat)
>> +
>> +#
>> +# Graph connections to pipelines
>> +
>> +P_GRAPH(DAI_NAME, PIPELINE_ID,
>> +    LIST(`        ',
>> +    `kdapm(N_SWITCH(LoopBack), Loop Back Switch PIPELINE_ID, DAI_BUF)',
>> +    `dapm(N_DAI_OUT, N_SWITCH(LoopBack))'))
>>



More information about the Sound-open-firmware mailing list