pandora-kernel.git
13 years agoASoC: tlv320aic3x: Let the codec hit SND_SOC_BIAS_OFF when idle
Jarkko Nikula [Mon, 20 Sep 2010 07:39:14 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Let the codec hit SND_SOC_BIAS_OFF when idle

Now codec hits the SND_SOC_BIAS_OFF also when it is idle. This is also
the default state after probing and codec is left unconfigured and
unpowered by default. Initialization will happen when the bias state changes
and aic3x_set_power does power-up and cache sync.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320aic3x: Use regulator notifiers for optimizing the cache sync
Jarkko Nikula [Mon, 20 Sep 2010 07:39:13 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Use regulator notifiers for optimizing the cache sync

There is no need to reset the codec and perform cache sync if none of the
supply regulators were not disabled. Patch registers a notifier callback for
each supply and callback then sets a flag to indicate when cache sync is
required.

HW writes are also needless when codec bias is off so cache_only flag is set
independently of actual supply regulators state.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320aic3x: Add runtime regulator control to aic3x_set_bias_level
Jarkko Nikula [Mon, 20 Sep 2010 07:39:12 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Add runtime regulator control to aic3x_set_bias_level

Now all the regulators are disabled when entering into SND_SOC_BIAS_OFF
and enabled when coming back to SND_SOC_BIAS_STANDBY state. Currently this
runtime control happens only with suspend/resume as this patch does not
change the default idle behavior.

This patch manages all the regulators and reset since it seems that register
sync is needed even if only analog supplies AVDD and DRVDD are disabled.
This was noted when the system was running with idle behavior changed and
IOVDD and DVDD were on.

It is not known are all the registers needed to sync or only some subset of
them. Therefore patch plays safe and does always full shutdown/power-up.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320aic3x: Move regulator management from i2c to soc domain
Jarkko Nikula [Mon, 20 Sep 2010 07:39:11 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Move regulator management from i2c to soc domain

It will be easier to keep regulator enable/disable calls in sync when dynamic
regulator management is added if regulator management is moved from
aic3x_i2c_probe/_remove to aic3x_probe/_remove.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge remote branch 'asoc/for-2.6.37' into for-2.6.37
Liam Girdwood [Mon, 20 Sep 2010 08:53:29 +0000 (09:53 +0100)]
Merge remote branch 'asoc/for-2.6.37' into for-2.6.37

13 years agoASoC: tlv320aic3x: Add virtual output pin Detection
Jarkko Nikula [Fri, 17 Sep 2010 11:39:01 +0000 (14:39 +0300)]
ASoC: tlv320aic3x: Add virtual output pin Detection

Purpose of this virtual Detection pin is to keep codec bias on whenever the
GPIO or jack detection features are needed.

Jack detection needs a mic bias so machine drivers can construct a following
route for instance for keeping the path and codec bias on:

"Input Jack" -> "Mic Bias xV" -> "Detection" -> detection block inside codec.

For the GPIO the machine driver can force the pin on with
snd_soc_dapm_force_enable_pin.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37
Liam Girdwood [Mon, 20 Sep 2010 08:49:26 +0000 (09:49 +0100)]
Merge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37

13 years agoASoC: fsi: Add fsi_dma_soft_push/pop function
Kuninori Morimoto [Fri, 17 Sep 2010 04:48:32 +0000 (13:48 +0900)]
ASoC: fsi: Add fsi_dma_soft_push/pop function

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: fsi: modify noisy comment out
Kuninori Morimoto [Fri, 17 Sep 2010 04:48:17 +0000 (13:48 +0900)]
ASoC: fsi: modify noisy comment out

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: fsi: Add fsi_dma_get_area
Kuninori Morimoto [Fri, 17 Sep 2010 04:48:05 +0000 (13:48 +0900)]
ASoC: fsi: Add fsi_dma_get_area

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: fix SIU driver breakage, occurred during the multi-component transition
Guennadi Liakhovetski [Fri, 17 Sep 2010 10:30:18 +0000 (12:30 +0200)]
ASoC: fix SIU driver breakage, occurred during the multi-component transition

This patch fixes multiple bugs and a typo, occurred during the multi-
component transition.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agosh: fix an SIU device name mismatch
Guennadi Liakhovetski [Fri, 17 Sep 2010 10:30:00 +0000 (12:30 +0200)]
sh: fix an SIU device name mismatch

Recent ASoC changes unified all PCM names, fix the platform code to match.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: fix compile breakage of the sh/siu driver
Guennadi Liakhovetski [Fri, 17 Sep 2010 10:29:46 +0000 (12:29 +0200)]
ASoC: fix compile breakage of the sh/siu driver

The sh/siu ASoC driver doesn't compile because of a function defined static in
the source and extern in a header. Remove the unneeded declaration in the
header.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.36' into for-2.6.37
Mark Brown [Sun, 19 Sep 2010 15:03:16 +0000 (16:03 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37

13 years agoASoC: fix clkdev API usage in sh/migor.c
Guennadi Liakhovetski [Fri, 17 Sep 2010 10:30:11 +0000 (12:30 +0200)]
ASoC: fix clkdev API usage in sh/migor.c

The clkdev API doesn't use .name and .id members of struct clk for clock
lookup. Instead clocks should be added to a lookup list. Without this patch
audio om the Migo-R board fails silently.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add device table to SH FSI driver
Dzianis Kahanovich [Fri, 17 Sep 2010 13:42:05 +0000 (16:42 +0300)]
ASoC: Add device table to SH FSI driver

Signed-off-by: Dzianis Kahanovich <mahatma@eu.by>
[Modified to move the location of the table]
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: da7210: code clean up
Kuninori Morimoto [Thu, 16 Sep 2010 04:07:06 +0000 (13:07 +0900)]
ASoC: da7210: code clean up

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: ak4642: code clean up
Kuninori Morimoto [Thu, 16 Sep 2010 04:06:40 +0000 (13:06 +0900)]
ASoC: ak4642: code clean up

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add platform listing to debugfs
Mark Brown [Wed, 15 Sep 2010 17:22:40 +0000 (18:22 +0100)]
ASoC: Add platform listing to debugfs

List registered platforms in debugfs to improve debugability of machine
drivers.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Add DAI list to debugfs
Mark Brown [Wed, 15 Sep 2010 17:19:07 +0000 (18:19 +0100)]
ASoC: Add DAI list to debugfs

Allow the user to inspect the list of registered DAIs at runtime to
improve diagnostics for machine driver setup.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Add debugfs listing of registered CODECs
Mark Brown [Wed, 15 Sep 2010 17:15:14 +0000 (18:15 +0100)]
ASoC: Add debugfs listing of registered CODECs

Help with diagnostics for machine driver setup by listing all the
registered CODECs in debugfs.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: WM8985: Initial driver
Dimitris Papastamos [Wed, 15 Sep 2010 14:23:20 +0000 (15:23 +0100)]
ASoC: WM8985: Initial driver

The WM8985 is a low power, high quality, feature-rich stereo
CODEC designed for portable multimedia applications that
require low power consumption and high quality audio.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: tlv320aic3x: Complete the soc-cache conversion
Jarkko Nikula [Tue, 14 Sep 2010 13:59:47 +0000 (16:59 +0300)]
ASoC: tlv320aic3x: Complete the soc-cache conversion

Complete the phasing out of aic3x_read_reg_cache, aic3x_write_reg_cache,
aic3x_read and aic3x_write calls.

This patch uses in aic3x_read the codec->hw_read that points to a function
implemented by soc-cache. Only use for aic3x_read is if wanting to read
volatile bits from those registers that has both read-only and read/write
bits. All other cases should use snd_soc_read.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320aic3x: Switch to soc-cache helpers
Jarkko Nikula [Tue, 14 Sep 2010 11:54:48 +0000 (14:54 +0300)]
ASoC: tlv320aic3x: Switch to soc-cache helpers

Continue phasing out aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read
and aic3x_write calls.

This patch takes the soc-cache in use and removes aic3x_read_reg_cache and
aic3x_write.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320aic3x: Use snd_soc_read and snd_soc_write
Jarkko Nikula [Tue, 14 Sep 2010 11:54:47 +0000 (14:54 +0300)]
ASoC: tlv320aic3x: Use snd_soc_read and snd_soc_write

Start phasing out aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read and
aic3x_write calls in order to switch to soc-cache helpers.

This patch replaces aic3x_read_reg_cache and aic3x_write with snd_soc_read
and snd_soc_write. This is basically null-op since .read and .write in
soc_codec_dev_aic3x points to aic3x_read_reg_cache and aic3x_write.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Change my mail address
Arnaud Patard (Rtp) [Thu, 9 Sep 2010 12:10:33 +0000 (14:10 +0200)]
ASoC: Change my mail address

Like other coworkers, I'm about leave Mandriva/Edge-It so I'm changing
my mail address to use my personal one.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Remove needless codec->bias_level assignment to SND_SOC_BIAS_OFF
Jarkko Nikula [Tue, 14 Sep 2010 12:24:38 +0000 (15:24 +0300)]
ASoC: Remove needless codec->bias_level assignment to SND_SOC_BIAS_OFF

This assignment is done by the snd_soc_register_codec so there is no need
to redo it in probe function of a codec driver.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Samsung: Debug PCM snd_soc_dai_driver registration
Jassi Brar [Fri, 10 Sep 2010 07:41:05 +0000 (16:41 +0900)]
ASoC: Samsung: Debug PCM snd_soc_dai_driver registration

Each of the two PCM controllers need to be registered during probe
with appropriate 'name' of the dai driver.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Set more meaningful name for SMDK64xx WM8580 audio
Mark Brown [Mon, 13 Sep 2010 09:11:14 +0000 (10:11 +0100)]
ASoC: Set more meaningful name for SMDK64xx WM8580 audio

Since the SMDK64xx boards have two audio subsystems using the board
name as the card name by itself isn't so user friendly as it might
be.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: fsi codecs: Update card name field
Kuninori Morimoto [Mon, 13 Sep 2010 10:40:13 +0000 (19:40 +0900)]
ASoC: fsi codecs: Update card name field

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: S3C: Fix PCM TXFIFO_DIPSTICK value
Seungwhan Youn [Fri, 10 Sep 2010 08:20:45 +0000 (17:20 +0900)]
ASoC: S3C: Fix PCM TXFIFO_DIPSTICK value

This patch modify FIFO_DIPSTICK value of PCM TX FIFO to be a optimal one.
Privious value (0x20) did not support 'Almost_full' of PCM FIFO for the DMA
request.

Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: S3C: Fix PCM RX FIFO settings
Seungwhan Youn [Fri, 10 Sep 2010 08:20:00 +0000 (17:20 +0900)]
ASoC: S3C: Fix PCM RX FIFO settings

When PCM capture, sound recorded abnormally because of RX FIFO
threshold settings are missing. So, This patch modify PCM RX FIFO
setting codes same as TX.
And for DMA, if PCM RXFIFO_DIPSTICK is not '0', it doesn't effect
to DMA request, because DMA refer RX_FIFO_EMPTY flag as the DMA
request.

Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Fix off-by-one bug in WM8962 register cache size configuration
Dimitris Papastamos [Fri, 10 Sep 2010 17:24:08 +0000 (18:24 +0100)]
ASoC: Fix off-by-one bug in WM8962 register cache size configuration

This is a simple off-by-one bug, the size of the register cache is
incorrectly set to the maximum register index. Fix it by adding one.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: WL1273 FM Radio: Eliminate unnecessary error return value.
Matti J. Aaltonen [Fri, 10 Sep 2010 07:41:30 +0000 (10:41 +0300)]
ASoC: WL1273 FM Radio: Eliminate unnecessary error return value.

With this change it's not a error to call wl1273_set_audio_route
when the codec is active if the new routing value is the same
as the current active setting.

Signed-off-by: Matti J. Aaltonen <matti.j.aaltonen@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320aic3x: Optimize PLL programming in aic3x_set_bias_level
Jarkko Nikula [Fri, 10 Sep 2010 11:23:29 +0000 (14:23 +0300)]
ASoC: tlv320aic3x: Optimize PLL programming in aic3x_set_bias_level

There is only need to enable/disable once the PLL when the bias is going
between on, prepare, standby and off states.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Fix incorrect register cache size configuration
Dimitris Papastamos [Fri, 10 Sep 2010 17:14:56 +0000 (18:14 +0100)]
ASoC: Fix incorrect register cache size configuration

The reg_cache_size is the number of elements in the register cache,
not the size of the cache itself. This is not a problem if the size
of each element of the cache is 1 byte but it matters in any other
case.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: ad1980 - set reg_cache_default to ad1980_reg
Axel Lin [Thu, 9 Sep 2010 09:50:56 +0000 (17:50 +0800)]
ASoC: ad1980 - set reg_cache_default to ad1980_reg

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agofbdev: sh_mobile_hdmi: Add select SND_SOC to Kconfig
Kuninori Morimoto [Thu, 9 Sep 2010 07:30:18 +0000 (16:30 +0900)]
fbdev: sh_mobile_hdmi: Add select SND_SOC to Kconfig

This patch solve compile error when .config doesn't have
CONFIG_SND_SOC which is needed for HDMI sound.
It was reported by Guennadi as follows

Besides, I think, this will not link without CONFIG_SND_SOC.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: fsi-hdmi: remove unneeded header
Kuninori Morimoto [Thu, 9 Sep 2010 02:48:30 +0000 (11:48 +0900)]
ASoC: fsi-hdmi: remove unneeded header

This patch solve below report from Guennadi.
But I didn't remove #include <sound/sh_fsi.h>.
Because it have FSI_PORT_B define which is used on this file.

> +#include <linux/platform_device.h>
> +#include <sound/sh_fsi.h>
> +#include <video/sh_mobile_hdmi.h>

Now that everything is done with strings - do you still need these
headers?

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agofbdev: sh_mobile_hdmi: add new label for sound error path
Kuninori Morimoto [Thu, 9 Sep 2010 02:48:20 +0000 (11:48 +0900)]
fbdev: sh_mobile_hdmi: add new label for sound error path

This patch solve below report from Guennadi

>  /* External video parameter settings */
>  static void hdmi_external_video_param(struct sh_hdmi *hdmi)
>  {
> @@ -804,6 +862,11 @@ static int __init sh_hdmi_probe(struct platform_device *pdev)
>   return -ENOMEM;
>   }
>
> + ret =  snd_soc_register_codec(&pdev->dev,
> + &soc_codec_dev_sh_hdmi, &sh_hdmi_dai, 1);
> + if (ret < 0)
> + goto egetclk;
> +
>   hdmi->dev = &pdev->dev;
>
>   hdmi->hdmi_clk = clk_get(&pdev->dev, "ick");

NAK. This breaks the error path and has to be fixed. Firstly, please, use
a new label like "esndreg," secondly, you have to add

  clk_disable(hdmi->hdmi_clk);
 erate:
  clk_put(hdmi->hdmi_clk);
 egetclk:
+ snd_soc_unregister_codec(&pdev->dev);
+esndreg:
  mutex_destroy(&hdmi->mutex);
  kfree(hdmi);

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agofbdev: sh_mobile_hdmi: modify snd_soc_dai_driver settings
Kuninori Morimoto [Thu, 9 Sep 2010 02:48:10 +0000 (11:48 +0900)]
fbdev: sh_mobile_hdmi: modify snd_soc_dai_driver settings

This patch solve below report from Guennadi

> +static struct snd_soc_dai_driver sh_hdmi_dai = {
> + .name = "sh_mobile_hdmi-hifi",
> + .playback = {
> + .stream_name = "Playback",
> + .channels_min = 1,

Can it actually do mono? Maybe at probe time you could look at audio flags
from your previous patch and, e.g., for SPDIF set channels_min to 2?

> + .channels_max = 2,

That's the "smallest max," yes. With some other interfaces (I2S, DSD) it
can support up to 8 channels...

> + .rates = SNDRV_PCM_RATE_8000_48000,

Hm, in the datasheet I see supported frequencies 32kHz to 192kHz. And if
you promise support for multiple frequencies, don't you want to implement
.hw_params? Besides, not all of these frequencies will be available,
depending on your supplied clock and your willingness to implement
downsampling.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agofbdev: sh_mobile_hdmi: modify flags name to more specific
Kuninori Morimoto [Thu, 9 Sep 2010 02:48:01 +0000 (11:48 +0900)]
fbdev: sh_mobile_hdmi: modify flags name to more specific

This patch solve below report from Guennadi

1)

> +/* Audio source select */
> +#define HDMI_SRC_MASK (0xF << 0)
> +#define HDMI_SRC_I2S (0 << 0) /* default */
> +#define HDMI_SRC_SPDIF (1 << 0)
> +#define HDMI_SRC_DSD (2 << 0)
> +#define HDMI_SRC_HBR (3 << 0)

I would be more specific with these macro names, i.e., include "AUDIO" or
"SND" or something similar in them, e.g., HDMI_AUDIO_SRC_I2S.

2)

> + case HDMI_SRC_I2S:
> + data = (0x0 << 3);
> + break;
> + case HDMI_SRC_SPDIF:
> + data = (0x1 << 3);
> + break;
> + case HDMI_SRC_DSD:
> + data = (0x2 << 3);
> + break;
> + case HDMI_SRC_HBR:
> + data = (0x3 << 3);

In all above cases parenthesis are superfluous.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agofbdev: sh_mobile_hdmi: modify noisy comment out
Kuninori Morimoto [Thu, 9 Sep 2010 02:47:49 +0000 (11:47 +0900)]
fbdev: sh_mobile_hdmi: modify noisy comment out

This patch solve below report from Guennadi

1)

> - hdmi_write(hdmi, 0x00, HDMI_AUDIO_SETTING_1);
> + switch (pdata->flags & HDMI_SRC_MASK) {
> + default:
> + /* FALL THROUGH */

I'm not sure I like the capitalisation here - no reason to shout;)

2)

> +/************************************************************************
> +
> +
> + HDMI sound
> +
> +
> +************************************************************************/

I don't think this comment deserves 7 lines of text, besides breaking the
multiline comment style. If you think, one line like

/* HDMI sound */

is not enough how about just

/*
 * HDMI sound
 */

3)

> +/************************************************************************
> +
> +
> + HDMI video
> +
> +
> +************************************************************************/

See above - 7 lines seem to be an overkill to me.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Samsung: Debug PCM platform device name
Jassi Brar [Fri, 10 Sep 2010 07:41:17 +0000 (16:41 +0900)]
ASoC: Samsung: Debug PCM platform device name

The PCM controller platform devices are registered by the
name 'samsung-pcm', so use the same in the CPU driver.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: S3C: AC97: Remove the -dai suffix
Jassi Brar [Fri, 10 Sep 2010 07:40:31 +0000 (16:40 +0900)]
ASoC: S3C: AC97: Remove the -dai suffix

Drop the invalid -dai suffix appended to the Samsung AC97 CPU DAI.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: fsi codecs: modify menu attribute on Kconfig
Kuninori Morimoto [Fri, 10 Sep 2010 01:34:32 +0000 (10:34 +0900)]
ASoC: fsi codecs: modify menu attribute on Kconfig

Current SND_FSI_xxx menu attributes were bool,
but it should be tristate.
This patch solve below report from Guennadi

"bool" means, if someone is linking the whole ASoC into the kernel, they
will not be able to build this as a module. Not a big deal, but you're
stealing some freedom from the user.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: fsi-ak4642: modify platform_name
Kuninori Morimoto [Tue, 7 Sep 2010 06:46:48 +0000 (15:46 +0900)]
ASoC: fsi-ak4642: modify platform_name

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Laim Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoOMAP: McBSP: Fix static function warning
G, Manjunath Kondaiah [Wed, 8 Sep 2010 03:23:43 +0000 (08:53 +0530)]
OMAP: McBSP: Fix static function warning

This patch fixes sparse warning due non declaration of static function

sound/soc/omap/omap-mcbsp.c:783:5: warning: symbol 'omap_mcbsp_st_info_volsw' was not declared. Should it be static?

Signed-off-by: G, Manjunath Kondaiah <manjugk@ti.com>
Cc: alsa-devel@alsa-project.org
Cc: Jarkko Nikula <jhnikula@gmail.com>
Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Nishanth Menon <nm@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: rx1950: Fix clkdiv for 16khz and 48khz
Vasily Khoruzhick [Tue, 7 Sep 2010 14:04:18 +0000 (17:04 +0300)]
ASoC: rx1950: Fix clkdiv for 16khz and 48khz

Usage of 256 as clkdiv gives better rounding error (<1%)
for 16khz and 48khz

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: UDA1380: Add delay between power on and reset
Vasily Khoruzhick [Tue, 7 Sep 2010 14:04:17 +0000 (17:04 +0300)]
ASoC: UDA1380: Add delay between power on and reset

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: rx1950: remove unnecessary headers
Vasily Khoruzhick [Tue, 7 Sep 2010 14:04:16 +0000 (17:04 +0300)]
ASoC: rx1950: remove unnecessary headers

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: rx1950: check that machine is rx1950 in glue driver
Vasily Khoruzhick [Tue, 7 Sep 2010 14:04:15 +0000 (17:04 +0300)]
ASoC: rx1950: check that machine is rx1950 in glue driver

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Remove export of CS4270 DAI
Mark Brown [Tue, 7 Sep 2010 14:53:35 +0000 (15:53 +0100)]
ASoC: Remove export of CS4270 DAI

Not needed with multi-component.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Timur Tabi <timur@freescale.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Staticise WM9712 DAI list
Mark Brown [Mon, 6 Sep 2010 17:56:03 +0000 (18:56 +0100)]
ASoC: Staticise WM9712 DAI list

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Fix cut'n'paste comment in WM8994
Mark Brown [Mon, 6 Sep 2010 13:59:34 +0000 (14:59 +0100)]
ASoC: Fix cut'n'paste comment in WM8994

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge branch 'for-2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Mark Brown [Mon, 6 Sep 2010 10:53:13 +0000 (11:53 +0100)]
Merge branch 'for-2.6.37' of git://git./linux/kernel/git/lrg/asoc-2.6 into for-2.6.37

13 years agoASoC: wm8753, remove dead code
Jiri Slaby [Sat, 4 Sep 2010 13:12:09 +0000 (15:12 +0200)]
ASoC: wm8753, remove dead code

There is adangling code in wm8753_probe which is never executed.
Remove it.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Acked-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: tlv320aic3x: Fix null pointer dereference when pdata is not set
Jarkko Nikula [Sun, 5 Sep 2010 16:10:22 +0000 (19:10 +0300)]
ASoC: tlv320aic3x: Fix null pointer dereference when pdata is not set

Null pointer dereference will occur from *setup = pdata->setup if pdata
is not set. Fix this by moving assignments from pdata inside non-null case.

Thanks to Jiri Slaby <jirislaby@gmail.com> for noticing.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Jiri Slaby <jirislaby@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Add event variants of the AIF widgets
Mark Brown [Fri, 3 Sep 2010 18:36:28 +0000 (19:36 +0100)]
ASoC: Add event variants of the AIF widgets

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: ak4642: Revive ak4642_snd_controls
Kuninori Morimoto [Fri, 3 Sep 2010 07:12:36 +0000 (16:12 +0900)]
ASoC: ak4642: Revive ak4642_snd_controls

This patch revive ak4642_snd_controls which was removed on
f0fba2ad1b6b53d5360125c41953b7afcd6deff0

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: pl022_ds.c: Add of_node_put to avoid memory leak
Julia Lawall [Tue, 31 Aug 2010 15:48:56 +0000 (17:48 +0200)]
ASoC: pl022_ds.c: Add of_node_put to avoid memory leak

Add a call to of_node_put in the error handling code following a call to
of_parse_phandle.

This patch also moves the existing call to of_node_put tothe end of the
error handling code, to make it possible to jump to of_node_put without
doing the other cleanup operations.  These appear to be disjoint
operations, so the ordering doesn't matter.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
local idexpression x;
expression E,E1,E2;
statement S;
@@

*x =
(of_find_node_by_path
|of_find_node_by_name
|of_find_node_by_phandle
|of_get_parent
|of_get_next_parent
|of_get_next_child
|of_find_compatible_node
|of_match_node
|of_find_node_by_type
|of_find_node_with_property
|of_find_matching_node
|of_parse_phandle
)(...);
...
if (x == NULL) S
<... when != x = E
*if (...) {
  ... when != of_node_put(x)
      when != if (...) { ... of_node_put(x); ... }
(
  return <+...x...+>;
|
*  return ...;
)
}
...>
(
E2 = x;
|
of_node_put(x);
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Timur Tabi <timur@freescale.com>
Acked-by: Liam Girdwood <lrg@slimlogic.uo.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: kirkwood: add alias to pcm module
Arnaud Patard (Rtp) [Thu, 2 Sep 2010 08:31:47 +0000 (10:31 +0200)]
ASoC: kirkwood: add alias to pcm module

Allow snd-soc-kirkwood autoloading by adding an alias.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Added a missing 32-bit PCM format, to the wm8994 codec.
Ian Lartey [Tue, 31 Aug 2010 22:56:34 +0000 (23:56 +0100)]
ASoC: Added a missing 32-bit PCM format, to the wm8994 codec.

Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Implement WM8994 DAC data source muxes
Mark Brown [Tue, 31 Aug 2010 18:39:48 +0000 (19:39 +0100)]
ASoC: Implement WM8994 DAC data source muxes

Allow selection of the channel used for input to the AIFnDAC signals.
This isn't integrated into DAPM since we treat the data as a single
mono channel until just beyond this selection so it ends up having
no visible effect on the routing.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Add sh_mobile_hdmi sound support
Kuninori Morimoto [Tue, 31 Aug 2010 05:47:07 +0000 (14:47 +0900)]
ASoC: Add sh_mobile_hdmi sound support

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: fsi-codec: Add FSI - HDMI support
Kuninori Morimoto [Tue, 31 Aug 2010 05:46:53 +0000 (14:46 +0900)]
ASoC: fsi-codec: Add FSI - HDMI support

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agofbdev: sh-mobile: Add HDMI sound type selection
Kuninori Morimoto [Tue, 31 Aug 2010 05:46:41 +0000 (14:46 +0900)]
fbdev: sh-mobile: Add HDMI sound type selection

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: OpenRD Client : Fix naming breakage due to multicomponent support
Arnaud Patard (Rtp) [Mon, 30 Aug 2010 14:00:05 +0000 (16:00 +0200)]
ASoC: OpenRD Client : Fix naming breakage due to multicomponent support

multicomponent support added/changed some device name but added some typos,
breaking existing OpenRD Client support.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: fsi-ak4642/fsi-da7210: modify dai link settings for card detect
Kuninori Morimoto [Mon, 30 Aug 2010 11:47:19 +0000 (20:47 +0900)]
ASoC: fsi-ak4642/fsi-da7210: modify dai link settings for card detect

This patch modify dai link
- platform_name: sh_fsi/sh_fsi2 are used for FSI driver
- codec_name: ak4642/ak4643 are used for ak4642 driver

This is quick hack. I should modify it more wisely in future

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: fsi: modify compile error
Kuninori Morimoto [Mon, 30 Aug 2010 10:40:26 +0000 (19:40 +0900)]
ASoC: fsi: modify compile error

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoARM: S3C24XX: I2S multi-component-related fixes
Vasily Khoruzhick [Mon, 30 Aug 2010 08:28:09 +0000 (11:28 +0300)]
ARM: S3C24XX: I2S multi-component-related fixes

Export s3c_device_pcm for all S3C24xx-devices, not
only for S3C2440;
Fix device name for s3c_device_iis;

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add HP iPAQ RX1950 support
Vasily Khoruzhick [Mon, 30 Aug 2010 08:28:08 +0000 (11:28 +0300)]
ASoC: Add HP iPAQ RX1950 support

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: uda1380: make driver more powersave-friendly
Vasily Khoruzhick [Mon, 30 Aug 2010 08:28:07 +0000 (11:28 +0300)]
ASoC: uda1380: make driver more powersave-friendly

Disable some codec modules in standby mode, completely disable
codec in off mode to save some power.
Fix suspend/resume: mark mixer regs as dirty on resume to
restore mixer values, otherwise driver produces no sound
(master is muted by default).

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Swap bias level enumeration
Jarkko Nikula [Tue, 31 Aug 2010 11:52:35 +0000 (14:52 +0300)]
ASoC: Swap bias level enumeration

Swapping the bias level enumeration is only meant to help debugging. It is
easier if number 0 means bias off and bigger number means bigger bias level.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: fix au1x platform
Manuel Lauss [Thu, 26 Aug 2010 12:53:51 +0000 (14:53 +0200)]
ASoC: fix au1x platform

This patch fixes up the au1x audio platform after the multi-component
merge:
- compile fixes and updates to get DB1200 platform audio working again,
- removal of global variables in AC97/I2S/DMA(PCM) modules.

The AC97 part is limited to one instance only for now due to issues
with getting at driver data in the soc_ac97_ops.

Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: tlv320aic3x: Sanitize output controls
Jarkko Nikula [Fri, 27 Aug 2010 13:56:50 +0000 (16:56 +0300)]
ASoC: tlv320aic3x: Sanitize output controls

Currently output controls are not uniform. Some routes are adjusted by
mono controls that don't match to associated mixer switch, many routes are
not covered at all and stereo controls have following variants:

- L-to-L & R-to-R
- R-to-L & R-to-R
- L-to-L & R-to-L

This patch attempts to fix these issues. First, for the convenience, only
direct L-to-L, R-to-R and [L | R]-to-Mono routes are controlled by the
stereo controls. This logic is also used with the output pin mute controls
so all of them except mono output are controlled by stereo switches.

Then rest of the swapped L-to-R and R-to-L routes are controlled by the
mono controls that map to mixer switches with a same name. Mixers can then
associate these switches and volumes together.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320aic3x: Reimplement output mixers
Jarkko Nikula [Fri, 27 Aug 2010 13:56:49 +0000 (16:56 +0300)]
ASoC: tlv320aic3x: Reimplement output mixers

It turned out that the output mixers and their routes were misdefined: They
are not mixing output pins to internal signals but opposite. This has worked
for direct left-to-left and right-to-right routes since for those there are
complete routes. For swapped left-to-right and right-to-left routes this is
not working since there are no routes defined between them.

Another consequence is that those misdefined mixers are incorrectly routed
to several output pins leading unnecessary pin powerings even if there is no
route active to them.

Fix these by reimplementing the output mixers and routes as they are in
hardware. For completeness add also a few missing links between internal
signals and outputs.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320aic3x: Sort output pin control registers in header file
Jarkko Nikula [Fri, 27 Aug 2010 13:56:48 +0000 (16:56 +0300)]
ASoC: tlv320aic3x: Sort output pin control registers in header file

Each output pin has 7 consecutive control registers in tlv320aic3x register
map. First 6 of them control the signal mixing and one is for output level
and power control.

Sort these registers as they are sorted clearly in hardware, it makes also
definitions more readable and easier to pinpoint missing register
definitions.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320aic3x: Fix remaining output pin switch names
Jarkko Nikula [Fri, 27 Aug 2010 13:56:47 +0000 (16:56 +0300)]
ASoC: tlv320aic3x: Fix remaining output pin switch names

Bit 3 in output pin_CTRL register mutes the whole output pin not just the
route from DAC so remove misleading DAC from control name. Currently only
"Line[L | R] Playback Switch" were correct.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: ad1980: remove unneeded function declaration
Uwe Kleine-König [Tue, 24 Aug 2010 13:09:41 +0000 (15:09 +0200)]
ASoC: ad1980: remove unneeded function declaration

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Complete supported clock ratios and rate constraints for wm8741
Ian Lartey [Fri, 27 Aug 2010 14:26:27 +0000 (15:26 +0100)]
ASoC: Complete supported clock ratios and rate constraints for wm8741

Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.36' into for-2.6.37
Mark Brown [Fri, 27 Aug 2010 19:10:22 +0000 (20:10 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37

13 years agoASoC: soc-core: fix debugfs_pop_time file permissions
Axel Lin [Fri, 27 Aug 2010 02:34:27 +0000 (10:34 +0800)]
ASoC: soc-core: fix debugfs_pop_time file permissions

I think this is a typo, debugfs_pop_time should not be executable.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@slimloogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoARM: S3C64XX: Fix fallthrough bug in i2sv3 gpio configuration, improve logging
Dimitris Papastamos [Thu, 26 Aug 2010 15:07:23 +0000 (16:07 +0100)]
ARM: S3C64XX: Fix fallthrough bug in i2sv3 gpio configuration, improve logging

If the platform device id is 1, the code will fallthrough the
case and incorrectly return -EINVAL. Add a break to avoid fallthrough.

Make logging slightly more verbose by including the device id.

This fixes an issue only present in multi-component.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37
Mark Brown [Fri, 27 Aug 2010 10:22:57 +0000 (11:22 +0100)]
Merge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37

13 years agoASoC: pxa-ssp: fix a memory leak in pxa_ssp_remove()
Axel Lin [Wed, 25 Aug 2010 08:59:11 +0000 (16:59 +0800)]
ASoC: pxa-ssp: fix a memory leak in pxa_ssp_remove()

The "priv" allocated in pxa_ssp_probe() should be kfreed in pxa_ssp_remove().

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.36' into for-2.6.37
Mark Brown [Mon, 23 Aug 2010 12:38:11 +0000 (13:38 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37

13 years agoASoC: Enable autoloading of pxa2xx CPU I2S driver with module alias
Ian Lartey [Fri, 20 Aug 2010 16:18:45 +0000 (17:18 +0100)]
ASoC: Enable autoloading of pxa2xx CPU I2S driver with module alias

Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Make codec dai naming for WM8741 consistent
Ian Lartey [Fri, 20 Aug 2010 16:18:44 +0000 (17:18 +0100)]
ASoC: Make codec dai naming for WM8741 consistent

Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: pxa2xx-i2s is the proper name of the I2S DAI, not pxa-i2s.
Ian Lartey [Fri, 20 Aug 2010 16:18:43 +0000 (17:18 +0100)]
ASoC: pxa2xx-i2s is the proper name of the I2S DAI, not pxa-i2s.

Signed-off-by: Ian Lartey <ian@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: i.MX ssi: use SSI_STCCR in synchronous mode
Sascha Hauer [Mon, 23 Aug 2010 06:54:02 +0000 (08:54 +0200)]
ASoC: i.MX ssi: use SSI_STCCR in synchronous mode

In synchronous mode the SSI_SRCCR values are ignored. Instead
SSI_STCCR must be used for both receiving and transmitting.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add build infrastructure for WL1273
Mark Brown [Fri, 20 Aug 2010 16:24:51 +0000 (17:24 +0100)]
ASoC: Add build infrastructure for WL1273

The Makefile and Kconfig updates for WL1273 appear to have been mising
from the patch posted, add them.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Log WM8994 separate ADC LRCLKs every time we configure
Mark Brown [Mon, 23 Aug 2010 09:54:43 +0000 (10:54 +0100)]
ASoC: Log WM8994 separate ADC LRCLKs every time we configure

This makes it that little bit easier to spot the diagnostics in the
logs.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37
Liam Girdwood [Mon, 23 Aug 2010 11:58:01 +0000 (12:58 +0100)]
Merge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37

13 years agoomap: rx51: Remove redefinition of rx51_aic3x_data
Jarkko Nikula [Mon, 23 Aug 2010 07:35:05 +0000 (10:35 +0300)]
omap: rx51: Remove redefinition of rx51_aic3x_data

Redefinition of rx51_aic3x_data got introduced when merging upstread changes
for 2.6.36 and ASoC Multi-Component Support.

This must go together with multi-component commit f0fba2a.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: omap: rx51: Use gpio_set_value_cansleep for speaker amp control
Jarkko Nikula [Mon, 23 Aug 2010 07:36:41 +0000 (10:36 +0300)]
ASoC: omap: rx51: Use gpio_set_value_cansleep for speaker amp control

Speaker amplifier is controlled by TWL4030 GPIO which may sleep. Therefore
use gpio_set_value_cansleep to get rid of runtime warning that is introduced
after the commit 9c4ba94 and to get a stack trace if ever executing this
code in atomic context.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Fix tlv320aic3x GPIO initialization
Jarkko Nikula [Mon, 23 Aug 2010 07:38:40 +0000 (10:38 +0300)]
ASoC: Fix tlv320aic3x GPIO initialization

aic3x_init does a soft reset first and thus TLV320AIC3x GPIO setup must be
done after doing the basic init. Before multi-component the init was done
at i2c probe time and GPIO setup at soc probe time.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: mpc8610: replace of_device with platform_device
Timur Tabi [Thu, 19 Aug 2010 20:26:58 +0000 (15:26 -0500)]
ASoC: mpc8610: replace of_device with platform_device

'struct of_device' no longer exists, and its functionality has been merged
into platform_device.  Update the MPC8610 HPCD audio drivers (fsl_ssi, fsl_dma,
and mpc8610_hpcd) accordingly.

Also add a #include for slab.h, which is now needed for kmalloc and kfree.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Mark Brown [Fri, 20 Aug 2010 16:19:27 +0000 (17:19 +0100)]
Merge branch 'for-2.6.37' of git://git./linux/kernel/git/lrg/asoc-2.6 into for-2.6.37

13 years agoASoC: Don't call DAI registration for CODECs with no DAI
Mark Brown [Wed, 18 Aug 2010 19:20:55 +0000 (20:20 +0100)]
ASoC: Don't call DAI registration for CODECs with no DAI

Otherwise we generate worrying (but benign) warnings for amps.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>