alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
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

  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).