All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ola Lilja <ola.o.lilja@stericsson.com>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	Liam Girdwood <lrg@ti.com>,
	Linus Walleij <linus.walleij@linaro.org>
Subject: Re: [PATCH 8/8] ASoC: Ux500: Add machine-driver
Date: Fri, 27 Apr 2012 12:59:06 +0200	[thread overview]
Message-ID: <4F9A7BFA.7000507@stericsson.com> (raw)
In-Reply-To: <20120423190508.GX8318@opensource.wolfsonmicro.com>

On 04/23/2012 09:05 PM, Mark Brown wrote:

> On Fri, Apr 20, 2012 at 11:33:29AM +0200, Ola Lilja wrote:
> 
>> +snd-soc-ux500-mach-objs := u8500.o ux500_ab8500.o
>> +obj-$(CONFIG_SND_SOC_UX500_AB8500) += snd-soc-ux500-mach.o
> 
> This split into multiple files *really* doesn't seem like it adds
> anything but complexity, the small amount of reuse just doesn't seem
> worth it.


We will add more codecs to be matched up the same machine-driver and I found it
useful to have this split. It just separates the callbacks related to each codec
added in the dai-link-struct. I would like to keep this division if that is OK.

> 
>> +	/* Setup codec depending on driver-mode */
>> +	driver_mode = (channels == 8) ?
>> +		DRIVERMODE_CODEC_ONLY : DRIVERMODE_NORMAL;
>> +	dev_dbg(dev, "%s: Driver-mode: %s.\n", __func__,
>> +		(driver_mode == DRIVERMODE_NORMAL) ? "NORMAL" : "CODEC_ONLY");
>> +
>> +	ab8500_audio_set_bit_delay(codec_dai, 1);
> 
> What's this configuring?  I didn't notice it on the CODEC driver as the
> function wasn't exported IIRC.


The bit delay is the number of bit-clocks from the framesync to the first data-bit.
For the AB8500-chip it is set by the bit AB8500_DIGIFCONF2_IF0DEL.
I would have put this in the set_dai_fmt but I have not found a bit that is
controlling this.

> 
>> +	} else {
>> +		ab8500_audio_set_word_length(codec_dai, 20);
> 
> This should be done by using the TDM slot API - the slot length is one
> of the parameters.
> 
>> +	status = snd_soc_add_codec_controls(codec, ux500_ab8500_ctrls,
>> +			ARRAY_SIZE(ux500_ab8500_ctrls));
> 
> Do this from the driver.


OK.

> 
>> +	status = snd_soc_dapm_enable_pin(&codec->dapm, "Headset Left");
>> +	status |= snd_soc_dapm_enable_pin(&codec->dapm, "Headset Right");
> 
> No need to do this, everything defaults on.


Ah, then I have to put back all the disables instead, which I removed before
sending the patch =)

  reply	other threads:[~2012-04-27 10:59 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-20  9:33 [PATCH 8/8] ASoC: Ux500: Add machine-driver Ola Lilja
2012-04-23 19:05 ` Mark Brown
2012-04-27 10:59   ` Ola Lilja [this message]
2012-04-27 11:15     ` Mark Brown
2012-04-30  8:26       ` Ola Lilja
2012-04-30 10:04         ` Mark Brown
2012-05-02  8:10           ` Ola Lilja
2012-05-02  8:17             ` Mark Brown
2012-05-02  8:27               ` Ola Lilja
2012-05-02  8:41                 ` Mark Brown
2012-05-02  8:59                   ` Ola Lilja
2012-05-02  9:07                     ` 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=4F9A7BFA.7000507@stericsson.com \
    --to=ola.o.lilja@stericsson.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=linus.walleij@linaro.org \
    --cc=lrg@ti.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.