]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Mon, 20 Dec 2010 09:28:58 +0000 (10:28 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: HDA: Add auto-mute for Thinkpad SL410/SL510
David Henningsson [Fri, 17 Dec 2010 19:43:04 +0000 (20:43 +0100)]
ALSA: HDA: Add auto-mute for Thinkpad SL410/SL510

BugLink: http://launchpad.net/bugs/580006
SKU turns off auto-mute for these machines, so ignore the SKU.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Fri, 17 Dec 2010 15:45:11 +0000 (16:45 +0100)]
Merge branch 'topic/asoc' into for-next

13 years agoMerge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Takashi Iwai [Fri, 17 Dec 2010 15:43:17 +0000 (16:43 +0100)]
Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into topic/asoc

13 years agoMerge branch 'fix/hda' into for-linus
Takashi Iwai [Fri, 17 Dec 2010 14:28:33 +0000 (15:28 +0100)]
Merge branch 'fix/hda' into for-linus

13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Fri, 17 Dec 2010 14:28:25 +0000 (15:28 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: hda - Fix conflict of Mic Boot controls
Takashi Iwai [Fri, 17 Dec 2010 14:23:41 +0000 (15:23 +0100)]
ALSA: hda - Fix conflict of Mic Boot controls

Due to the recent change for multiple mics assignment, we need to handle
the index of each Mic Boost control respectively.  Otherwise the driver
gets the control element conflicts, and gives the unsable state.

Reference: kernel bug 25002
https://bugzilla.kernel.org/show_bug.cgi?id=25002

Reported-and-tested-by: Adam Williamson <awilliam@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Thu, 16 Dec 2010 16:56:20 +0000 (17:56 +0100)]
Merge branch 'topic/hda' into for-next

13 years agoALSA: hda - Clean up dead code in patch_realtek.c
Takashi Iwai [Thu, 16 Dec 2010 16:55:42 +0000 (17:55 +0100)]
ALSA: hda - Clean up dead code in patch_realtek.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Thu, 16 Dec 2010 16:19:56 +0000 (17:19 +0100)]
Merge branch 'topic/hda' into for-next

13 years agoALSA: hda - factorize an automute_mic realtek quirk function
Anisse Astier [Thu, 16 Dec 2010 11:19:47 +0000 (12:19 +0100)]
ALSA: hda - factorize an automute_mic realtek quirk function

Multiple quirk functions were using the exact same code to verify if the Mic
jack was plugged and mute the Mic accordingly

Signed-off-by: Anisse Astier <anisse@astier.eu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: twl6040: Add ramp up/down volume for HS and HF
Margarita Olaya Cabrera [Wed, 15 Dec 2010 01:00:21 +0000 (19:00 -0600)]
ASoC: twl6040: Add ramp up/down volume for HS and HF

Add ramp functions for the headset and handsfree outputs
in order to reduce the pops during power on/off sequences.

In order to give more control to volume ramp, step size and delay
between steps can be specified.

The patches are based on wm8350 implementation from Liam
Girdwood.

Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Set default gains to minimun value
Olaya, Margarita [Wed, 15 Dec 2010 01:18:36 +0000 (19:18 -0600)]
ASoC: twl6040: Set default gains to minimun value

Updated default values to improve power consumption.

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Wed, 15 Dec 2010 08:46:00 +0000 (09:46 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: HDA: Enable subwoofer on Asus G73Jw
David Henningsson [Wed, 15 Dec 2010 08:18:18 +0000 (09:18 +0100)]
ALSA: HDA: Enable subwoofer on Asus G73Jw

Set default association/sequence right on pin 0x17 in order for
the automatic parser to recognize the subwoofer correctly.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Wed, 15 Dec 2010 07:18:01 +0000 (08:18 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: HDA: Fix auto-mute on Lenovo Edge 14
David Henningsson [Wed, 15 Dec 2010 07:01:46 +0000 (08:01 +0100)]
ALSA: HDA: Fix auto-mute on Lenovo Edge 14

BugLink: http://launchpad.net/bugs/690530
The SKU value of this machine dictates that auto-mute should be
disabled. Since the SKU value is similar to the PCI SSID, the most
likely conclusion is that the SKU value should be ignored.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: twl6040: Use correct offset for LineInAmp Right
Misael Lopez Cruz [Sat, 11 Dec 2010 03:06:34 +0000 (21:06 -0600)]
ASoC: twl6040: Use correct offset for LineInAmp Right

Gain for LineInAmp Right uses LINEGAIN[5:3], which means that
offset for right channel should be 4.

Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Fix TLV dB step values for gains
Olaya, Margarita [Sat, 11 Dec 2010 03:06:39 +0000 (21:06 -0600)]
ASoC: twl6040: Fix TLV dB step values for gains

Some gains were incorrectly configured for dB values.

Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Increase timeout for power up
Jorge Eduardo Candelaria [Sat, 11 Dec 2010 03:06:30 +0000 (21:06 -0600)]
ASoC: twl6040: Increase timeout for power up

After coming back from suspend, the timeout waiting for Phoenix
chip to complete its power up sequence is not enough, which leaves
the codec cache value for some registers in an outdated state.

Increase the timeout value to wait for the power up sequence
to correclty complete.

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Enable plug detection interrupts
Misael Lopez Cruz [Sat, 11 Dec 2010 03:06:24 +0000 (21:06 -0600)]
ASoC: twl6040: Enable plug detection interrupts

Enable plug detection interrupt mask in order to get headset
PLUGINT/UNPLUGINT interrupts.

Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Clear interrupt status at boot time
Jorge Eduardo Candelaria [Sat, 11 Dec 2010 03:06:13 +0000 (21:06 -0600)]
ASoC: twl6040: Clear interrupt status at boot time

On Phoenix 1.1, the INTID register default value is an invalid
one, causing the interrupt handler to think the phoenix power on
sequence is ready before it actually finishes.

This causes some i2c errors when trying to configure twl.

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Enable automatic power for phoenix 1.1
Olaya, Margarita [Sat, 11 Dec 2010 03:06:07 +0000 (21:06 -0600)]
ASoC: twl6040: Enable automatic power for phoenix 1.1

Phoenix 1.1 supports automatic power on sequence, a
verification is added to use it with new revision of
the chip.

Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Fix analog Mic L & R mux controls
Francois Mazard [Sat, 11 Dec 2010 03:06:03 +0000 (21:06 -0600)]
ASoC: twl6040: Fix analog Mic L & R mux controls

The mux control has 4 elements not 3

Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Support other sample rates.
Olaya, Margarita [Sat, 11 Dec 2010 03:05:58 +0000 (21:05 -0600)]
ASoC: twl6040: Support other sample rates.

The twl6040 can support more sample rates other than 88.2 and 96k.

Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Fix PCM error handling ops
Olaya, Margarita [Sat, 11 Dec 2010 03:05:54 +0000 (21:05 -0600)]
ASoC: twl6040: Fix PCM error handling ops

This patch moves all the PCM error handling for clock config
out of trigger() and startup() and into prepare().

Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Restore bias level at resume
Olaya, Margarita [Sat, 11 Dec 2010 03:05:46 +0000 (21:05 -0600)]
ASoC: twl6040: Restore bias level at resume

This patch restores the CODEC bias level at resume().

Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Add headset and handset mux controls
Jorge Eduardo Candelaria [Sat, 11 Dec 2010 03:05:32 +0000 (21:05 -0600)]
ASoC: twl6040: Add headset and handset mux controls

This patch adds support for the twl6040 headset and handset
MUX controls.

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Modify the IRQ handler
Olaya, Margarita [Sat, 11 Dec 2010 03:05:30 +0000 (21:05 -0600)]
ASoC: twl6040: Modify the IRQ handler

Multiples interrupts can be received. The irq handler is modified
to attend all of them.

Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Update twl IO macro
Olaya, Margarita [Sat, 11 Dec 2010 03:05:24 +0000 (21:05 -0600)]
ASoC: twl6040: Update twl IO macro

Update the codec to use the new twl core register macros

Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: sdp4430: Add Jack support
Jorge Eduardo Candelaria [Sat, 11 Dec 2010 02:45:19 +0000 (20:45 -0600)]
ASoC: sdp4430: Add Jack support

Use jack framework to enable detection for the headset microphone
and stereo output in the sdp4430.

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: David Anders <x0132446@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: twl6040: Add jack support for headset and handset
Jorge Eduardo Candelaria [Sat, 11 Dec 2010 02:45:17 +0000 (20:45 -0600)]
ASoC: twl6040: Add jack support for headset and handset

This patch adds support for reporting twl6040 headset and
handset jack events.

The machine driver retrieves and report the status  through
twl6040_hs_jack_detect.

A workq is used to debounce of the irq.

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: TWL4030: Fix 24bit support
Peter Ujfalusi [Tue, 14 Dec 2010 11:45:29 +0000 (13:45 +0200)]
ASoC: TWL4030: Fix 24bit support

twl4030 series of codecs supports S32_LE with msbits=24.
Replace the S24_LE with S32_LE format, and add constraint
for 24msbit in case of 32 S32_LE format.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Tue, 14 Dec 2010 19:04:27 +0000 (20:04 +0100)]
Merge branch 'topic/asoc' into for-next

13 years agoASoC: soc-cache: A few minor stylistic changes
Dimitris Papastamos [Tue, 14 Dec 2010 15:15:36 +0000 (15:15 +0000)]
ASoC: soc-cache: A few minor stylistic changes

Remove redundant parentheses/spaces in the use of the sizeof
operator.

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: Explicitly clear WM8993 ramp controls on power down
Mark Brown [Tue, 14 Dec 2010 11:25:18 +0000 (11:25 +0000)]
ASoC: Explicitly clear WM8993 ramp controls on power down

This helps ensure that the ramp logic is reset when powering back up.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: dapm: Add output driver widget
Olaya, Margarita [Sat, 11 Dec 2010 03:11:44 +0000 (21:11 -0600)]
ASoC: dapm: Add output driver widget

In some cases it was not possible to follow the appropiate power
ON/OFF sequence like in cases where the PGA needs to be enabled
before the driver and disabled before the PGA for pop reduction.

Add a widget to support output driver (speaker, haptic, vibra, etc)
drivers where power ON/OFF ordering is important.

Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Tue, 14 Dec 2010 09:45:32 +0000 (10:45 +0100)]
Merge branch 'topic/misc' into for-next

13 years agoALSA: ml403-ac97cr: Use vsprintf extension %pR for struct resource
Joe Perches [Mon, 13 Dec 2010 21:42:22 +0000 (13:42 -0800)]
ALSA: ml403-ac97cr: Use vsprintf extension %pR for struct resource

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoregulator: Update LDO2 for WM8958
Mark Brown [Mon, 13 Dec 2010 15:07:40 +0000 (15:07 +0000)]
regulator: Update LDO2 for WM8958

LDO2 has a slightly different range of supported voltages on WM8958
so update the selector<->voltage mappings to match.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Fix AC'97 registration unwind
Mark Brown [Mon, 13 Dec 2010 17:03:27 +0000 (17:03 +0000)]
ASoC: Fix AC'97 registration unwind

soc_unregister_ac97_dai_link() takes a CODEC as an argument, not a
rtd like the registration function, so give it what it's looking for.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Fix build error caused by merging a fix for 2.6.37 into 2.6.38
Jarkko Nikula [Fri, 10 Dec 2010 18:54:49 +0000 (20:54 +0200)]
ASoC: Fix build error caused by merging a fix for 2.6.37 into 2.6.38

Fix "ASoC: Fix bias power down of non-DAPM codec" for 3.6.37 will cause a
build error when merging into ASoC for-2.6.38. Fix the issue by doing a
change that commit ce6120c "ASoC: Decouple DAPM from CODECs" would do.

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 agoMerge branch 'for-2.6.37' into for-2.6.38
Mark Brown [Mon, 13 Dec 2010 16:48:38 +0000 (16:48 +0000)]
Merge branch 'for-2.6.37' into for-2.6.38

13 years agoASoC: Fix bias power down of non-DAPM codec
Jarkko Nikula [Fri, 10 Dec 2010 18:53:55 +0000 (20:53 +0200)]
ASoC: Fix bias power down of non-DAPM codec

Currently bias of non-DAPM codec will be powered down (standby/off) whenever
there is a stream stop. This is wrong in simultaneous playback/capture since
the bias is put down immediately after stopping the first stream.

Fix this by using the codec->active count when figuring out the needed bias
level after stream stop.

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 agoMerge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
Mark Brown [Mon, 13 Dec 2010 15:53:31 +0000 (15:53 +0000)]
Merge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into for-2.6.38

13 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Mon, 13 Dec 2010 12:00:39 +0000 (13:00 +0100)]
Merge branch 'topic/asoc' into for-next

13 years agoASoC: Fix merge errors with flush_scheduled_work() removal
Takashi Iwai [Mon, 13 Dec 2010 11:55:39 +0000 (12:55 +0100)]
ASoC: Fix merge errors with flush_scheduled_work() removal

delayed_work was moved to dapm in the commit
ce6120cca2589ede530200c7cfe11ac9f144333c
    ASoC: Decouple DAPM from CODECs

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Mon, 13 Dec 2010 11:51:32 +0000 (12:51 +0100)]
Merge branch 'topic/asoc' into for-next

13 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Mon, 13 Dec 2010 11:51:24 +0000 (12:51 +0100)]
Merge branch 'topic/hda' into for-next

13 years agoALSA: hda - Mute speakers when line-out jack is plugged with Conexant auto mode
Takashi Iwai [Mon, 13 Dec 2010 11:48:35 +0000 (12:48 +0100)]
ALSA: hda - Mute speakers when line-out jack is plugged with Conexant auto mode

Mute speakers when a line-out jack is plugged as well as headphone jacks
with the new Conexant codec parser in the auto mode.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: Fix widgets for WM8994/58 AIF2 source control
Mark Brown [Wed, 8 Dec 2010 13:49:43 +0000 (13:49 +0000)]
ASoC: Fix widgets for WM8994/58 AIF2 source control

The compiler really ought to have been warning about unreferenced
variables...

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge branch 'topic/workq-update' into topic/misc
Takashi Iwai [Mon, 13 Dec 2010 08:29:52 +0000 (09:29 +0100)]
Merge branch 'topic/workq-update' into topic/misc

13 years agoMerge branch 'topic/workq-update' into topic/asoc
Takashi Iwai [Mon, 13 Dec 2010 08:28:43 +0000 (09:28 +0100)]
Merge branch 'topic/workq-update' into topic/asoc

Conflicts:
sound/soc/codecs/wm8350.c
sound/soc/codecs/wm8753.c
sound/soc/sh/fsi.c
sound/soc/soc-core.c

13 years agosound: don't use flush_scheduled_work()
Tejun Heo [Sat, 11 Dec 2010 16:51:26 +0000 (17:51 +0100)]
sound: don't use flush_scheduled_work()

flush_scheduled_work() is deprecated and scheduled to be removed.

* cancel[_delayed]_work() + flush_scheduled_work() ->
  cancel[_delayed]_work_sync().

* wm8350, wm8753 and soc-core use custom code to cancel a delayed
  work, execute it immediately if it was pending and wait for its
  completion.  This is equivalent to flush_delayed_work_sync().  Use
  it instead.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: Automatically manage WM8903 deemphasis rate
Mark Brown [Fri, 10 Dec 2010 19:17:08 +0000 (19:17 +0000)]
ASoC: Automatically manage WM8903 deemphasis rate

Provide the user with a boolean control then automatically select
the deemphasis filter most closely matching the sample rate.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Remove open coded symmetry implementation from WM8903
Mark Brown [Fri, 10 Dec 2010 19:17:07 +0000 (19:17 +0000)]
ASoC: Remove open coded symmetry implementation from WM8903

We're already flagged as using symmetric rates so we don't need to
have a custom implementation.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Implement WM8903 oversampling rate controls
Mark Brown [Fri, 10 Dec 2010 19:17:06 +0000 (19:17 +0000)]
ASoC: Implement WM8903 oversampling rate controls

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Implement WM8903 high pass filter support
Mark Brown [Fri, 10 Dec 2010 18:42:58 +0000 (18:42 +0000)]
ASoC: Implement WM8903 high pass filter support

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320dac33: Power down digital parts, when not needed
Peter Ujfalusi [Fri, 10 Dec 2010 11:26:31 +0000 (13:26 +0200)]
ASoC: tlv320dac33: Power down digital parts, when not needed

If the following scenario has been followed:
1. Enable analog bypass
amixer sset 'Analog Left Bypass' on
amixer sset 'Analog Right Bypass' on

2. Start playback
aplay -fdat -d3 /dev/zero

After the playback stopped (3 sec), and the soc timeout (5 sec),
the digital parts of the codec will remain powered up.
This means that the DAI clocks are continue to run, the
oscillator remain operational, etc.

Use the SND_SOC_DAPM_POST_PMD widget to get notification
about the stopped stream, and power down the digital
part of the codec.
If the analog bypass is enabled, than the codec will remain in
BIAS_ON level, and things will work correctly.
In case, if the bypass is disabled, than the codec will
fall to BIAS_STANDBY than to BIAS_OFF level, as it used
to.

The digital part of DAC33 is initialized at every stream start
(DAPM_PRE:PRE_PMU event), so subsequent streams (within 5 sec)
will have working DAI.
When the codec is coming out from BIAS_OFF, the full power-up
sequence followed by the same DAPM_PRE widget event will power up
the digital part.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Add HP iPAQ H1940 support
Vasily Khoruzhick [Thu, 9 Dec 2010 19:17:56 +0000 (21:17 +0200)]
ASoC: Add HP iPAQ H1940 support

Add glue driver to make s3c24xx-i2s and uda1380 produce some sound on
H1940.

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: Implement WM8994/58 DAC and ADC oversampling control
Mark Brown [Thu, 9 Dec 2010 12:07:44 +0000 (12:07 +0000)]
ASoC: Implement WM8994/58 DAC and ADC oversampling control

The oversampling rate of the DAC and ADC can be controlled to optimise
for either low power consumption or maximum performance.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Optimise WM9081 FLL performance
Mario Becroft [Fri, 3 Dec 2010 22:51:34 +0000 (11:51 +1300)]
ASoC: Optimise WM9081 FLL performance

Tune the FLL gain for optimal performance according to evaluation
results.

Signed-off-by: Mario Becroft <mb@gem.win.co.nz>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Fri, 10 Dec 2010 11:15:18 +0000 (12:15 +0100)]
Merge branch 'topic/misc' into for-next

13 years agoALSA: aoa: Remove wrong i2c_set_clientdata in onyx_i2c_remove()
Axel Lin [Fri, 10 Dec 2010 09:34:26 +0000 (17:34 +0800)]
ALSA: aoa: Remove wrong i2c_set_clientdata in onyx_i2c_remove()

It does not make sense to set clientdata to onyx in onyx_i2c_remove()
as we are going to kfree onyx.
What we really want here is i2c_set_clientdata(client, NULL);
Since the i2c core will take care of it now, so this patch just removes it.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Thu, 9 Dec 2010 16:48:00 +0000 (17:48 +0100)]
Merge branch 'topic/asoc' into for-next

13 years agoMerge branch 'for-2.6.37' into for-2.6.38
Mark Brown [Thu, 9 Dec 2010 11:29:13 +0000 (11:29 +0000)]
Merge branch 'for-2.6.37' into for-2.6.38

13 years agoASoC: Remove unnecessary structure definitions
Seungwhan Youn [Thu, 9 Dec 2010 04:17:39 +0000 (13:17 +0900)]
ASoC: Remove unnecessary structure definitions

This patch removes some legacy structure definitions which are not using
in current ASoC drivers.

Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: EP93xx: sampling rate range extended
Alexander Sverdlin [Thu, 9 Dec 2010 00:43:49 +0000 (03:43 +0300)]
ASoC: EP93xx: sampling rate range extended

Changes to both I2S and PCM code:
- Rates list extended up to 96kHz, it's tested on EDB9302 and works for both capture and
  playback.

Signed-off-by: Alexander Sverdlin <subaparts@yandex.ru>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: WM8580: Fix R8 initial value
Seungwhan Youn [Thu, 9 Dec 2010 09:07:52 +0000 (18:07 +0900)]
ASoC: WM8580: Fix R8 initial value

Acc to WM8580 manual, the default value for R8 is 0x10, not 0x1c.

Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: fix deemphasis control in wm8904/55/60 codecs
Dmitry Artamonow [Wed, 8 Dec 2010 20:36:17 +0000 (23:36 +0300)]
ASoC: fix deemphasis control in wm8904/55/60 codecs

Deemphasis control's .get callback should update control's value instead
of returning it - return value of callback function is used for indicating
error or success of operation.

Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: sdp4430: Enable FM stereo pins
Jorge Eduardo Candelaria [Wed, 8 Dec 2010 16:55:05 +0000 (10:55 -0600)]
ASoC: sdp4430: Enable FM stereo pins

Add FM stereo pins to the machine driver and add them as a
dapm widget.

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320dac33: Fix compillation error
Peter Ujfalusi [Wed, 8 Dec 2010 13:12:56 +0000 (15:12 +0200)]
ASoC: tlv320dac33: Fix compillation error

Fix the compilation error introduced by patch:
ASoC: tlv320dac33: Avoid multiple soft power up

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320dac33: Move DAC LR power on to a supply widget
Peter Ujfalusi [Wed, 8 Dec 2010 14:04:33 +0000 (16:04 +0200)]
ASoC: tlv320dac33: Move DAC LR power on to a supply widget

The power for the DACs need to be enabled, even when only
the analog bypass is in use with the codec, otherwise
the audio is going to be distorted.
Make sure that the DACs are powered all the time, when
there is audio activity.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: tlv320dac33: Rename outpup amplifier widget
Peter Ujfalusi [Wed, 8 Dec 2010 14:04:32 +0000 (16:04 +0200)]
ASoC: tlv320dac33: Rename outpup amplifier widget

Use better name for the widget, and remove the 'Power'
from it's name.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Thu, 9 Dec 2010 07:40:42 +0000 (08:40 +0100)]
Merge branch 'topic/misc' into for-next

13 years agoALSA: ice1712 - working M-Audio Delta 66E support
Brian Bloniarz [Wed, 8 Dec 2010 20:45:20 +0000 (12:45 -0800)]
ALSA: ice1712 - working M-Audio Delta 66E support

Rev. E of the M-Audio Delta 66 is partially supported (commit
ef2cd2ccad66b4aba518eca7514eface267ee0f3), but the layout of the GPIO
pins was still unclear. This patch adds the GPIO definitions so that
communication to the CS8247 & 2x AK4524 works correctly.

ALSA bug#3327 has more details; users cap & jhunt report there that the
GPIO wiring is similar to the Digigram VX442 (chip select: pin 4 =
CS8427, pin 5 = AK4524 #0, pin 6 = AK4524 #1).  There has been a lot of
conflicting information in the bug, but given these definitions, my
Delta 66E works; I tested analog in&out at 44.1kHz & 96kHz, analog gain
settings, S/PDIF clock sync, and S/PDIF in&out at 44.1kHz.

Signed-off-by: Brian Bloniarz <brian.bloniarz@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Thu, 9 Dec 2010 07:24:32 +0000 (08:24 +0100)]
Merge branch 'fix/asoc' into for-linus

13 years agoMerge branch 'fix/hda' into for-linus
Takashi Iwai [Thu, 9 Dec 2010 07:24:25 +0000 (08:24 +0100)]
Merge branch 'fix/hda' into for-linus

13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Thu, 9 Dec 2010 07:23:45 +0000 (08:23 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: HDA: Quirk for Dell Vostro 320 to make microphone work
David Henningsson [Thu, 9 Dec 2010 06:17:27 +0000 (07:17 +0100)]
ALSA: HDA: Quirk for Dell Vostro 320 to make microphone work

BugLink: http://launchpad.net/497546
Confirmed that the ideapad model works better than the current
quirk for Dell Vostro 320.

Cc: stable@kernel.org (2.6.35+)
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Thu, 9 Dec 2010 06:34:26 +0000 (07:34 +0100)]
Merge branch 'topic/hda' into for-next

13 years agoALSA: hda: Add fixup for mario system
Todd Broch [Wed, 8 Dec 2010 00:51:05 +0000 (16:51 -0800)]
ALSA: hda: Add fixup for mario system

create fixup function for the mario model and override amp capabilities
for NID 0x2

Signed-off-by: Todd Broch <tbroch@chromium.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda: Add modelname lookup and fixup for realtek codecs
Todd Broch [Mon, 6 Dec 2010 19:19:51 +0000 (11:19 -0800)]
ALSA: hda: Add modelname lookup and fixup for realtek codecs

Facilitate fixup for realtek codecs via modelname lookup of fixup
data.  Fallback to quirk based lookup in absence of model definition.

Signed-off-by: Todd Broch <tbroch@chromium.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Wed, 8 Dec 2010 16:17:35 +0000 (17:17 +0100)]
Merge branch 'topic/asoc' into for-next

13 years agoASoC: Add ADC high pass filter support to WM8994
Uk Kim [Tue, 7 Dec 2010 13:58:40 +0000 (13:58 +0000)]
ASoC: Add ADC high pass filter support to WM8994

Signed-off-by: Uk Kim <w0806.kim@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'fix/asoc' into for-next
Takashi Iwai [Wed, 8 Dec 2010 15:15:01 +0000 (16:15 +0100)]
Merge branch 'fix/asoc' into for-next

13 years agoASoC: Support WM8994 mono AIF configurations
Mark Brown [Tue, 7 Dec 2010 17:14:56 +0000 (17:14 +0000)]
ASoC: Support WM8994 mono AIF configurations

The WM8994 supports mono signals - enable this in the driver. With DSP
mode an automatic data channel selector is available, activate this
when in mono mode.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: soc-core: Fix null pointer dereference
Dimitris Papastamos [Tue, 7 Dec 2010 16:30:38 +0000 (16:30 +0000)]
ASoC: soc-core: Fix null pointer dereference

In case the codec driver did not provide a read/write function,
codec->driver->read|write will be NULL.  Ensure that we use the one
specified in codec->read|write to avoid oopsing when we access
the debugfs entries.  This is achieved by using snd_soc_read() and
snd_soc_write().

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 branch 'for-2.6.37' into for-2.6.38
Mark Brown [Wed, 8 Dec 2010 13:54:33 +0000 (13:54 +0000)]
Merge branch 'for-2.6.37' into for-2.6.38

Conflicts:
sound/soc/soc-core.c

Axel's fix on two different branches.

13 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Wed, 8 Dec 2010 08:14:43 +0000 (09:14 +0100)]
Merge branch 'topic/hda' into for-next

13 years agoALSA: HDA: Remove unconnected PCM devices for Intel HDMI
David Henningsson [Tue, 23 Nov 2010 09:23:40 +0000 (10:23 +0100)]
ALSA: HDA: Remove unconnected PCM devices for Intel HDMI

Some newer chips have more than one HDMI output, but usually not
all of them are exposed as physical jacks. Removing the unused
PCM devices (as indicated by BIOS in the pin config default) will
reduce user confusion as they currently have to choose between
several HDMI devices, some of them not working anyway.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Wed, 8 Dec 2010 08:07:38 +0000 (09:07 +0100)]
Merge branch 'fix/hda' into topic/hda

13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Wed, 8 Dec 2010 07:36:42 +0000 (08:36 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: hda - Reset sample sizes and max bitrates when reading ELD
Anssi Hannula [Tue, 7 Dec 2010 19:19:23 +0000 (21:19 +0200)]
ALSA: hda - Reset sample sizes and max bitrates when reading ELD

When a new HDMI/DP device is plugged in, hdmi_update_short_audio_desc()
is called for every SAD (Short Audio Descriptor) in the ELD data. For
LPCM coding type SAD defines the supported sample sizes. For several
other coding types (such as AC-3), a maximum bitrate is defined.

The maximum bitrate and sample size fields are not always cleared.
Therefore, if a device is unplugged and a different one is plugged in,
and the coding types of some SAD positions differ between the devices,
the old max_bitrate or sample_bits values will persist if the new SADs
do not define those values.

The leftover max_bitrate and sample_bits do not cause any issues other
than wrongly showing up in eld#X.Y procfs file and kernel log.

Fix that by always clearing sample_bits and max_bitrate when reading
SADs.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Tue, 7 Dec 2010 19:13:51 +0000 (20:13 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: hda - Always allow basic audio irrespective of ELD info
Anssi Hannula [Tue, 7 Dec 2010 18:56:19 +0000 (20:56 +0200)]
ALSA: hda - Always allow basic audio irrespective of ELD info

Commit bbbe33900d1f3c added functionality to restrict PCM parameters
based on ELD info (derived from EDID data) of the audio sink.

However, according to CEA-861-D no SAD is needed for basic audio
(32/44.1/48kHz stereo 16-bit audio), which is instead indicated with a
basic audio flag in the CEA EDID Extension.

The flag is not present in ELD. However, as all audio capable sinks are
required to support basic audio, we can assume it to be always
available.

Fix allowed audio formats with sinks that have SADs (Short Audio
Descriptors) which do not completely overlap with the basic audio
formats (there are no reports of affected devices so far) by always
assuming that basic audio is supported.

Reported-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Do not wrongly restrict min_channels based on ELD
Anssi Hannula [Tue, 7 Dec 2010 16:41:35 +0000 (18:41 +0200)]
ALSA: hda - Do not wrongly restrict min_channels based on ELD

Commit bbbe33900d1f3c added functionality to restrict PCM parameters
based on ELD info (derived from EDID data) of the audio sink.

However, it wrongly assumes that the bits 0-2 of the first byte of
CEA Short Audio Descriptors mean a supported number of channels. In
reality, they mean the maximum number of channels (as per CEA-861-D
7.5.2). This means that the channel count can only be used to restrict
max_channels, not min_channels.

Restricting min_channels causes us to deny opening the device in stereo
mode if the sink only has SADs that declare larger numbers of channels
(like Primare SP32 AV Processor does).

Fix that by not restricting min_channels based on ELD information.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Reported-by: Jean-Yves Avenard <jyavenard@gmail.com>
Tested-by: Jean-Yves Avenard <jyavenard@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: Correct WM8962 interrupt mask register read
Mark Brown [Tue, 7 Dec 2010 15:32:38 +0000 (15:32 +0000)]
ASoC: Correct WM8962 interrupt mask register read

Fix mismerge from the out of tree BSP where this support was developed.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: WM8580: Debug BCLK and sample size
Jassi Brar [Tue, 7 Dec 2010 10:23:07 +0000 (19:23 +0900)]
ASoC: WM8580: Debug BCLK and sample size

In case of SNDRV_PCM_FORMAT_S32_LE, we need to set WM8580_AIF_LENGTH_32,
rather than WM8580_AIF_LENGTH_24.
Also, the BCLK has to be 64fs, for sample size of 20, 24 and 32 bits.

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: Fix snd_soc_instantiate_card error path
Axel Lin [Tue, 7 Dec 2010 08:12:29 +0000 (16:12 +0800)]
ASoC: Fix snd_soc_instantiate_card error path

Properly free the resources in the case of snd_card_register failure
and soc_register_ac97_dai_link failure.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>