From: Liam Girdwood <lrg@ti.com>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: alsa-devel@alsa-project.org
Subject: Re: [PATCH] ASoC: twl6040 - Add method to query optimum PDM_DL1 gain
Date: Wed, 11 Jan 2012 10:32:13 +0000 [thread overview]
Message-ID: <1326277933.4162.11.camel@odin> (raw)
In-Reply-To: <20120110192957.GJ7164@opensource.wolfsonmicro.com>
On Tue, 2012-01-10 at 19:29 +0000, Mark Brown wrote:
> On Tue, Jan 10, 2012 at 11:03:09AM +0000, Liam Girdwood wrote:
> > On Tue, 2012-01-10 at 00:44 +0000, Mark Brown wrote:
> > > On Mon, Jan 09, 2012 at 12:11:22PM +0000, Liam Girdwood wrote:
>
> > > > The DL1 PDM interface adds a little gain depending on the output device.
> > > > Add a method to retrieve the gain value for machine driver usage.
>
> > > I'm having a hard time understanding how the machine driver would use
> > > this information...
>
> > It's intended that the machine driver would use this information to
> > configure the ABE to compensate any attenuation so that the output
> > volume level was constant.
>
> So if you turn on some of the outputs in the CODEC the CODEC will apply
> a gain to the signal coming in on DL1 which affects other CODEC outputs
> and this needs to be worked around in the ABE so the machine driver is
> doing that?
Yes, but the Codec component (widget) must also be enabled for the
attenuation to happen.
>
> > > > +int twl6040_get_dl1_gain(struct snd_soc_codec *codec)
> > > > +{
> > > > + struct snd_soc_dapm_context *dapm = &codec->dapm;
> > > > +
> > > > + if (snd_soc_dapm_get_pin_status(dapm, "EP"))
> > > > + return -1; /* -1dB */
>
> > > Shouldn't this be being done by reading the CODEC register settings to
> > > know which output DL1 is connected to?
>
> > The DL1 path output devices can all operate at the same time and may or
> > may not be connected by the machine drivers.
>
> But surely the paths from DL1 to the various outputs within the CODEC
> are controlled by registers in the CODEC? I don't understand why the
> CODEC needs to query DAPM here.
The machine driver may not have the Earpiece, Handsfree or Headset
connected (even though the codec path is set to use them). The codec has
no way of knowing this except to check the widget DAPM status for the
outputs. Now we can check the DAPM status of each widget by reading the
codec register, but I think that defeats DAPMs codec widget power
control and status APIs.
I've applied this since I'm doing pull request this morning, you are in
Asia and this is a trivial patch. We can rework if required later.
Liam
next prev parent reply other threads:[~2012-01-11 10:32 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-09 12:11 [PATCH] ASoC: twl6040 - Add method to query optimum PDM_DL1 gain Liam Girdwood
2012-01-10 0:44 ` Mark Brown
2012-01-10 11:03 ` Liam Girdwood
2012-01-10 19:29 ` Mark Brown
2012-01-11 10:32 ` Liam Girdwood [this message]
2012-01-11 21:12 ` 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=1326277933.4162.11.camel@odin \
--to=lrg@ti.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.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).