From: Koro Chen <koro.chen@mediatek.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Mark Brown <broonie@kernel.org>,
robh+dt@kernel.org, matthias.bgg@gmail.com, perex@perex.cz,
tiwai@suse.de, srv_heupstream@mediatek.com,
linux-mediatek@lists.infradead.org, galak@codeaurora.org,
lgirdwood@gmail.com, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org
Subject: Re: [RESEND RFC PATCH 1/3] ASoC: mediatek: Add binding support for AFE driver
Date: Tue, 21 Apr 2015 18:15:06 +0800 [thread overview]
Message-ID: <1429611306.23823.52.camel@mtksdaap41> (raw)
In-Reply-To: <20150421094926.GU6325@pengutronix.de>
On Tue, 2015-04-21 at 11:49 +0200, Sascha Hauer wrote:
> On Mon, Apr 20, 2015 at 09:48:49PM +0100, Mark Brown wrote:
> > On Mon, Apr 20, 2015 at 06:37:47AM +0200, Sascha Hauer wrote:
> > > On Sat, Apr 18, 2015 at 06:34:07PM +0100, Mark Brown wrote:
> > > > On Fri, Apr 10, 2015 at 04:14:07PM +0800, Koro Chen wrote:
> >
> > > > > +Each external interface (called "IO" in this driver) is presented as a
> > > > > +DAI to ASoC. An IO must be connected via the interconnect to a memif.
> > > > > +The connection paths are configured through the device tree.
> >
> > > > Why are these connection paths configured via device tree? I would
> > > > expect that either there would be runtime configurability of these
> > > > things (particularly if loopback configurations within the hardware are
> > > > possible) or we'd just allocate memory interfaces to DAIs automatically
> > > > as DAIs come into use.
> >
> > > There is a crossbar switch between the memory interfaces and the DAIs.
> > > Not every connection is possible, so not every memory interface can be
> > > used for every DAI. An algorithm choosing a suitable memory interface
> > > must be quite clever, complicated and also SoC dependent (the same but
> > > different hardware is used on MT8135 aswell), so I thought offering a
> > > static configuration via device tree is a good start. Should there be
> > > runtime configuration possible later the device tree settings could
> > > provide a good default.
> >
> > What exactly do the restrictions look like and how often do they vary in
> > practice (can we get away with just doing a single static setup in the
> > driver)? I'd have thought it should be fairly straightforward to have a
> > table of valid mappings and just pick the first free memory interface?
>
> I think this could be done. I checked the possible connections in the
> crossbar switch and it seems all memory interfaces can be connected with
> all relevant external interfaces. So indeed the memory interfaces could
> be dynamically allocated instead of statically associated to an
> external interface. There are two problems I see: Some memory interfaces
> are limited in the rates they support, they can only do 8k/16k/32k (for
> speech). How can we know such memory interface should be used? Also
The 2 memif are "DAI" and "MOD_DAI", designed for speech cases, and they
should be only connected to corresponding external interface "DAI/BT"
and "modem", respectively. We don't need to put them into dynamic
allocation.
> there are two programmable hardware gain blocks which can be inserted to
> the digital audio path using the crossbar switch. There must be some
> mechanism to configure them into different places.
Maybe in DPCM, they can be "widgets", and we can define "routes" and
corresponding controls for them.
>
> Sascha
>
next prev parent reply other threads:[~2015-04-21 10:15 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-10 8:14 [RESEND RFC PATCH 0/3] ASoC: Mediatek: Add support for MT8173 SOC Koro Chen
2015-04-10 8:14 ` [RESEND RFC PATCH 1/3] ASoC: mediatek: Add binding support for AFE driver Koro Chen
2015-04-18 17:34 ` Mark Brown
[not found] ` <20150418173407.GE26185-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-04-20 4:37 ` Sascha Hauer
[not found] ` <20150420043747.GH6325-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2015-04-20 20:48 ` Mark Brown
[not found] ` <20150420204849.GJ14892-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-04-21 9:49 ` Sascha Hauer
2015-04-21 10:14 ` Mark Brown
2015-04-21 10:15 ` Koro Chen [this message]
2015-04-21 10:56 ` Mark Brown
2015-04-22 3:17 ` Koro Chen
2015-04-30 20:12 ` Mark Brown
[not found] ` <20150430201207.GK22845-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-05-04 1:57 ` Koro Chen
2015-04-10 8:14 ` [RESEND RFC PATCH 2/3] ASoC: mediatek: Add AFE connection control Koro Chen
[not found] ` <1428653649-38200-3-git-send-email-koro.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2015-04-18 17:37 ` Mark Brown
[not found] ` <20150418173740.GF26185-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-04-20 4:50 ` Sascha Hauer
[not found] ` <20150420045017.GI6325-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2015-04-20 20:52 ` Mark Brown
[not found] ` <20150420205230.GK14892-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-04-21 5:50 ` Sascha Hauer
[not found] ` <20150421055041.GQ6325-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2015-04-21 10:15 ` Mark Brown
2015-04-10 8:14 ` [RESEND RFC PATCH 3/3] ASoC: mediatek: Add AFE platform driver Koro Chen
2015-04-18 17:51 ` Mark Brown
[not found] ` <20150418175139.GG26185-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-04-20 6:22 ` Koro Chen
2015-04-20 20:55 ` Mark Brown
2015-04-21 2:27 ` Koro Chen
2015-04-21 10:05 ` Mark Brown
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=1429611306.23823.52.camel@mtksdaap41 \
--to=koro.chen@mediatek.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=perex@perex.cz \
--cc=robh+dt@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=srv_heupstream@mediatek.com \
--cc=tiwai@suse.de \
/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).