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,
	mengdong.lin@intel.com
Subject: Re: [PATCH 01/13] ASoC: topology: Able to create BE DAIs
Date: Tue, 30 Aug 2016 12:42:06 +0800	[thread overview]
Message-ID: <57C50E9E.3080402@linux.intel.com> (raw)
In-Reply-To: <20160828141215.GA3950@sirena.org.uk>


Hi Mark,

Here is the info from our audio platform enabling team that answers why 
we need this feature. Please review.

Intel platform supports too many different types of DAIs based on the 
platform variant  e.g. I2S, HDA, DMIC and in future there are few more 
like soundwire in the pipelines.

Using this framework our attempt is to create DAI based on what is 
supported on the platform. If the platform does not support HDA then we 
would like not to create the HDA DAIs. e.g. SKL Chrome topology does not 
use HDA Codec and so there is only I2S and DMIC DAIs.

Based on the SoC pin count limitation not all the interface pins are 
taken out of the SoC to connect various peripherals. So even though 
technically hardware supports many physical interfaces but the platform 
may have limited what can be connected on the platform.

Surely we can create worst case number of DAIs but that would be too much.

Here is the example of SKL/BXT:
6 SSP Ports Rx and Tx, 2 DMIC Ports, 7 Playback DMA channels, 6 Capture 
DMA channels.We are creating topology diagram in text to explain 
different configuration for different use case,like Android, Linux, 
Chrome and Automotive.

Thanks
Mengdong

On 08/28/2016 10:12 PM, Mark Brown wrote:
> On Thu, Aug 25, 2016 at 02:40:34PM +0800, Mengdong Lin wrote:
>
>> In previous design, we had thought that BE DAI and BE DAI links should be
>> created based on ACPI info in BIOS. But unfortunately, the BIOS doesn't have
>> enough physical information, so BE DAI & DAI links are hard coded in
>> platform and machine driver. But when new platforms are coming out with
>> different physical connections, this BIOS gap blocks us from sharing a
>> generic driver across platforms. Now the gap in BIOS ACPI info still exists,
>> the implementations also vary for different generations of platforms, BIOS
>> for public shipped machines cannot change ... So finally we fall back to
>> topology to overcome the BIOS gap and make driver sharing possible. We have
>> tried creating BE DAI & DAI links to new platforms and plan to back port
>> this to upstream drivers for existing platforms like SKL.
>
> I don't understand why we're not able to just enumerate all the possible
> back ends in the driver and then select the required one at runtime
> - even if we do this there's going to be some fairly strict limits on
> the set of back ends that can be added.  Do we have any concrete
> examples here?
>

  reply	other threads:[~2016-08-30  4:36 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 [this message]
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
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=57C50E9E.3080402@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=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).