]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
13 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Tue, 10 May 2011 07:32:12 +0000 (09:32 +0200)]
Merge branch 'topic/misc' into for-next

13 years agoALSA: fm801: convert TEA575x support to new interface
Ondrej Zary [Mon, 9 May 2011 21:39:51 +0000 (23:39 +0200)]
ALSA: fm801: convert TEA575x support to new interface

Use common functions to access TEA575x tuner - remove original read/write
functions and provide new pin manipulation functions instead.

Also convert the original triple implementation to a simple GPIO pin map.

Tested with SF256-PCP and SF64-PCR (added the GPIO pin for MO/ST signal
for them).
SF256-PCS untested (pin for MO/ST signal is a guess).

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: es1968: convert TEA575x support to new interface
Ondrej Zary [Mon, 9 May 2011 21:39:37 +0000 (23:39 +0200)]
ALSA: es1968: convert TEA575x support to new interface

Use common functions to access TEA575x tuner - remove original read/write
functions and provide new pin manipulation functions instead.

Tested with SF64-PCE2 card.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: tea575x: unify read/write functions
Ondrej Zary [Mon, 9 May 2011 21:39:26 +0000 (23:39 +0200)]
ALSA: tea575x: unify read/write functions

Implement generic read/write functions to access TEA575x tuners. They're now
implemented 4 times (once in es1968 and 3 times in fm801).
This also allows mute to work on all cards.
Also improve tuner detection/initialization.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Tue, 10 May 2011 07:28:46 +0000 (09:28 +0200)]
Merge branch 'topic/asoc' into for-next

13 years agoMerge branch 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Takashi Iwai [Tue, 10 May 2011 07:24:50 +0000 (09:24 +0200)]
Merge branch 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc

13 years agoMerge branch 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Takashi Iwai [Tue, 10 May 2011 07:20:19 +0000 (09:20 +0200)]
Merge branch 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into topic/asoc

13 years agoASoC: SSM2602: Provide dB ranges for the volume controls
Lars-Peter Clausen [Sun, 8 May 2011 16:24:46 +0000 (09:24 -0700)]
ASoC: SSM2602: Provide dB ranges for the volume controls

Also fix the maximum value for the capture volume control.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SSM2602: Model power supply for the digital core as a DAPM widget
Lars-Peter Clausen [Sun, 8 May 2011 16:24:45 +0000 (09:24 -0700)]
ASoC: SSM2602: Model power supply for the digital core as a DAPM widget

Model the power supply for the digital core as a DAPM_SUPPLY widget. This allows
to cleanup the code a bit.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SSM2602: Add entry for the ssm2603 to the device id table
Lars-Peter Clausen [Sun, 8 May 2011 16:24:44 +0000 (09:24 -0700)]
ASoC: SSM2602: Add entry for the ssm2603 to the device id table

The SSM2603 is mostly register compatible with the SSM2602 and can be supported
by the current driver without any changes.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SSM2602: Add SSM2604 support
Lars-Peter Clausen [Sun, 8 May 2011 16:24:43 +0000 (09:24 -0700)]
ASoC: SSM2602: Add SSM2604 support

The SSM2604 is basically a lightweight variant of the SSM2602 with a compatible
register layout. Thus we can easily support both devices by the same driver,
by providing a slightly set of controls, widgets and routes.

Compared to the SSM2602 the SSM2604 has no microphone input and no headphone
output.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SSM2602: Do not power the codec up in probe
Lars-Peter Clausen [Sun, 8 May 2011 16:24:42 +0000 (09:24 -0700)]
ASoC: SSM2602: Do not power the codec up in probe

It is not required to have the codec powered at this stage and DAPM will power
the ADC and DAC down again after probe has run anyway.
Thus we avoid some unnecessary writes by this change.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SSM2602: Fix default register cache
Lars-Peter Clausen [Sun, 8 May 2011 16:24:41 +0000 (09:24 -0700)]
ASoC: SSM2602: Fix default register cache

Some of the values in the default register cache did not represent the codecs
state after reset. This patch fixes it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.39' into for-2.6.40
Mark Brown [Sun, 8 May 2011 14:33:41 +0000 (15:33 +0100)]
Merge branch 'for-2.6.39' into for-2.6.40

13 years agoASoC: UDA134x: Remove POWER_OFF_ON_STANDBY define.
Marek Belisko [Tue, 3 May 2011 12:46:32 +0000 (14:46 +0200)]
ASoC: UDA134x: Remove POWER_OFF_ON_STANDBY define.

Define POWER_OFF_ON_STANDBY cause trobles when trying to get some
sound from codec because code for bias setup was not compiled
(define wasn't defined). This define was removed in commit:
cc3202f5 but again introduced by commit: f0fba2ad1 which then
completely break codec functionality so remove it again.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: SSM2602: Remove unused struct and define
Lars-Peter Clausen [Thu, 5 May 2011 14:59:13 +0000 (16:59 +0200)]
ASoC: SSM2602: Remove unused struct and define

Those are leftovers from a pre-multicomponent era.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SSM2602: Remove duplicate control
Lars-Peter Clausen [Thu, 5 May 2011 14:59:11 +0000 (16:59 +0200)]
ASoC: SSM2602: Remove duplicate control

There are currently two controls which allow selecting the capture source, one
as a normal control, the other as part of a DAPM_MUX widget.
Remove the normal control.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SSM2602: Cleanup coeff handling
Lars-Peter Clausen [Thu, 5 May 2011 14:59:10 +0000 (16:59 +0200)]
ASoC: SSM2602: Cleanup coeff handling

Drop unused field from the coeff struct, precalculate the srate register at
compile-time and cleanup up the naming.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.39' into for-2.6.40
Mark Brown [Sun, 8 May 2011 13:43:18 +0000 (14:43 +0100)]
Merge branch 'for-2.6.39' into for-2.6.40

13 years agoASoC: SSM2602: Fix reg_cache_size
Lars-Peter Clausen [Thu, 5 May 2011 14:59:14 +0000 (16:59 +0200)]
ASoC: SSM2602: Fix reg_cache_size

reg_cache_size is supposed to be the number of elements in the register cache,
not the size in bytes.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SSM2602: Fix 'Mic Boost2' control
Lars-Peter Clausen [Thu, 5 May 2011 14:59:16 +0000 (16:59 +0200)]
ASoC: SSM2602: Fix 'Mic Boost2' control

The 'Mic Boost2' control's shift was off by one and thus was not working.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: SSM2602: Properly annotate i2c probe and remove functions
Lars-Peter Clausen [Thu, 5 May 2011 14:59:12 +0000 (16:59 +0200)]
ASoC: SSM2602: Properly annotate i2c probe and remove functions

Annotate the i2c probe and remove functions with __devinit and __devexit.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: soc-cache: Allow codec->cache_bypass to be used with snd_soc_hw_bulk_write_raw()
Dimitris Papastamos [Thu, 5 May 2011 13:18:11 +0000 (14:18 +0100)]
ASoC: soc-cache: Allow codec->cache_bypass to be used with snd_soc_hw_bulk_write_raw()

If we specifically want to write a block of data to the hw bypassing the
cache, then allow this to happen inside snd_soc_hw_bulk_write_raw().

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Create codec DAPM widgets before calling the codecs probe function
Lars-Peter Clausen [Thu, 5 May 2011 14:59:09 +0000 (16:59 +0200)]
ASoC: Create codec DAPM widgets before calling the codecs probe function

This allows to create DAPM routes depending on those widgets in the
codecs probe function.  This is helpful when supporting similar codecs
with minor differences in the DAPM routing with the same driver.

Something similar has already been done for cards in commit
a841ebb9 (ASoC: Create card DAPM widgets early so they can be used in
callbacks).

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'topic/lola' into for-next
Takashi Iwai [Wed, 4 May 2011 17:55:37 +0000 (19:55 +0200)]
Merge branch 'topic/lola' into for-next

13 years agoALSA: lola - fix lola build
Randy Dunlap [Wed, 4 May 2011 16:53:10 +0000 (09:53 -0700)]
ALSA: lola - fix lola build

sound/pci/lola/Makefile was trying to build lola modules even
when PCI and SND_LOLA were not enabled, causing build errors:

ERROR: "snd_pcm_hw_constraint_step" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_period_elapsed" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_dma_alloc_pages" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_hw_constraint_integer" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_sgbuf_ops_page" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_set_ops" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_lib_free_pages" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_lib_ioctl" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_lib_malloc_pages" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_sgbuf_get_chunk_size" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_dma_free_pages" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_lib_preallocate_pages_for_all" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_new" [sound/pci/lola/snd-lola.ko] undefined!

Fix the Makefile to build only when CONFIG_SND_LOLA is enabled.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Wed, 4 May 2011 16:30:10 +0000 (18:30 +0200)]
Merge branch 'topic/hda' into for-next

13 years agoALSA: hda - Use position_fix=3 as default for AMD chipsets
Takashi Iwai [Wed, 4 May 2011 16:28:50 +0000 (18:28 +0200)]
ALSA: hda - Use position_fix=3 as default for AMD chipsets

AMD chipsets often behave pretty badly regarding the DMA position
reporting.  It results in the bad quality audio recording.
Using position_fix=3 works well in general for them, so let's enable
it as default for AMD.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'for-2.6.39' into for-2.6.40
Mark Brown [Tue, 3 May 2011 22:30:36 +0000 (23:30 +0100)]
Merge branch 'for-2.6.39' into for-2.6.40

13 years agoASoC: sst_platform: add hw_free callback to fix resource leak
xingchao [Wed, 27 Apr 2011 20:58:54 +0000 (16:58 -0400)]
ASoC: sst_platform: add hw_free callback to fix resource leak

Signed-off-by: xingchao <xingchao.wang@intel.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Remove outdated FIXME from WM8915
Mark Brown [Tue, 3 May 2011 18:31:20 +0000 (19:31 +0100)]
ASoC: Remove outdated FIXME from WM8915

Actually the current code is perfectly sensible given the hardware.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Use shared controls for input signal path in WM8915
Mark Brown [Tue, 3 May 2011 18:29:52 +0000 (19:29 +0100)]
ASoC: Use shared controls for input signal path in WM8915

Gives finer grained power management.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoMerge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
Mark Brown [Tue, 3 May 2011 22:28:51 +0000 (23:28 +0100)]
Merge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into for-2.6.40

13 years agoASoC: Don't crash on PM operations
Mark Brown [Tue, 3 May 2011 17:25:34 +0000 (18:25 +0100)]
ASoC: Don't crash on PM operations

The move over to exposing snd_soc_register_card() let the initialisation
of the driver data we use to find the card in PM operations go AWOL. Fix
this by setting the driver data when we register the card.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: Implement mux control sharing
Stephen Warren [Thu, 28 Apr 2011 23:38:01 +0000 (17:38 -0600)]
ASoC: Implement mux control sharing

Control sharing is enabled when two widgets include pointers to the
same kcontrol_new in their definition. Specifically:

static const struct snd_kcontrol_new adcinput_mux =
SOC_DAPM_ENUM("ADC Input", adcinput_enum);

static const struct snd_soc_dapm_widget wm8903_dapm_widgets[] = {
  SND_SOC_DAPM_MUX("Left ADC Input", SND_SOC_NOPM, 0, 0, &adcinput_mux),
  SND_SOC_DAPM_MUX("Right ADC Input", SND_SOC_NOPM, 0, 0, &adcinput_mux),
};

This is useful when a single register bit or field affects multiple
muxes at once. The common case is to have separate control bits or
fields for each mux (channel). An alternative way of looking at this
is that the mux is a stereo (or even n-channel) mux, rather than
independant mono muxes.

Without this change, a separate kcontrol will be created for each
DAPM_MUX. This has the following disadvantages:

* Confuses the user/programmer with redundant controls that don't
  map to separate hardware.

* When one of the controls is changed, ASoC fails to update the DAPM
  logic for paths solely affected by the other controls impacted by
  the same register bits. This causes some paths not to be correctly
  powered up or down. Prior to this change, to work around this, the
  user or programmer had to manually toggle all duplicate controls away
  from the intended setting, and then back to it.

Control sharing implies that the control is named based on the
kcontrol_new itself, not any of the widgets that are affected by it.

Control sharing is implemented by: When creating kcontrols, if a
kcontrol does not yet exist for a particular kcontrol_new, then a new
kcontrol is created with a list of widgets containing just a single
entry. This is the normal case. However, if a kcontrol does already
exists for the given kcontrol_new, the current widget is simply added
to that kcontrol's list of affected widgets.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Store a list of widgets in a DAPM mux/mixer kcontrol
Stephen Warren [Thu, 28 Apr 2011 23:38:00 +0000 (17:38 -0600)]
ASoC: Store a list of widgets in a DAPM mux/mixer kcontrol

A future change will allow multiple widgets to be affected by the same
control. For example, a single register bit that controls separate muxes
in both the L and R audio paths.

This change updates the code that handles relevant controls to be able
to iterate over a list of affected widgets. Note that only the put
functions need significant modification to implement the iteration; the
get functions do not need to iterate, nor unify the results, since all
affected widgets reference the same kcontrol.

When creating the list of widgets, always create a 1-sized list, since
the control sharing is not implemented in this change.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Add w->kcontrols, and populate it
Stephen Warren [Thu, 28 Apr 2011 23:37:59 +0000 (17:37 -0600)]
ASoC: Add w->kcontrols, and populate it

Future changes will need reference to the kcontrol created for a given
kcontrol_new. Store the created kcontrol values now.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: s/w->kcontrols/w->kcontrol_news/g
Stephen Warren [Thu, 28 Apr 2011 23:37:58 +0000 (17:37 -0600)]
ASoC: s/w->kcontrols/w->kcontrol_news/g

A future change will modify struct snd_soc_dapm_widget to store the
actual kcontrol pointers for each kcontrol_new in a field named
kcontrols. Rename the existing kcontrols field to enable this.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.39' into for-2.6.40
Mark Brown [Tue, 3 May 2011 18:07:45 +0000 (19:07 +0100)]
Merge branch 'for-2.6.39' into for-2.6.40

13 years agoASoC: JZ4740: Fix i2s shutdown
Lars-Peter Clausen [Sat, 30 Apr 2011 20:28:20 +0000 (22:28 +0200)]
ASoC: JZ4740: Fix i2s shutdown

The i2s shutdown callback has the check whether it should be disabled reversed.
Currently it is disabled if another stream is still active, but kept enabled if
the last stream is closed. This patch fixes it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Remove DAPM debugfs entries before freeing widgets
Lars-Peter Clausen [Sat, 30 Apr 2011 17:45:50 +0000 (19:45 +0200)]
ASoC: Remove DAPM debugfs entries before freeing widgets

Remove the DAPM debugfs entries before freeing the context's widgets, otherwise a
use after free situation might occur.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Move DAPM widget debugfs entry creation to snd_soc_dapm_new_widgets
Lars-Peter Clausen [Sat, 30 Apr 2011 17:45:49 +0000 (19:45 +0200)]
ASoC: Move DAPM widget debugfs entry creation to snd_soc_dapm_new_widgets

Currently debugfs entries for a DAPM widgets are only added in
snd_soc_dapm_debugfs_init. If a widget is added later (for example in the
dai_link's probe callback) it will not show up in debugfs.
This patch moves the creation of the widget debugfs entry to
snd_soc_dapm_new_widgets where it will be added after the widget has been
properly instantiated.

As a side-effect this will also reduce the number of times the DAPM widget list
is iterated during a card's instantiation.

Since it is possible that snd_soc_dapm_new_widgets is invoked form the codecs or
cards probe callbacks, the creation of the debugfs dapm directory has to be
moved before these are called.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Move DAPM debugfs directory creation to snd_soc_dapm_debugfs_init
Lars-Peter Clausen [Sat, 30 Apr 2011 17:45:48 +0000 (19:45 +0200)]
ASoC: Move DAPM debugfs directory creation to snd_soc_dapm_debugfs_init

Move the creation of the DAPM debugfs directory to snd_soc_dapm_debugfs_init
instead of having the same duplicated code in both codec and card DAPM setup.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Free the card's DAPM context
Lars-Peter Clausen [Sat, 30 Apr 2011 17:45:47 +0000 (19:45 +0200)]
ASoC: Free the card's DAPM context

Free the card's DAPM context when the card is removed.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: tegra: TrimSlice machine support
Mike Rapoport [Tue, 26 Apr 2011 08:52:42 +0000 (11:52 +0300)]
ASoC: tegra: TrimSlice machine support

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Acked-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'topic/lola' into for-next
Takashi Iwai [Tue, 3 May 2011 16:48:59 +0000 (18:48 +0200)]
Merge branch 'topic/lola' into for-next

13 years agoALSA: lola - Yet another linux/delay.h inclusion
Takashi Iwai [Tue, 3 May 2011 16:48:29 +0000 (18:48 +0200)]
ALSA: lola - Yet another linux/delay.h inclusion

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/lola' into for-next
Takashi Iwai [Tue, 3 May 2011 16:21:22 +0000 (18:21 +0200)]
Merge branch 'topic/lola' into for-next

13 years agoALSA: lola - Add missing inclusion of linux/delay.h
Takashi Iwai [Tue, 3 May 2011 16:21:01 +0000 (18:21 +0200)]
ALSA: lola - Add missing inclusion of linux/delay.h

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/lola' into for-next
Takashi Iwai [Tue, 3 May 2011 15:11:58 +0000 (17:11 +0200)]
Merge branch 'topic/lola' into for-next

13 years agoALSA: lola - Implement polling_mode like hd-audio
Takashi Iwai [Tue, 3 May 2011 15:06:53 +0000 (17:06 +0200)]
ALSA: lola - Implement polling_mode like hd-audio

Also protect the call of lola_update_rirb() with spinlock.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: lola - Rename to Digital SRC Capture Switch
Takashi Iwai [Tue, 3 May 2011 15:05:08 +0000 (17:05 +0200)]
ALSA: lola - Rename to Digital SRC Capture Switch

Renamed to Digial SRC Capture Switch for more correct representation.
Also fixed analog volume control on Lola161611 and lola881.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: lola - Add sync in loop implementation
Takashi Iwai [Tue, 3 May 2011 15:02:35 +0000 (17:02 +0200)]
ALSA: lola - Add sync in loop implementation

For assuring the synchronized state with the pause operation,
loop over the all linked streams and waits until all get ready
in a loop.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: lola - Add SRC refcounting
Takashi Iwai [Tue, 3 May 2011 14:59:27 +0000 (16:59 +0200)]
ALSA: lola - Add SRC refcounting

Added the refcounting for the exclusive SRC control.
Also, fixed the possible stall after PCM pause operations.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: lola - Allow granularity changes
Takashi Iwai [Tue, 3 May 2011 14:51:56 +0000 (16:51 +0200)]
ALSA: lola - Allow granularity changes

Add some sanity checks.
Change PCM parameters appropriately per granularity.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: lola - Use SG-buffer
Takashi Iwai [Tue, 3 May 2011 14:50:51 +0000 (16:50 +0200)]
ALSA: lola - Use SG-buffer

Completely switch to SG-buffer now, as it's working stably.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: lola - Add Lola-specific module options
Takashi Iwai [Tue, 3 May 2011 14:48:59 +0000 (16:48 +0200)]
ALSA: lola - Add Lola-specific module options

Added granularity and sample_rate_min module options.

The former controls the h/w access granularity.  As default, it's set
to the max value 32.

The latter controls the minimum sample rate in Hz, as default 16000.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: lola - Fix PCM stalls
Takashi Iwai [Tue, 3 May 2011 14:47:03 +0000 (16:47 +0200)]
ALSA: lola - Fix PCM stalls

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: lola - Use a single BDL
Takashi Iwai [Tue, 3 May 2011 14:41:02 +0000 (16:41 +0200)]
ALSA: lola - Use a single BDL

Use a single BDL for both buffers instead of allocating for each.

Also a few tune-up to avoid the stream stalls in the PCM code and
the prelimianry work for SG-buffer support are added, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: lola - Suppress the debug print
Takashi Iwai [Tue, 3 May 2011 14:36:09 +0000 (16:36 +0200)]
ALSA: lola - Suppress the debug print

Use snd_printdd() for less important debug messages.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: lola - Changes in proc file
Takashi Iwai [Tue, 3 May 2011 14:32:48 +0000 (16:32 +0200)]
ALSA: lola - Changes in proc file

The codec proc file becomes a read only that shows the codec widgets
in a text form.  A new proc file, codec_rw, is introduced instead for
accessing the Lola verb directly by reading and writing to it.

Also, regs proc file shows the contents of DSD, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: lola - Make SRC helper global
Takashi Iwai [Tue, 3 May 2011 14:39:37 +0000 (16:39 +0200)]
ALSA: lola - Make SRC helper global

Make lola_sample_rate_convert() global so that it can be accessed from
other files.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: Add the driver for Digigram Lola PCI-e boards
Takashi Iwai [Tue, 3 May 2011 14:14:46 +0000 (16:14 +0200)]
ALSA: Add the driver for Digigram Lola PCI-e boards

Added a new driver for supporting Digigram Lola PCI-e boards.

Lola has a similar h/w design like HD-audio but with extended verbs.
Thus the driver is written similarly like HD-audio driver in the bus
part.  The codec part is rather written in a fixed way specific to the
Lola board because of the verb incompatibility.

The driver provides basic PCM, supporting multi-streams and mixing.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Tue, 3 May 2011 10:53:05 +0000 (12:53 +0200)]
Merge branch 'topic/asoc' into for-next

13 years agoASoC: Declare const properly for enum texts
Takashi Iwai [Tue, 3 May 2011 10:50:29 +0000 (12:50 +0200)]
ASoC: Declare const properly for enum texts

The enum texts are supposed to be const char * const [].  Without the
second const, it gets compile warnings like
    sound/soc/codecs/max98095.c:607:2: warning: initialization discards qualifiers from pointer target type

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Tue, 3 May 2011 08:32:26 +0000 (10:32 +0200)]
Merge branch 'topic/hda' into for-next

13 years agoALSA: hda - fix NULL-dereference in patch_realtek
Raymond Yau [Tue, 3 May 2011 05:33:53 +0000 (13:33 +0800)]
ALSA: hda - fix NULL-dereference in patch_realtek

Fix NULL-dereference when try to use alt_playback since those codecs
which support multistreaming playback usually have more than 1 adc but
the driver should create alt_capture when spec->stream_analog_alt_capture
is also defined.

Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Mon, 2 May 2011 11:58:23 +0000 (13:58 +0200)]
Merge branch 'fix/hda' into topic/hda

13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Mon, 2 May 2011 11:58:15 +0000 (13:58 +0200)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: hda - Fix Realtek's chained fixup checks
Takashi Iwai [Mon, 2 May 2011 11:55:36 +0000 (13:55 +0200)]
ALSA: hda - Fix Realtek's chained fixup checks

The check of chained fixup list entry was done against the wrong element.
A stupid mistake during refactoring.

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Mon, 2 May 2011 10:39:18 +0000 (12:39 +0200)]
Merge branch 'topic/hda' into for-next

13 years agoALSA: hda - Constify fixup and other array data in patch_via.c
Takashi Iwai [Mon, 2 May 2011 10:38:19 +0000 (12:38 +0200)]
ALSA: hda - Constify fixup and other array data in patch_via.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Constify fixup and other array data in patch_sigmatel.c
Takashi Iwai [Mon, 2 May 2011 10:33:43 +0000 (12:33 +0200)]
ALSA: hda - Constify fixup and other array data in patch_sigmatel.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Constify fixup and other array data in patch_si3054.c
Takashi Iwai [Mon, 2 May 2011 10:22:39 +0000 (12:22 +0200)]
ALSA: hda - Constify fixup and other array data in patch_si3054.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Constify fixup and other array data in patch_hdmi.c
Takashi Iwai [Mon, 2 May 2011 10:17:41 +0000 (12:17 +0200)]
ALSA: hda - Constify fixup and other array data in patch_hdmi.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Constify fixup and other array data in patch_conexant.c
Takashi Iwai [Mon, 2 May 2011 09:38:21 +0000 (11:38 +0200)]
ALSA: hda - Constify fixup and other array data in patch_conexant.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Constify fixup and other array data in patch_cirrus.c
Takashi Iwai [Mon, 2 May 2011 09:36:09 +0000 (11:36 +0200)]
ALSA: hda - Constify fixup and other array data in patch_cirrus.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Constify fixup and other array data in patch_ca0110.c
Takashi Iwai [Mon, 2 May 2011 09:36:00 +0000 (11:36 +0200)]
ALSA: hda - Constify fixup and other array data in patch_ca0110.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Constify fixup and other array data in patch_cmedia.c
Takashi Iwai [Mon, 2 May 2011 09:34:20 +0000 (11:34 +0200)]
ALSA: hda - Constify fixup and other array data in patch_cmedia.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Constify fixup and other array data in patch_analog.c
Takashi Iwai [Mon, 2 May 2011 09:33:15 +0000 (11:33 +0200)]
ALSA: hda - Constify fixup and other array data in patch_analog.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Constify fixup and other array data in patch_realtek.c
Takashi Iwai [Mon, 2 May 2011 09:30:18 +0000 (11:30 +0200)]
ALSA: hda - Constify fixup and other array data in patch_realtek.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Constify some API function arguments
Takashi Iwai [Mon, 2 May 2011 09:29:30 +0000 (11:29 +0200)]
ALSA: hda - Constify some API function arguments

Also fixed the assignment of multiout.dac_nids to satisfy const.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Constify fixup and other array data in patch_realtek.c
Takashi Iwai [Mon, 2 May 2011 09:30:18 +0000 (11:30 +0200)]
ALSA: hda - Constify fixup and other array data in patch_realtek.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Constify some API function arguments
Takashi Iwai [Mon, 2 May 2011 09:29:30 +0000 (11:29 +0200)]
ALSA: hda - Constify some API function arguments

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Mon, 2 May 2011 08:41:40 +0000 (10:41 +0200)]
Merge branch 'fix/hda' into topic/hda

13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Mon, 2 May 2011 08:40:29 +0000 (10:40 +0200)]
Merge branch 'fix/hda' into for-next

13 years agoRevert "ALSA: hda - Fix pin-config of Gigabyte mobo"
Takashi Iwai [Mon, 2 May 2011 08:37:29 +0000 (10:37 +0200)]
Revert "ALSA: hda - Fix pin-config of Gigabyte mobo"

This reverts commit c6b358748e19ce7e230b0926ac42696bc485a562.

It turned out that there are different pin configurations for this
PCI SSID, including multi-channel modes.  And more proper fix for
allowing line-out mutes will come up in 2.6.40 tree, so we won't need
this fixup any more there.

Reported-by: Andrew Clayton <andrew@digital-domain.net>
Reported-by: Emmanuel Benisty <benisty.e@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Fri, 29 Apr 2011 17:19:48 +0000 (19:19 +0200)]
Merge branch 'topic/hda' into for-next

13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Fri, 29 Apr 2011 12:19:59 +0000 (14:19 +0200)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: HDA: Fix automute for Gateway NV79
David Henningsson [Fri, 29 Apr 2011 12:10:55 +0000 (14:10 +0200)]
ALSA: HDA: Fix automute for Gateway NV79

The PCI SSID is 1025:031c and the codec SSID is 1025:031d,
so the driver mistakes this for a SKU value, but looking at
the numbers, this is obviously wrong.

Cc: stable@kernel.org (2.6.38+)
BugLink: http://bugs.launchpad.net/bugs/761861
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Show the line-out type in snd_hda_parse_pin_def_config()
Takashi Iwai [Fri, 29 Apr 2011 11:00:40 +0000 (13:00 +0200)]
ALSA: hda - Show the line-out type in snd_hda_parse_pin_def_config()

Helpful for debugging.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Fri, 29 Apr 2011 06:19:13 +0000 (08:19 +0200)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: hda: add beep quirk for Realtek 0x1043:831a
Daniel Cordero [Fri, 29 Apr 2011 06:18:06 +0000 (08:18 +0200)]
ALSA: hda: add beep quirk for Realtek 0x1043:831a

PC Beep was not being reported as enabled on my EeePC 901:
        SKU: enable_pcbeep=0x0

Signed-off-by: Daniel Cordero <danielcordero@lavabit.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/misc' into for-next
Takashi Iwai [Thu, 28 Apr 2011 16:23:14 +0000 (18:23 +0200)]
Merge branch 'fix/misc' into for-next

13 years agoALSA: usb-audio - Terratec Aureon 7.1 USB ID as C-Media cm6206 quirks
Wolfgang Breyha [Thu, 28 Apr 2011 14:18:40 +0000 (16:18 +0200)]
ALSA: usb-audio - Terratec Aureon 7.1 USB ID as C-Media cm6206 quirks

This patch adds support for the Terratec Aureon 7.1 USB which uses a
C-Media cm6206 and needs all the quirks already found in the past.

Signed-off-by: Wolfgang Breyha <wbreyha@gmx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Add Auto-Mute Mode enum for two-output cases
Takashi Iwai [Thu, 28 Apr 2011 16:09:52 +0000 (18:09 +0200)]
ALSA: hda - Add Auto-Mute Mode enum for two-output cases

The Auto-Mute Mode control is useful even when only two outputs
(e.g. HP and speaker) are available.  Then user can enable/disable
the auto-mute behavior on the fly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - More line-out auto-mute support for Realtek
Takashi Iwai [Thu, 28 Apr 2011 15:57:46 +0000 (17:57 +0200)]
ALSA: hda - More line-out auto-mute support for Realtek

Not only supporting the line-out automute as additional feature
to the existing headphone automute, now the headphone jack can
mute the line-out alone even without the speaker outs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Add support for Line-Out automute to Realtek auto-parser
Takashi Iwai [Thu, 28 Apr 2011 15:36:18 +0000 (17:36 +0200)]
ALSA: hda - Add support for Line-Out automute to Realtek auto-parser

By popular demands, I add the functionality to mute / unmute the
line-out jacks per the headphone plug / unplug.  For achieving this
and keeping the compatibility with the old behavior, the new mixer
enum "Auto-Mute Mode" is added.  With this, user can control the
auto-mute behavior either disabled, speaker-only or lineout+speaker.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - More reduction of redundant automute codes in Realtek parser
Takashi Iwai [Thu, 28 Apr 2011 14:26:24 +0000 (16:26 +0200)]
ALSA: hda - More reduction of redundant automute codes in Realtek parser

Removed the redundant codes by replacing with the common helper
functions.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Consolidate auto-mute with master-switch for Realtek
Takashi Iwai [Thu, 28 Apr 2011 13:46:07 +0000 (15:46 +0200)]
ALSA: hda - Consolidate auto-mute with master-switch for Realtek

Yet another consolidation of auto-mute functions for the devices
controlling the output muts together with the master mixer switch,
typically found for ALC262 machines.

Signed-off-by: Takashi Iwai <tiwai@suse.de>