[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