alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Mengdong Lin <mengdong.lin@linux.intel.com>
To: Lars-Peter Clausen <lars@metafoo.de>,
	Vaibhav Agarwal <vaibhav.agarwal@linaro.org>,
	alsa-devel@alsa-project.org
Cc: liam.r.girdwood@linux.intel.com, vinod.koul@intel.com,
	broonie@kernel.org, peter.ujfalusi@ti.com
Subject: Re: [RFC 0/4] Add support for DAI link addition dynamically
Date: Wed, 17 Feb 2016 16:25:21 +0800	[thread overview]
Message-ID: <56C42E71.8030805@linux.intel.com> (raw)
In-Reply-To: <56C40AA9.4050008@linux.intel.com>

On 02/17/2016 01:52 PM, Mengdong Lin wrote:
>
>
> On 02/15/2016 10:22 PM, Lars-Peter Clausen wrote:
>> On 02/15/2016 01:19 PM, Vaibhav Agarwal wrote:
>>> Following patches are based on for-next branch from broonie tree.
>>> First 2 patches include changes in existing soc, core framework
>>> to prepare for adding support for dynamic DAI link addition/
>>> removal
>>>
>>> Patch 3 & 4 contains actual changes to enable dynamic DAI link
>>> support
>>>
>>> NOTE:
>>> Currently, the code is tested on Pandaboad ES revB3 for playback
>>> usecase.
>>
>> Can you outline how exactly that would work?
>>
>> Thanks,
>> - Lars
>>
>>
>
> In Agarwal's use case, it seems a removable codec driver can be
> registered after the sound card is registered. And the Pandaboard
> machine driver need to add new BE links brought by the new codec
> component, which will further trigger probing of the codec components.
>
> How can the machine driver know a new codec component is registered
> automatically?
>
> Can we add a notification ops like "new_component" to a soc card?
> A machine driver can implement this ops.  So when a new component is
> registered to the ASoC core, all instantiated soc cards can get notified
> and the machine driver can check if the new component brings some new
> links to the soc card in this ops. e.g. the Pandaboard machine driver
> can add new BE links for the new codec.
>
> Thanks
> Mengdong
>

Sorry, I missed the case that the codec component can be still be 
registered before the machine driver register the card. In this 
situation, the machine driver cannot get the notification.

I wonder if the machine driver can still predefine these links but flag 
them as "dynamically_registered". For such links, asoc core will not 
abort instantiating the card, i.e. the sound card will be created even 
if these links are not bound because lack of some DAIs (e.g. the DAIs of 
the codec component not registered yet).

Then when the missing component is added, the ASOC core will 
automatically check these the unbound links and bind them. When the 
component is unregistered, ASoC will try to remove the affected links 
and then remove the components.

Thus we may not need add new APIs or let the machine driver monitor when 
the codec component is registered.

Thanks
Mengdong

  reply	other threads:[~2016-02-17  8:24 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-15 12:19 [RFC 0/4] Add support for DAI link addition dynamically Vaibhav Agarwal
2016-02-15 12:19 ` [RFC 1/4] ASoc: Use ref_count for soc DAI & component Vaibhav Agarwal
2016-02-15 13:59   ` Mark Brown
2016-02-16 13:27     ` Vaibhav Agarwal
2016-02-15 12:19 ` [RFC 2/4] alsa: add locked variant for snd_ctl_remove_id Vaibhav Agarwal
2016-02-15 14:02   ` Mark Brown
2016-02-16 13:54     ` Vaibhav Agarwal
2016-02-16 14:13       ` Takashi Iwai
2016-02-16 14:15         ` Vaibhav Agarwal
2016-02-15 12:19 ` [RFC 3/4] ASoC: Enable dynamic DAIlink insertion & removal Vaibhav Agarwal
2016-02-15 17:02   ` Mark Brown
2016-02-16 14:34     ` Vaibhav Agarwal
2016-02-16 19:03       ` Mark Brown
2016-02-15 12:19 ` [RFC 4/4] ASoC: Change soc-card codec_conf array to a list Vaibhav Agarwal
2016-02-15 17:11   ` Mark Brown
2016-02-15 14:22 ` [RFC 0/4] Add support for DAI link addition dynamically Lars-Peter Clausen
2016-02-17  5:52   ` Mengdong Lin
2016-02-17  8:25     ` Mengdong Lin [this message]
2016-02-17  9:31       ` Vaibhav Agarwal
2016-02-18  5:23         ` Mengdong Lin
2016-02-18  7:57           ` Vaibhav Agarwal
2016-02-18 13:39             ` Mark Brown
2016-02-22  8:51             ` 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=56C42E71.8030805@linux.intel.com \
    --to=mengdong.lin@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=lars@metafoo.de \
    --cc=liam.r.girdwood@linux.intel.com \
    --cc=peter.ujfalusi@ti.com \
    --cc=vaibhav.agarwal@linaro.org \
    --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).