From: Mengdong Lin <mengdong.lin@linux.intel.com>
To: Mark Brown <broonie@kernel.org>
Cc: alsa-devel@alsa-project.org, tiwai@suse.de,
hardik.t.shah@intel.com, guneshwor.o.singh@intel.com,
liam.r.girdwood@linux.intel.com, vinod.koul@intel.com,
rakesh.a.ughreja@intel.com, mengdong.lin@intel.com
Subject: Re: [PATCH 03/13] ASoC: topology: ABI - Define DPCM trigger ordering for PCM
Date: Fri, 9 Sep 2016 19:40:58 +0800 [thread overview]
Message-ID: <57D29FCA.8050706@linux.intel.com> (raw)
In-Reply-To: <57CE5F1B.3020601@linux.intel.com>
Hi Mark,
We'll drop support for configuring DPCM trigger ordering in topology,
and the driver will set this in kernel.
I'll submit the v2 series. Please review.
Thanks
Mengdong
On 09/06/2016 02:15 PM, Mengdong Lin wrote:
> + Rakesh
>
>
> Hi Hardik/Vinod/Rakesh,
>
> Would you please share more info about DPCM trigger ordering used in
> current ADSP firmware? And why we hope to configure this by topology?
>
> Here is Mark's question "Why do these things need to be triggered in
> this particular order and why is that invisible to the system?".
>
> Please see link
> http://mailman.alsa-project.org/pipermail/alsa-devel/2016-September/112539.html
>
>
> My mail client lost Mark's mail so I paste the link here.
>
> Thanks
> Mengdong
>
> On 09/02/2016 02:44 PM, Mengdong Lin wrote:
>>
>>
>> On 08/24/2016 01:41 AM, Mark Brown wrote:
>>> On Fri, Aug 19, 2016 at 06:12:55PM +0800, mengdong.lin@linux.intel.com
>>> wrote:
>>>
>>>> Definition of dynamic PCM trigger ordering is exposed to uapi asoc.h,
>>>> and topology allows user space to define the trigger ordering for PCM
>>>> (FE links).
>>>
>>> This seems *incredibly* implementation specific. Why wouldn't the
>>> driver for the thing implementing the topology be able to figure out the
>>> ordering here? What's the use case? What happens when we change away
>>> from DPCM?
>>>
>>
>> There is another patch (04/13) to add generic flags and flag mask to PCM
>> objects. So we'll allow users to set DPCM trigger ordering as flags as
>> below, to avoid using trigger[] in ABI. The topology kernel driver will
>> check the flag bits and set the proper trigger ordering to FE DAI links.
>> If we change away from DPCM in the future, user can stop using these
>> flags. And the 32-bit flags seems enough for future extension.
>>
>> diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h
>> index f734bea..30da32f 100644
>> --- a/include/uapi/sound/asoc.h
>> +++ b/include/uapi/sound/asoc.h
>> @@ -130,6 +130,16 @@
>> #define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_CHANNELS (1 << 1)
>> #define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_SAMPLEBITS (1 << 2)
>>
>> +/* DAI link flags */
>> +#define SND_SOC_TPLG_LNK_FLGBIT_IGNORE_SUSPEND (1 << 0)
>> +#define SND_SOC_TPLG_LNK_FLGBIT_IGNORE_POWERDOWN_TIME (1 << 1)
>> +#define SND_SOC_TPLG_LNK_FLGBIT_PLAYBACK_DPCM_TRIGGER_PRE (1<<2)
>> +#define SND_SOC_TPLG_LNK_FLGBIT_PLAYBACK_DPCM_TRIGGER_POST (1<<3)
>> +#define SND_SOC_TPLG_LNK_FLGBIT_PLAYBACK_DPCM_TRIGGER_BESPOKE (1<<4)
>> +#define SND_SOC_TPLG_LNK_FLGBIT_CAPTURE_DPCM_TRIGGER_PRE (1<<2)
>> +#define SND_SOC_TPLG_LNK_FLGBIT_CAPTURE_DPCM_TRIGGER_POST (1<<3)
>> +#define SND_SOC_TPLG_LNK_FLGBIT_CAPTURE_DPCM_TRIGGER_BESPOKE (1<<4)
>> +
>> /*
>> * Block Header.
>> * This header precedes all object and object arrays below.
>> @@ -439,6 +449,8 @@ struct snd_soc_tplg_pcm {
>> struct snd_soc_tplg_stream
>> stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* for DAI link */
>> __le32 num_streams; /* number of streams */
>> struct snd_soc_tplg_stream_caps caps[2]; /* playback and
>> capture for DAI */
>> + __le32 flag_mask; /* bitmask of flags to configure */
>> + __le32 flags; /* SND_SOC_TPLG_LNK_FLGBIT_* flag
>> value */
>> } __attribute__((packed));
>>
>>
>> Thanks
>> Mengdong
next prev parent reply other threads:[~2016-09-09 11:34 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-19 10:11 [PATCH 00/13] ASoC: topology: Remaining kernel patches mengdong.lin
2016-08-19 10:12 ` [PATCH 01/13] ASoC: topology: Able to create BE DAIs mengdong.lin
2016-08-23 17:33 ` Mark Brown
2016-08-25 6:40 ` Mengdong Lin
2016-08-28 14:12 ` Mark Brown
2016-08-30 4:42 ` Mengdong Lin
2016-09-05 13:04 ` Mark Brown
2016-08-19 10:12 ` [PATCH 02/13] ASoC: topology: ABI - Add sig_bits to stream caps mengdong.lin
2016-08-22 17:59 ` Applied "ASoC: topology: ABI - Add sig_bits to stream caps" to the asoc tree Mark Brown
2016-08-19 10:12 ` [PATCH 03/13] ASoC: topology: ABI - Define DPCM trigger ordering for PCM mengdong.lin
2016-08-23 17:41 ` Mark Brown
2016-08-25 8:35 ` Mengdong Lin
2016-09-02 6:44 ` Mengdong Lin
2016-09-05 13:01 ` Mark Brown
2016-09-06 6:15 ` Mengdong Lin
2016-09-09 11:40 ` Mengdong Lin [this message]
2016-08-19 10:13 ` [PATCH 04/13] ASoC: topology: ABI - Add flags to PCM mengdong.lin
2016-08-19 10:13 ` [PATCH 05/13] ASoC: topology: ABI - Add private data " mengdong.lin
2016-08-19 10:13 ` [PATCH 06/13] ASoC: topology: Add FE DAIs only if not already added mengdong.lin
2016-08-19 10:13 ` [PATCH 07/13] ASoC: topology: ABI - Add name & component info to BE/CC links mengdong.lin
2016-08-19 10:13 ` [PATCH 08/13] ASoC: topology: ABI - Define DAI physical PCM data formats mengdong.lin
2016-08-19 10:13 ` [PATCH 09/13] ASoC: topology: ABI - Add HW configurations to BE/CC links mengdong.lin
2016-08-19 10:14 ` [PATCH 10/13] ASoC: topology: ABI - Add flags and private data " mengdong.lin
2016-08-19 10:14 ` [PATCH 11/13] ASoC: Define API to find a dai link by id mengdong.lin
2016-08-19 10:14 ` [PATCH 12/13] ASoC: Probe link components after finding new links mengdong.lin
2016-08-19 10:14 ` [PATCH 13/13] ASoC: topology: Able to create BE DAI links mengdong.lin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=57D29FCA.8050706@linux.intel.com \
--to=mengdong.lin@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=guneshwor.o.singh@intel.com \
--cc=hardik.t.shah@intel.com \
--cc=liam.r.girdwood@linux.intel.com \
--cc=mengdong.lin@intel.com \
--cc=rakesh.a.ughreja@intel.com \
--cc=tiwai@suse.de \
--cc=vinod.koul@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).