GitHub/MotorolaMobilityLLC/kernel-slsi.git
13 years agoALSA: hda - Make CONFIG_SND_HDA_POWER_SAVE depending on CONFIG_PM
Takashi Iwai [Tue, 26 Jul 2011 07:52:50 +0000 (09:52 +0200)]
ALSA: hda - Make CONFIG_SND_HDA_POWER_SAVE depending on CONFIG_PM

It makes little sense to enable power-saving without PM.
This removes SND_HDA_NEEDS_RESUME define so that we can use CONFIG_PM
in all places.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Make sure mute led reflects master mute state
Vitaliy Kulikov [Mon, 25 Jul 2011 22:52:57 +0000 (17:52 -0500)]
ALSA: hda - Make sure mute led reflects master mute state

This patch adds checking of mute state on all outputs besides just
speakers to calculate the master mute state for mute led support.
It also renames and splits the function that does it for better code
clarity.

Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix invalid mute led state on resume of IDT codecs
Vitaliy Kulikov [Fri, 22 Jul 2011 23:18:15 +0000 (18:18 -0500)]
ALSA: hda - Fix invalid mute led state on resume of IDT codecs

Codec state is not restored immediately on resume but on the first
access when power-save is enabled.  That leads to an invalid mute led
state after resume until either sound is played or some control is
changed.  This patch adds a possibility for a vendor specific patch to
restore codec state immediately after resume if required.  And it adds
code to restore IDT codecs state immediately on resume on HP systems
with mute led support.

Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Add support of the 4 internal speakers on certain HP laptops
Vitaliy Kulikov [Fri, 22 Jul 2011 22:50:37 +0000 (17:50 -0500)]
ALSA: hda - Add support of the 4 internal speakers on certain HP laptops

Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: Make snd_pcm_debug_name usable outside pcm_lib
Eliot Blennerhassett [Sat, 23 Jul 2011 00:36:25 +0000 (12:36 +1200)]
ALSA: Make snd_pcm_debug_name usable outside pcm_lib

Formatting a PCM name is useful for module debug too.
Add snd_prefix when making function public.

[minor coding-style fixes by tiwai]

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix DAC filling for multi-connection pins in Realtek parser
Takashi Iwai [Sat, 23 Jul 2011 16:57:11 +0000 (18:57 +0200)]
ALSA: hda - Fix DAC filling for multi-connection pins in Realtek parser

Fix a regression in the DAC filling code in patch_realtek.c.  The already
filled DACs in multiout.dac_nids[] were ignored because of num_dacs=0,
thus always pointed to the first DAC.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/hda' into for-linus
Takashi Iwai [Fri, 22 Jul 2011 06:43:27 +0000 (08:43 +0200)]
Merge branch 'topic/hda' into for-linus

13 years agoMerge branch 'topic/misc' into for-linus
Takashi Iwai [Fri, 22 Jul 2011 06:43:24 +0000 (08:43 +0200)]
Merge branch 'topic/misc' into for-linus

13 years agoMerge branch 'topic/asoc' into for-linus
Takashi Iwai [Fri, 22 Jul 2011 06:43:19 +0000 (08:43 +0200)]
Merge branch 'topic/asoc' into for-linus

13 years agoALSA: asihpi - Replace with snd_ctl_boolean_mono_info()
Takashi Iwai [Fri, 22 Jul 2011 05:57:44 +0000 (07:57 +0200)]
ALSA: asihpi - Replace with snd_ctl_boolean_mono_info()

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - HPI version 4.08
Eliot Blennerhassett [Fri, 22 Jul 2011 03:53:04 +0000 (15:53 +1200)]
ALSA: asihpi - HPI version 4.08

HPI Version is used to check for firmware compatibility.
This version  will accept 4.08.xx released firmware,
and will also accept 4.09.xx beta firmware

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Add volume mute controls
Eliot Blennerhassett [Fri, 22 Jul 2011 03:53:03 +0000 (15:53 +1200)]
ALSA: asihpi - Add volume mute controls

Mute functionality was recently added to the DSP firmware

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Control name updates
Eliot Blennerhassett [Fri, 22 Jul 2011 03:53:00 +0000 (15:53 +1200)]
ALSA: asihpi - Control name updates

Add names corresponding to new HPI node types.
Shorten some names so that constructed names don't overflow the
maximum name length.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Use size_t for sizeof result
Eliot Blennerhassett [Fri, 22 Jul 2011 03:52:58 +0000 (15:52 +1200)]
ALSA: asihpi - Use size_t for sizeof result

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Explicitly include mutex.h
Eliot Blennerhassett [Fri, 22 Jul 2011 03:52:56 +0000 (15:52 +1200)]
ALSA: asihpi - Explicitly include mutex.h

Because mutex is used in adapter struct defined here.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Add new node and message defines
Eliot Blennerhassett [Fri, 22 Jul 2011 03:52:55 +0000 (15:52 +1200)]
ALSA: asihpi - Add new node and message defines

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Make local function static
Eliot Blennerhassett [Fri, 22 Jul 2011 03:52:52 +0000 (15:52 +1200)]
ALSA: asihpi - Make local function static

Fixes a sparse warning.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Fix minor typos and spelling
Eliot Blennerhassett [Fri, 22 Jul 2011 03:52:50 +0000 (15:52 +1200)]
ALSA: asihpi - Fix minor typos and spelling

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Remove unused structures, macros and functions
Eliot Blennerhassett [Fri, 22 Jul 2011 03:52:48 +0000 (15:52 +1200)]
ALSA: asihpi - Remove unused structures, macros and functions

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Remove spurious adapter index check
Eliot Blennerhassett [Fri, 22 Jul 2011 03:52:46 +0000 (15:52 +1200)]
ALSA: asihpi - Remove spurious adapter index check

Subsystem requests don't have or need a valid adapter index.
The adapter index is already checked further on, before it is used to index
the adapters array. (Reverts 4a122c10f)

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Revise snd_pcm_debug_name, get rid of DEBUG_NAME macro
Eliot Blennerhassett [Fri, 22 Jul 2011 03:52:44 +0000 (15:52 +1200)]
ALSA: asihpi - Revise snd_pcm_debug_name, get rid of DEBUG_NAME macro

Work towards moving the function into alsa common header.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - DSP code loader API now independent of OS
Eliot Blennerhassett [Fri, 22 Jul 2011 03:52:42 +0000 (15:52 +1200)]
ALSA: asihpi - DSP code loader API now independent of OS

The loader API has been revised so that OS specific data is kept
local to hpidspcd.c, and the public API is unchanged across OSes.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Remove controlex structs and associated special data transfer code
Eliot Blennerhassett [Fri, 22 Jul 2011 03:52:40 +0000 (15:52 +1200)]
ALSA: asihpi - Remove controlex structs and associated special data transfer code

Some cobranet control data would not fit in an original HPI message.
Now that HPI is able to transfer larger messages, this special handling
is no longer required.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Increase request and response buffer sizes
Eliot Blennerhassett [Fri, 22 Jul 2011 03:52:38 +0000 (15:52 +1200)]
ALSA: asihpi - Increase request and response buffer sizes

Allow for up to 256 bytes of extra data on top of standard hpi
request and response sizes.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Give more meaningful name to hpi request message type
Eliot Blennerhassett [Fri, 22 Jul 2011 03:52:36 +0000 (15:52 +1200)]
ALSA: asihpi - Give more meaningful name to hpi request message type

Having a 'request message' makes more sense than a 'message message'

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: usb-audio - Add quirk for Roland / BOSS BR-800
David G Turner [Thu, 21 Jul 2011 17:00:57 +0000 (19:00 +0200)]
ALSA: usb-audio - Add quirk for  Roland / BOSS BR-800

Add support for Roland/BOSS BR-800 (0582:011e) to snd-usb-audio driver.

This allows playback and recording, which has been tested and found to
work. The third interface should be MIDI (MTC/SMPTE?) for DAW interface
and is set as per ME-25, but this has not been tested. SDHC card access
is already supported by usb-storage for Backup/Rhythm Editor/Wave
Convertor mode which should not conflict with this.

Signed-off-by: David G Turner <dgturner@iee.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Remove a superfluous argument of via_auto_init_output()
Takashi Iwai [Thu, 21 Jul 2011 12:23:35 +0000 (14:23 +0200)]
ALSA: hda - Remove a superfluous argument of via_auto_init_output()

"force" argument is always true, so let's strip it off.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix indep-HP path (de-)activation for VT1708* codecs
Takashi Iwai [Thu, 21 Jul 2011 11:45:56 +0000 (13:45 +0200)]
ALSA: hda - Fix indep-HP path (de-)activation for VT1708* codecs

This patch fixes non-working indep-HP control on VT1708* codecs.
The problems are that via_independent_hp_put() wasn't fixed to follow
the recent change of three HP paths, and hp_indep_path didn't contain
the amp nids of mixer elements.

Together with the fixes, a few code clean-ups are done.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Add documentation for codec-specific mixer controls
Takashi Iwai [Tue, 19 Jul 2011 07:34:10 +0000 (09:34 +0200)]
ALSA: hda - Add documentation for codec-specific mixer controls

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Switch HP DAC dynamically with indep-HP switch for VIA
Takashi Iwai [Mon, 18 Jul 2011 14:54:40 +0000 (16:54 +0200)]
ALSA: hda - Switch HP DAC dynamically with indep-HP switch for VIA

This patch changes the behavior of independent-HP enum switch.  Now
instead of returning a busy error, the driver switches dynamically the
stream of the HP (and shared) DACs according to the current mode.
The logic is similar like the dual-mic ADC switch, but a bit more
complicated because of the presence of shared DAC.

Together with the change, a mutex is introduced to protect against the
possible races for the indep-HP mode setting.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Implement dynamic loopback control for VIA codecs
Takashi Iwai [Mon, 18 Jul 2011 10:49:25 +0000 (12:49 +0200)]
ALSA: hda - Implement dynamic loopback control for VIA codecs

This patch adds the dynamic control of analog-loopback for VIA codecs.

When the loopback is enabled, the inputs from line-ins and mics are
mixed with the front DAC, and sent to the front outputs.  The very same
input is routed to the headhpones and speakers in loopback mode.
However, since the loopback mix can't take other than the front DAC,
there is no longer individual volume controls for headphones and
speakers.  Once when the loopback control is off, these volumes take
effect.

Since the individual volumes are more desired in general use caess, the
loopback mode is set to off as default for now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: virtuoso: fix silent analog output on Xonar Essence ST Deluxe
Clemens Ladisch [Sun, 17 Jul 2011 20:18:05 +0000 (22:18 +0200)]
ALSA: virtuoso: fix silent analog output on Xonar Essence ST Deluxe

Commit dd203fa97bd5 (ALSA: virtuoso: remove non-working controls on
Essence ST Deluxe) made it impossible to adjust the volume after the
driver initialized it to muted.

Ensure that those DACs that can be accessed with I2C are initialized
to the same volume that is the reset default of the DAC without I2C.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: 2.6.38+ <stable@kernel.org>
13 years agoMerge branch 'for-3.0' into for-3.1
Mark Brown [Sun, 17 Jul 2011 09:25:58 +0000 (18:25 +0900)]
Merge branch 'for-3.0' into for-3.1

13 years agoASoC: Correct WM8994 MICBIAS supply widget hookup
Mark Brown [Thu, 14 Jul 2011 09:21:37 +0000 (18:21 +0900)]
ASoC: Correct WM8994 MICBIAS supply widget hookup

The WM8994 and WM8958 series of devices have two MICBIAS supplies rather
than one, the current widget actually manages the microphone detection
control register bit (which is managed separately by the relevant API).

Fix this, hooking the relevant supplies up to the MICBIAS1 and MICBIAS2
widgets.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: Don't use -1 to boostrap subseq so it can be used by drivers
Mark Brown [Sat, 16 Jul 2011 01:55:08 +0000 (10:55 +0900)]
ASoC: Don't use -1 to boostrap subseq so it can be used by drivers

Makes life a little easier if you want to add subsequences to an existing
driver as you can use -1 to put things at the start of sequences.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Reduce power consumption for idle DAIs in WM8994
Mark Brown [Thu, 14 Jul 2011 08:11:38 +0000 (17:11 +0900)]
ASoC: Reduce power consumption for idle DAIs in WM8994

If DAIs are idle but their clocks are in use for some reason (eg, as
SYSCLK or for accessory detect) then set the clock dividers to the maximum
to reduce slightly the power consumption of the unclocked circuits.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Report an error for unknown adav80x formats
Mark Brown [Sat, 16 Jul 2011 02:34:58 +0000 (11:34 +0900)]
ASoC: Report an error for unknown adav80x formats

Not only fixes error handling but also some uninitialized variable
warnings.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
13 years agoASoC: Handle failed WM8994 FLL lock waits
Mark Brown [Fri, 15 Jul 2011 18:12:18 +0000 (03:12 +0900)]
ASoC: Handle failed WM8994 FLL lock waits

Try the completion before we start the FLL so that if an interrupt was
delayed long enough for us to miss it we don't wait for the completion
it signalled.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Handle spurious wm_hubs DC servo done interrupts
Mark Brown [Fri, 15 Jul 2011 08:33:26 +0000 (17:33 +0900)]
ASoC: Handle spurious wm_hubs DC servo done interrupts

Don't assume the first fire indicates that we're done.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: WM8983: Initial driver
Dimitris Papastamos [Fri, 15 Jul 2011 12:51:30 +0000 (13:51 +0100)]
ASoC: WM8983: Initial driver

The WM8983 is a low power, high quality stereo CODEC
designed for portable multimedia applications. Highly flexible
analogue mixing functions enable new application features,
combining hi-fi quality audio with voice communication.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-3.0' into for-3.1
Mark Brown [Fri, 15 Jul 2011 13:43:07 +0000 (22:43 +0900)]
Merge branch 'for-3.0' into for-3.1

13 years agoASoC: Fix shift in WM8958 accessory detection default implementation
Mark Brown [Fri, 15 Jul 2011 13:28:32 +0000 (22:28 +0900)]
ASoC: Fix shift in WM8958 accessory detection default implementation

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoALSA: intel8x0: Apply headphones+mute LED quirk for Dell Inspiron 9300
Daniel T Chen [Fri, 15 Jul 2011 02:06:06 +0000 (22:06 -0400)]
ALSA: intel8x0: Apply headphones+mute LED quirk for Dell Inspiron 9300

BugLink: https://bugs.launchpad.net/bugs/774895
The original reporter states that his volume keys do not change the
desired Master and PCM mixer elements together, so apply the hp+mute led
quirk for his PCI SSID.

Reported-by: Jeffrey Finkelstein
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix krealloc() replacement in hda_codec.c
Takashi Iwai [Thu, 14 Jul 2011 13:57:27 +0000 (15:57 +0200)]
ALSA: hda - Fix krealloc() replacement in hda_codec.c

It was obviously wrong, grr....

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Re-add need_dac_fix check for multi-io jacks of Realtek codecs
Takashi Iwai [Thu, 14 Jul 2011 13:31:21 +0000 (15:31 +0200)]
ALSA: hda - Re-add need_dac_fix check for multi-io jacks of Realtek codecs

During the rewrite, the check of spec->need_dac_fix and the corresponding
num_dacs change was dropped from the channel-mode control.

This patch re-adds it, and also enables need_dac_fix for ALC880 as default,
as this feature was originally introduced to fix h/w bugs of this chip.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: wm8900: fix a memory leak if wm8900_set_fll fails
Axel Lin [Thu, 14 Jul 2011 10:14:46 +0000 (18:14 +0800)]
ASoC: wm8900: fix a memory leak if wm8900_set_fll fails

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Log WM8994 FIFO errors from the interrupt
Mark Brown [Thu, 14 Jul 2011 03:38:18 +0000 (12:38 +0900)]
ASoC: Log WM8994 FIFO errors from the interrupt

We should spot them anyway on state changes but logging them gives us
better time information about when the misconfiguration happened.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SAMSUNG: 24-bit audio playback on Exynos4210
Giridhar Maruthy [Wed, 13 Jul 2011 11:22:06 +0000 (16:52 +0530)]
ASoC: SAMSUNG: 24-bit audio playback on Exynos4210

Using 256fs or 512fs will result in distortion of 24-bit
audio samples. This is because the lrclk generated is not
proper. Using 384 fs generates proper output.

Signed-off-by: Giridhar Maruthy <giridhar.maruthy@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Don't warn on low WM8994/58 AIFnCLKs
Mark Brown [Wed, 13 Jul 2011 06:52:13 +0000 (15:52 +0900)]
ASoC: Don't warn on low WM8994/58 AIFnCLKs

We can have valid but very low clocks in accessory detection modes.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Use WM8994 FLL lock interrupt
Mark Brown [Tue, 12 Jul 2011 10:47:59 +0000 (19:47 +0900)]
ASoC: Use WM8994 FLL lock interrupt

If we have interrupts then wait for the FLL lock interrupt rather than
using dead reckoning when waiting for the FLL to start.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Hook up DC servo completion IRQ for WM8994 and WM8958
Mark Brown [Tue, 12 Jul 2011 06:47:17 +0000 (15:47 +0900)]
ASoC: Hook up DC servo completion IRQ for WM8994 and WM8958

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Implement DC servo completion IRQ handling for wm_hubs devices
Mark Brown [Tue, 12 Jul 2011 06:25:03 +0000 (15:25 +0900)]
ASoC: Implement DC servo completion IRQ handling for wm_hubs devices

The individual devices should set the flag dcs_done_irq in the hubs
shared data structure to indicate that they will flag the interrupt
by calling wm_hubs_dcs_done().

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Use late enable handling for direct voice, speaker and headphone
Mark Brown [Wed, 29 Jun 2011 07:21:09 +0000 (00:21 -0700)]
ASoC: Use late enable handling for direct voice, speaker and headphone

This ensures appropriate clocking for bypass paths to speaker and
headphone and direct voice paths on affected revisions.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: STA32x: Preserve reserved register bits
Johannes Stezenbach [Mon, 11 Jul 2011 15:01:24 +0000 (17:01 +0200)]
ASoC: STA32x: Preserve reserved register bits

Chip documentation explicitly requires that the reset values
of reserved register bits are left untouched.  It is possible
there are differences between STA326 and STA328 or future
chip revisions in these bits, and clobbering them might
cause malfunction.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: STA32x: Add mixer controls for biquad coefficients
Johannes Stezenbach [Mon, 11 Jul 2011 15:01:23 +0000 (17:01 +0200)]
ASoC: STA32x: Add mixer controls for biquad coefficients

The STA32x has a number of preset EQ settings, but also
allows full user control of the biquad filter coeffcients
(when "Automode EQ" is set to "User").
Each biquad has five signed, 24bit, fixed-point coefficients
representing the range -1...1.  The five biquad coefficients
can be uploaded in one atomic operation into on-chip
coefficient RAM.
There are also a few prescale, postscale and mixing
coefficients, in the same numeric format and range
(a negative coefficient inverts phase).

These coefficients are made available as SNDRV_CTL_ELEM_TYPE_BYTES
mixer controls.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoALSA: hda - fix up typos in Kconfig help for default buffer size introduced in acfa634f
Paul Menzel [Tue, 12 Jul 2011 17:53:56 +0000 (19:53 +0200)]
ALSA: hda - fix up typos in Kconfig help for default buffer size introduced in acfa634f

This commit is a fix up for commit acfa634f.

commit acfa634f7e199193ec28282e82a5a6dd8edebcb7
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Jul 12 17:27:46 2011 +0200

  ALSA: hda - Add Kconfig for the default buffer size

Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: usb-audio - Add quirks for M-Audio Fast Track Pro and Quattro
Guillaume Pellerin [Tue, 12 Jul 2011 16:13:46 +0000 (18:13 +0200)]
ALSA: usb-audio - Add quirks for M-Audio Fast Track Pro and Quattro

This patch gives M-Audio Fast Track Pro and M-Audio Quattro quirks and
endpoints to boot and setup those devices with special options (digital
inputs and outputs, 24 bits mode, etc...). M-Audio Audiophile quirks are
just adapted to match the new global M-Audio parameters.

Special configurations can be then loaded through a modprobe conf file.
For example, to set the 24 bits mode on the Fast Track Pro add
/etc/modprobe.d/fast_track_pro.conf :

    options snd_usb_audio   vid=0x763 pid=0x2012 device_setup=0x08

Here is a list of the possibilities in this example :
http://files.parisson.com/debian/fast-track-pro.conf

Signed-off-by: Guillaume Pellerin <yomguy@parisson.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Add Kconfig for the default buffer size
Takashi Iwai [Tue, 12 Jul 2011 15:27:46 +0000 (17:27 +0200)]
ALSA: hda - Add Kconfig for the default buffer size

Add a Kconfig entry to specify the default buffer size.
Distros using PulseAudio can choose a larger value here.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: Use krealloc() in possible places
Takashi Iwai [Tue, 12 Jul 2011 06:05:16 +0000 (08:05 +0200)]
ALSA: Use krealloc() in possible places

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Expose secret DAC-AA connection of some VIA codecs
Takashi Iwai [Mon, 11 Jul 2011 15:05:04 +0000 (17:05 +0200)]
ALSA: hda - Expose secret DAC-AA connection of some VIA codecs

VT1718S and co have a secret connection from DAC to AA-mix, which
doesn't appear in the connection list obtained from the h/w.
Currently the driver fixes the connection index locally at init, but
now we can expose it statically via snd_hda_override_connections()
so that this conection can be checked better by the parser in future.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Always read raw connections for proc output
Takashi Iwai [Mon, 11 Jul 2011 13:42:52 +0000 (15:42 +0200)]
ALSA: hda - Always read raw connections for proc output

In the codec proc outputs, read the raw connections instead of the
cached connection list, i.e. proc files contain only raw values.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Add snd_hda_override_conn_list() helper function
Takashi Iwai [Mon, 4 Jul 2011 14:23:26 +0000 (16:23 +0200)]
ALSA: hda - Add snd_hda_override_conn_list() helper function

Add a function to add/modify the connection-list cache entry.
It'll be useful to fix a buggy hardware result.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Turn on extra EAPDs on Conexant codecs
Takashi Iwai [Mon, 11 Jul 2011 12:46:44 +0000 (14:46 +0200)]
ALSA: hda - Turn on extra EAPDs on Conexant codecs

Some machines seem to use EAPD control of the unused pin for controlling
the overall EAPD.  Since the driver currently doesn't check the EAPD of
unused pins, the EAPD isn't enabled.  For avoiding such a problem, turn
all extra EAPDs on as default.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Preserve input pin-ctl bits in HP-automute for VIA codec
Takashi Iwai [Mon, 11 Jul 2011 09:36:44 +0000 (11:36 +0200)]
ALSA: hda - Preserve input pin-ctl bits in HP-automute for VIA codec

For smart51 pins, we need to preserve the input pin-control bits at
auto-mute controls instead of overwriting zero or pin-out-only.
Otherwise the VREF won't be set properly when smart51 is disabled
again.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Set line-out pin-ctls properly when indep-HP mode changes
Takashi Iwai [Mon, 11 Jul 2011 09:28:13 +0000 (11:28 +0200)]
ALSA: hda - Set line-out pin-ctls properly when indep-HP mode changes

When Independent-HP mode is changed for VIA, the driver needs to
re-issue the auto-mute check so that the line-out pins are set properly
without influence of HP pin state.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Via Fix speaker-mute checks in VIA driver
Takashi Iwai [Mon, 11 Jul 2011 08:33:47 +0000 (10:33 +0200)]
ALSA: hda - Via Fix speaker-mute checks in VIA driver

When the line-jack is plugged/unplugged, the driver must check also
the headphone jack state in addition to the line-out jack.  Currently
it checks only the line-out state and ignores the headphone.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: Conditionalize the enable of WM8994 ADC TDM mode
Mark Brown [Wed, 6 Jul 2011 07:08:43 +0000 (00:08 -0700)]
ASoC: Conditionalize the enable of WM8994 ADC TDM mode

Future devices will not benefit from this.

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 [Sat, 9 Jul 2011 14:16:12 +0000 (23:16 +0900)]
Merge branch 'topic/asoc' of git://git./linux/kernel/git/tiwai/sound-2.6 into for-3.1

13 years agoALSA: hda - Implement 44kHz workaround for IdeadPad as fixup
Takashi Iwai [Sat, 9 Jul 2011 12:42:25 +0000 (14:42 +0200)]
ALSA: hda - Implement 44kHz workaround for IdeadPad as fixup

Instead of checking the model quirk, use a fixup table for workaround
of 44kHz-fixed PCM for Lenovo IdeaPad with ALC269.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'for-3.0' into for-3.1
Mark Brown [Sat, 9 Jul 2011 10:06:33 +0000 (19:06 +0900)]
Merge branch 'for-3.0' into for-3.1

13 years agoASoC: sh: fsi-hdmi: fixup snd_soc_card name
Kuninori Morimoto [Tue, 5 Jul 2011 07:16:17 +0000 (00:16 -0700)]
ASoC: sh: fsi-hdmi: fixup snd_soc_card name

it shouldn't contain space letters and
special letters like parentheses.

aplay will be "Segmentation fault" without this patch
special thanks to Takashi.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sh: fsi-da7210: fixup snd_soc_card name
Kuninori Morimoto [Tue, 5 Jul 2011 07:16:03 +0000 (00:16 -0700)]
ASoC: sh: fsi-da7210: fixup snd_soc_card name

it shouldn't contain space letters and
special letters like parentheses.

aplay will be "Segmentation fault" without this patch.
special thanks to Takashi.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sh: fsi-ak4642: fixup snd_soc_card name
Kuninori Morimoto [Tue, 5 Jul 2011 07:15:04 +0000 (00:15 -0700)]
ASoC: sh: fsi-ak4642: fixup snd_soc_card name

it shouldn't contain space letters and
special letters like parentheses.

aplay will be "Segmentation fault" without this patch.
special thanks to Takashi.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Sat, 9 Jul 2011 09:58:06 +0000 (11:58 +0200)]
Merge branch 'fix/hda' into topic/hda

Conflicts:
sound/pci/hda/patch_realtek.c

13 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Sat, 9 Jul 2011 09:56:43 +0000 (11:56 +0200)]
Merge branch 'fix/asoc' into for-linus

13 years agoALSA: hda - Fix a copmile warning
Takashi Iwai [Sat, 9 Jul 2011 09:55:28 +0000 (11:55 +0200)]
ALSA: hda - Fix a copmile warning

It's harmless but annyoing.
  sound/pci/hda/patch_realtek.c: In function ‘alc_cap_getput_caller’:
  sound/pci/hda/patch_realtek.c:2722:9: warning: ‘err’ may be used uninitialized in this function

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'for-3.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound...
Takashi Iwai [Sat, 9 Jul 2011 09:43:04 +0000 (11:43 +0200)]
Merge branch 'for-3.1' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc

13 years agoMerge branch 'for-3.0' into for-3.1
Mark Brown [Sat, 9 Jul 2011 09:20:36 +0000 (18:20 +0900)]
Merge branch 'for-3.0' into for-3.1

13 years agoMerge branch 'for-3.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound...
Takashi Iwai [Sat, 9 Jul 2011 07:44:09 +0000 (09:44 +0200)]
Merge branch 'for-3.0' of git://git./linux/kernel/git/broonie/sound-2.6 into fix/asoc

13 years agoALSA: hda - Merge alc*_parse_auto_config() functions in patch_realtek.c
Takashi Iwai [Fri, 8 Jul 2011 14:55:13 +0000 (16:55 +0200)]
ALSA: hda - Merge alc*_parse_auto_config() functions in patch_realtek.c

Now all alc*_parse_auto_config() do almost same thing except for the
NID list to ignore and the PINs for SSID-check, we can merge all these
to a single function.  A good amount of code reduction.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Merge ALC260 auto-parser code
Takashi Iwai [Fri, 8 Jul 2011 14:19:48 +0000 (16:19 +0200)]
ALSA: hda - Merge ALC260 auto-parser code

Finally the last one.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Merge ALC269 parser code
Takashi Iwai [Fri, 8 Jul 2011 14:12:05 +0000 (16:12 +0200)]
ALSA: hda - Merge ALC269 parser code

One more code reduction.  This codec has less DACs, thus the wiring
to DAC can't be filled uniquely for all output pins, i.e. some outputs
share the same volume control.
Except for that, all seems working fine.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Merge ALC268/269 auto-parser codes
Takashi Iwai [Fri, 8 Jul 2011 14:01:47 +0000 (16:01 +0200)]
ALSA: hda - Merge ALC268/269 auto-parser codes

Now coming to ALC268/269 parser codes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Merge ALC861 auto-parser code
Takashi Iwai [Fri, 8 Jul 2011 13:16:55 +0000 (15:16 +0200)]
ALSA: hda - Merge ALC861 auto-parser code

Merge more auto-parser code in patch_realtek.c, now for ALC861.
The topology of this codec is pretty simple, and can be parsed well
by the current starndard parser.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix amp-cap checks in patch_realtek.c
Takashi Iwai [Fri, 8 Jul 2011 13:14:19 +0000 (15:14 +0200)]
ALSA: hda - Fix amp-cap checks in patch_realtek.c

query_amp_caps() may return non-zero if the amp cap isn't supported
by the codec.  Thus one needs to check widget-caps first, then check
the corresponding amp-caps.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Merge ALC861-VD auto-parse to the standard parser
Takashi Iwai [Fri, 8 Jul 2011 12:39:03 +0000 (14:39 +0200)]
ALSA: hda - Merge ALC861-VD auto-parse to the standard parser

The existing standard auto-parser can work well with this codec, too.
Let's merge.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix auto-mic detection in Realtek codec-parser
Takashi Iwai [Fri, 8 Jul 2011 12:37:35 +0000 (14:37 +0200)]
ALSA: hda - Fix auto-mic detection in Realtek codec-parser

A regression fix from commit 21268961d3d1bbdd22a19b68adb80119e8c72dcd
  ALSA: hda - More flexible dynamic-ADC switching for Realtek codecs

The auto-mic wasn't detected properly when no ADC-switch is needed.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix output-path of VT1812 codec
Lydia Wang [Fri, 8 Jul 2011 10:28:47 +0000 (18:28 +0800)]
ALSA: hda - Fix output-path of VT1812 codec

For VT1812, add dac_mixer_idx for initialization.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix Oops in smart51 parsing in VIA codec
Takashi Iwai [Fri, 8 Jul 2011 09:35:11 +0000 (11:35 +0200)]
ALSA: hda - Fix Oops in smart51 parsing in VIA codec

Typical off-by-one thinko.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Provide the standard auto_init for Realtek codecs
Takashi Iwai [Fri, 8 Jul 2011 09:11:35 +0000 (11:11 +0200)]
ALSA: hda - Provide the standard auto_init for Realtek codecs

Remove redundant definitions.  Ideally, all init functions should be
identical in future.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Merge ALC680 auto-parser to the standard parser
Takashi Iwai [Fri, 8 Jul 2011 09:07:59 +0000 (11:07 +0200)]
ALSA: hda - Merge ALC680 auto-parser to the standard parser

Improved the standard Realtek auto-parser to support the codec topology
like ALC680.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Add a fix-up for HP RP5800
Takashi Iwai [Wed, 29 Jun 2011 15:21:00 +0000 (17:21 +0200)]
ALSA: hda - Add a fix-up for HP RP5800

The BIOS provides bogus pin configs, and also invalid SSID.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: pcmcia - Use pcmcia_request_irq()
Takashi Iwai [Tue, 14 Jun 2011 13:57:08 +0000 (15:57 +0200)]
ALSA: pcmcia - Use pcmcia_request_irq()

The drivers don't require the exclusive irqs.  Let's fix the deprecated
warnings.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: usb-audio: replace "void *" with more specific pointers
Pavel Roskin [Wed, 6 Jul 2011 15:20:13 +0000 (11:20 -0400)]
ALSA: usb-audio: replace "void *" with more specific pointers

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix Independent-HP detection on VT2002P/1802/1812 codecs
Lydia Wang [Fri, 8 Jul 2011 06:04:33 +0000 (14:04 +0800)]
ALSA: hda - Fix Independent-HP detection on VT2002P/1802/1812 codecs

For VT2002P, VT1802 and VT1812 codecs, to create Independent HP
control.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix DAC checks for VT2002P/1802/1812 codecs
Lydia Wang [Fri, 8 Jul 2011 06:03:43 +0000 (14:03 +0800)]
ALSA: hda - Fix DAC checks for VT2002P/1802/1812 codecs

For VT2002P, VT1802 and VT1812 codecs, there're only two DACs. So smart51
control shouldn't be created.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix VIA output-path init for VT2002P/1802/1812
Lydia Wang [Fri, 8 Jul 2011 06:02:52 +0000 (14:02 +0800)]
ALSA: hda - Fix VIA output-path init for VT2002P/1802/1812

For VT2002P, VT1802 and VT1812 codecs, the original activate_output_path()
function can't initialize output and hp path correctly, since mixers connected to
output pin widgets are not considered. So modify the activate_output_path()
function to satisify this kind of codec.

Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'for-3.0' into for-3.1
Mark Brown [Thu, 7 Jul 2011 16:54:19 +0000 (09:54 -0700)]
Merge branch 'for-3.0' into for-3.1

13 years agoASoC: pxa2xx-pcm: remove unused variable 'dai'
Axel Lin [Wed, 6 Jul 2011 13:20:42 +0000 (21:20 +0800)]
ASoC: pxa2xx-pcm: remove unused variable 'dai'

Remove unused variable 'dai' to eliminate below warning.

  CC      sound/soc/pxa/pxa2xx-pcm.o
sound/soc/pxa/pxa2xx-pcm.c: In function 'pxa2xx_soc_pcm_new':
sound/soc/pxa/pxa2xx-pcm.c:91: warning: unused variable 'dai'

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: ak4642: fixup snd_soc_update_bits mask for PW_MGMT2
Kuninori Morimoto [Thu, 7 Jul 2011 00:58:56 +0000 (17:58 -0700)]
ASoC: ak4642: fixup snd_soc_update_bits mask for PW_MGMT2

mask didn't cover update-data

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org