platform/kernel/linux-arm64.git
13 years agoALSA: timer - Fix Oops at closing slave timer
Takashi Iwai [Mon, 8 Aug 2011 10:24:46 +0000 (12:24 +0200)]
ALSA: timer - Fix Oops at closing slave timer

A slave-timer instance has no timer reference, and this results in
NULL-dereference at stopping the timer, typically called at closing
the device.

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

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - use kzalloc()
Thomas Meyer [Sat, 6 Aug 2011 11:26:20 +0000 (13:26 +0200)]
ALSA: asihpi - use kzalloc()

 Use kzalloc rather than kmalloc followed by memset with 0

 This considers some simple cases that are common and easy to validate
 Note in particular that there are no ...s in the rule, so all of the
 matched code has to be contiguous

 The semantic patch that makes this output is available
 in scripts/coccinelle/api/alloc/kzalloc-simple.cocci.

 More information about semantic patching is available at
 http://coccinelle.lip6.fr/

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: snd-usb-caiaq: Fix keymap for RigKontrol3
Daniel Mack [Sat, 6 Aug 2011 07:13:08 +0000 (09:13 +0200)]
ALSA: snd-usb-caiaq: Fix keymap for RigKontrol3

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Renato <naretobh@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: snd-usb: Fix uninitialized variable usage
Daniel Mack [Fri, 5 Aug 2011 22:23:18 +0000 (00:23 +0200)]
ALSA: snd-usb: Fix uninitialized variable usage

Purely cosmetic, but fixes the following build warning.

  CC [M]  sound/usb/quirks.o
sound/usb/quirks.c: In function ‘snd_usb_apply_boot_quirk’:
sound/usb/quirks.c:429:6: warning: ‘err’ may be used uninitialized in this function [-Wuninitialized]

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix a complile warning in patch_via.c
Wang Shaoyan [Fri, 5 Aug 2011 10:51:29 +0000 (18:51 +0800)]
ALSA: hda - Fix a complile warning in patch_via.c

  sound/pci/hda/patch_via.c:2087: warning: 'dac' may be used uninitialized in this function

Signed-off-by: Wang Shaoyan <wangshaoyan.pt@taobao.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hdspm - Fix uninitialized compile warnings
Takashi Iwai [Fri, 5 Aug 2011 10:30:12 +0000 (12:30 +0200)]
ALSA: hdspm - Fix uninitialized compile warnings

Put the exception checks for io_type switch() for possible mistakes in
future.  Also this shuts up annoying compile warnings.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: usb-audio - add quirk for Keith McMillen StringPort
Miller Puckette [Thu, 4 Aug 2011 19:25:56 +0000 (12:25 -0700)]
ALSA: usb-audio - add quirk for Keith McMillen StringPort

Signed-off-by: Miller Puckette <msp@ucsd.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: snd-usb: operate on given mixer interface only
Daniel Mack [Thu, 4 Aug 2011 13:56:28 +0000 (15:56 +0200)]
ALSA: snd-usb: operate on given mixer interface only

When creating the mixers for an USB audio device, the current code looks
at the host interface stored in mixer->chip->ctrl_if. Change this and
rather keep a local pointer to the interface that was given when
snd_usb_create_mixer() was called.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Nicolai Krakowiak <nicolai.krakowiak@gmail.com>
Reported-by: Lean-Yves LENHOF <jean-yves@lenhof.eu.org>
Acked-by: Clemens Ladisch <clemens@ladisch.de>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: snd-usb: avoid dividing by zero on invalid input
Nicolai Krakowiak [Thu, 4 Aug 2011 13:56:27 +0000 (15:56 +0200)]
ALSA: snd-usb: avoid dividing by zero on invalid input

Signed-off-by: Nicolai Krakowiak <nicolai.krakowiak@gmail.com>
Acked-by: Daniel Mack <zonque@gmail.com>
Acked-by: Clemens Ladisch <clemens@ladisch.de>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: snd-usb: Accept UAC2 FORMAT_TYPE descriptors with bLength > 6
Clemens Ladisch [Thu, 4 Aug 2011 14:17:42 +0000 (16:17 +0200)]
ALSA: snd-usb: Accept UAC2 FORMAT_TYPE descriptors with bLength > 6

The Focusrite Scarlett 18i6 USB has them that way, which is probably a
bug. Anyway, the driver should simply ignore this fact.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Nicolai Krakowiak <nicolai.krakowiak@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agosound: oss/pas2: Remove CLOCK_TICK_RATE dependency from PAS16 driver
Deepak Saxena [Thu, 4 Aug 2011 00:04:01 +0000 (17:04 -0700)]
sound: oss/pas2: Remove CLOCK_TICK_RATE dependency from PAS16 driver

Update the PAS16 driver to use PIT_TICK_RATE instead
of the more generic CLOCK_TICK_RATE as the two are
equivalent on X86 and we want to depecrate the later.

Signed-off-by: Deepak Saxena <dsaxena@linaro.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Use auto-parser for ASUS UX50, Eee PC P901, S101 and P1005
Takashi Iwai [Thu, 4 Aug 2011 13:19:26 +0000 (15:19 +0200)]
ALSA: hda - Use auto-parser for ASUS UX50, Eee PC P901, S101 and P1005

It works fine with auto-parser and now the digital mic workaround was
implemented in auto-parser fixup, let's drop the static model quirks for
these models.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix digital-mic mono recording on ASUS Eee PC
Takashi Iwai [Wed, 3 Aug 2011 05:48:37 +0000 (07:48 +0200)]
ALSA: hda - Fix digital-mic mono recording on ASUS Eee PC

The digital-mic unit on ASUS Eee PC gives PDM signals instead of the
normal stereo PCM, thus you can't record a mono stream from the stereo
stream as is; the summed stereo signal results in almost zero level, and
you'll hear only soft noise.

As a workaround, use ALC269-specific COEF to manipulate the dmic route
for mono, like used for ALC271x.  This is implemented as a fix-up, thus
it works only with model=auto or without REALTEK_QUIRKS Kconfig.

Reported-and-tested-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Tue, 2 Aug 2011 08:08:54 +0000 (10:08 +0200)]
Merge branch 'fix/asoc' into for-linus

13 years agoALSA: asihpi - Clarify adapter index validity check
Eliot Blennerhassett [Mon, 1 Aug 2011 21:44:24 +0000 (09:44 +1200)]
ALSA: asihpi - Clarify adapter index validity check

Avoids assigning possibly invalid address to pa, even if it
is never dereferenced.
Correct error response to reflect request object/function ids.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Don't leak firmware if mem alloc fails
Jesper Juhl [Sun, 31 Jul 2011 21:16:43 +0000 (23:16 +0200)]
ALSA: asihpi - Don't leak firmware if mem alloc fails

We leak the memory allocated to 'firmware' when we fail to
release_firmware() after a kmalloc() failure in hpi_dsp_code_open().
This patch should take care of the leak.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: rtctimer.c needs module.h
Randy Dunlap [Sat, 30 Jul 2011 04:14:12 +0000 (21:14 -0700)]
ALSA: rtctimer.c needs module.h

rtctimer.c uses interfaces from linux/module.h, so it should
include that file.  This fixes build errors.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: Fix txx9aclc.c build
Ralf Baechle [Thu, 28 Jul 2011 11:26:16 +0000 (12:26 +0100)]
ASoC: Fix txx9aclc.c build

552d1ef6b5a98d7b95959d5b139071e3c90cebf1 [ASoC: core - Optimise and refactor
pcm_new() to pass only rtd] breaks compilation of txx9aclc.c:

  CC [M]  sound/soc/txx9/txx9aclc.o
/home/ralf/src/linux/linux-mips/sound/soc/txx9/txx9aclc.c: In function 'txx9aclc_pcm_new':
/home/ralf/src/linux/linux-mips/sound/soc/txx9/txx9aclc.c:318:3: error: 'card' undeclared (first use in this function)
/home/ralf/src/linux/linux-mips/sound/soc/txx9/txx9aclc.c:318:3: note: each undeclared identifier is reported only once for each function it appears in
make[5]: *** [sound/soc/txx9/txx9aclc.o] Error 1

Fixed by providing a definition for card.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hdspm - Add firmware revision 0xcc for RME MADI
Adrian Knoth [Fri, 29 Jul 2011 01:11:04 +0000 (03:11 +0200)]
ALSA: hdspm - Add firmware revision 0xcc for RME MADI

Apparently, there are multiple old firmware revisions in the wild for
the PCI RME MADI cards. Just add them to the list of supported devices
and treat them like their modern counterparts.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hdspm - Fix reported external sample rate on RME MADI and MADIface
Adrian Knoth [Fri, 29 Jul 2011 01:11:03 +0000 (03:11 +0200)]
ALSA: hdspm - Fix reported external sample rate on RME MADI and MADIface

In slave mode, the card can only detect the base frequency (32..48kHz)
on the MADI link (exception: 96k frames), so the real external sample
rate is this base frequency multiplied by 1, 2 or 4 depending on the
speed mode.

This patch enables 64..192kHz sample rates in clock slave mode, which
failed before due to an alleged sample rate mismatch between the MADI
link (e.g., 48kHz) and the application in DS/QS mode (e.g., 96kHz,
192kHz).

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hdspm - Provide MADI speed mode selector on RME MADI and MADIface
Adrian Knoth [Fri, 29 Jul 2011 01:11:02 +0000 (03:11 +0200)]
ALSA: hdspm - Provide MADI speed mode selector on RME MADI and MADIface

When running in slave mode (no clock master), there is no way to
determine the real wirespeed on the MADI link (single/double/quad
speed). Like physical gear, simply provide the user with a tristate
switch to select the appropriate format.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: sound/core/pcm_compat.c: adjust array index
Julia Lawall [Thu, 28 Jul 2011 12:46:05 +0000 (14:46 +0200)]
ALSA: sound/core/pcm_compat.c: adjust array index

Convert array index from the loop bound to the loop index.

A simplified version of the semantic patch that fixes this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e1,e2,ar;
@@

for(e1 = 0; e1 < e2; e1++) { <...
  ar[
- e2
+ e1
  ]
  ...> }
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agosound: oss: rename local change_bits to avoid powerpc bitsops.h definition
Andy Whitcroft [Wed, 27 Jul 2011 16:48:41 +0000 (17:48 +0100)]
sound: oss: rename local change_bits to avoid powerpc bitsops.h definition

This collides with powerpc exported functions from bitops.h.  Rename the
local copy in the oss soundblaster mixer and ad1848 driver.

Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix duplicated DAC assignments for Realtek
Takashi Iwai [Wed, 27 Jul 2011 14:41:57 +0000 (16:41 +0200)]
ALSA: hda - Fix duplicated DAC assignments for Realtek

Copying hp_pins and speaker_pins from line_out_pins may confuse the
parser, and it can lead to duplicated initializations for the same pin
with a wrong DAC assignment.  The problem appears in 3.0 kernel code.

Cc: <stable@kernel.org> (for 3.0)
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - off by one in asihpi_hpi_ioctl()
Dan Carpenter [Wed, 27 Jul 2011 12:02:26 +0000 (15:02 +0300)]
ALSA: asihpi - off by one in asihpi_hpi_ioctl()

"adapter" is used as an array index in the adapters[] array so
the off by one would make us read past the end.

1c073b67979 "ALSA: asihpi - Remove spurious adapter index check"
reverted Dan Rosenberg's check that would have prevented the
overflow here.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Fix Oops with Realtek quirks with NULL adc_nids
Takashi Iwai [Wed, 27 Jul 2011 12:01:24 +0000 (14:01 +0200)]
ALSA: hda - Fix Oops with Realtek quirks with NULL adc_nids

Somce quirk models don't set adc_nids but let the parser filling it.
But the recent code has unnecessary NULL-checks of spec->input_mux,
and it resulted in NULL dereferences.
This patch fixes that regression.

Reported-and-tested-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - bug fix pa use before init.
Eliot Blennerhassett [Wed, 27 Jul 2011 08:03:51 +0000 (20:03 +1200)]
ALSA: asihpi - bug fix pa use before init.

Fixes bug introduced by 1c073b67.
Also declare pa local to block in which it is used.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Add support for vref-out based mute LED control on IDT codecs
Vitaliy Kulikov [Tue, 26 Jul 2011 21:56:20 +0000 (16:56 -0500)]
ALSA: hda - Add support for vref-out based mute LED control on IDT codecs

This patch also registers all necessary callbacks to support mute LED
only when such control is enabled. And it keeps codec AFG in D0 or D1
state all the time when aggressive power managemnt is enabled for vref-out
control (and mute LED) work correctly.

Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Tue, 26 Jul 2011 15:47:05 +0000 (17:47 +0200)]
Merge branch 'fix/asoc' into for-linus

13 years agoALSA: hda - Cirrus Logic CS421x support
Tim Howe [Fri, 22 Jul 2011 21:41:00 +0000 (16:41 -0500)]
ALSA: hda - Cirrus Logic CS421x support

This update includes the changes necessary for supporting the
CS421x family of codecs.  Previously this file only supported
the CS420x family of codecs.

This file also contains init verbs to correct several issues in
the CS421x hardware.

Behavior between the CS421x and CS420x codec families is similar,
so several functions have been reused with "if" statements to
determine which codec family (CS421x or CS420x) is present.

Also, this file will be updated sometime in the near future in
order to add support for a system using CS421x that requires
mono mix on the speaker output only.

[Fix const usages and adaption for new APIs by tiwai]

Signed-off-by: Tim Howe <tim.howe@cirrus.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: Make pcm.h self-contained
Takashi Iwai [Tue, 26 Jul 2011 10:02:56 +0000 (12:02 +0200)]
ALSA: Make pcm.h self-contained

Move the macros depending on snd_mask_min() and co out of pcm.h into
pcm_params.h.  Otherwise using some params_*() macros will give comiple
errors without inclusion of pcm_params.h.

Also use hw_param_interval_c() and hw_param_mask_c() for const pointer.

Reported-by: Tim Blechmann <tim@klingt.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Allow codec-specific set_power_state ops
Takashi Iwai [Tue, 26 Jul 2011 08:33:10 +0000 (10:33 +0200)]
ALSA: hda - Allow codec-specific set_power_state ops

The procedure for codec D-state change may have exceptional cases
depending on the codec chip, such as a longer delay or suppressing D3.

This patch adds a new codec ops, set_power_state() to override the system
default function.  For ease of porting, snd_hda_codec_set_power_to_all()
helper function is extracted from the default set_power_state() function.

As an example, the Conexant codec-specific delay is removed from the
default routine but moved to patch_conexant.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Add post_suspend patch ops
Takashi Iwai [Tue, 26 Jul 2011 08:19:20 +0000 (10:19 +0200)]
ALSA: hda - Add post_suspend patch ops

Add a new ops, post_suspend(), which is called after suspend() ops is
performed.  This is called only in the case of the real PM suspend, and
the codec driver can use this for further changing of D-state or
clearing the LED, etc.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
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 agoASoC: Revert "ASoC: SAMSUNG: Add I2S0 internal dma driver"
Mark Brown [Thu, 21 Jul 2011 13:58:05 +0000 (14:58 +0100)]
ASoC: Revert "ASoC: SAMSUNG: Add I2S0 internal dma driver"

This reverts commit d7c3e9525ac8e898f1156a1f3a7c5038f6560186 as it does
not currently build due to missing dependencies in the Samsung tree.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
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 agoASoC: dapm - Add methods to retrieve snd_card and soc_card from dapm context.
Liam Girdwood [Wed, 20 Jul 2011 11:23:33 +0000 (12:23 +0100)]
ASoC: dapm - Add methods to retrieve snd_card and soc_card from dapm context.

In preparation for ASoC Dynamic PCM (AKA DSP) support.

Provide convenience methods to retrieve the soc_card or snd_card from a
DAPM context.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SAMSUNG: Add I2S0 internal dma driver
Sangbeom Kim [Wed, 20 Jul 2011 08:07:13 +0000 (17:07 +0900)]
ASoC: SAMSUNG: Add I2S0 internal dma driver

I2S in Exynos4 and S5PC110(S5PV210) has a internal dma.
It can be used low power audio mode and 2nd channel transfer.
This patch can support idma.

Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: SAMSUNG: Modify I2S driver to support idma
Sangbeom Kim [Wed, 20 Jul 2011 08:07:12 +0000 (17:07 +0900)]
ASoC: SAMSUNG: Modify I2S driver to support idma

Previously, I2S driver only can support system dma.
In this patch, i2s driver can support internal dma too.
IDMA h/w configuration is initialized on idma.c

Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: davinci: add missing break statement
Rajashekhara, Sudhakar [Wed, 20 Jul 2011 12:07:18 +0000 (17:37 +0530)]
ASoC: davinci: add missing break statement

In davinci_vcif_trigger() function, a break() statement was missing
causing the davinci_vcif_stop() function to be called as a fallback
after calling davinci_vcif_start().

Signed-off-by: Rajashekhara, Sudhakar <sudhakar.raj@ti.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: davinci: fix codec start and stop functions
Rajashekhara, Sudhakar [Wed, 20 Jul 2011 12:06:04 +0000 (17:36 +0530)]
ASoC: davinci: fix codec start and stop functions

According to DM365 voice codec data sheet at [1], before starting
recording or playback, ADC/DAC modules should follow a reset and
enable cycle. Writing a 1 to the ADC/DAC bit in the register resets
the module and clearing the bit to 0 will enable the module. But the
driver seems to be doing the reverse of it.

[1] http://focus.ti.com/lit/ug/sprufi9b/sprufi9b.pdf

Signed-off-by: Rajashekhara, Sudhakar <sudhakar.raj@ti.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: dapm - add DAPM macro for external enum widgets
Liam Girdwood [Wed, 20 Jul 2011 18:42:20 +0000 (19:42 +0100)]
ASoC: dapm - add DAPM macro for external enum widgets

Add a convenience macro for external enumerated widgets.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Acknowledge WM8962 interrupts before acting on them
Mark Brown [Wed, 20 Jul 2011 12:50:10 +0000 (13:50 +0100)]
ASoC: Acknowledge WM8962 interrupts before acting on them

This closes the small race between a status being read in response to an
interrupt and clearing the interrupt, meaning that if the status changes
between those periods we might not get a reassertion of the interrupt.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
13 years agoASoC: sgtl5000: guide user when regulator support is needed
Wolfram Sang [Mon, 18 Jul 2011 15:53:04 +0000 (17:53 +0200)]
ASoC: sgtl5000: guide user when regulator support is needed

Print a hint when the user has a setup where CONFIG_REGULATOR is really
needed to make the driver work.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Tested-by: Dong Aisheng <b29396@freescale.com>
Tested-by: Shawn Guo <shawn.guo@freescale.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sgtl5000: refactor registering internal ldo
Wolfram Sang [Mon, 18 Jul 2011 15:53:03 +0000 (17:53 +0200)]
ASoC: sgtl5000: refactor registering internal ldo

The code for registering the internal ldo was present twice. Turn it
into a function instead. Also, inform the user if LDO is used now.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Tested-by: Dong Aisheng <b29396@freescale.com>
Tested-by: Shawn Guo <shawn.guo@freescale.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: core: make comments fit the code
Wolfram Sang [Sun, 17 Jul 2011 16:00:26 +0000 (18:00 +0200)]
ASoC: core: make comments fit the code

In one comment, cpu_dai was mentioned although codec_dai was used in the
code. Also, fix the name for the card dai list which has no seperation
into card_dai and codec_dai.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Mark cache as dirty when suspending
Mark Brown [Mon, 18 Jul 2011 04:17:13 +0000 (13:17 +0900)]
ASoC: Mark cache as dirty when suspending

Since quite a few drivers are not managing to flag the cache as needing
to be resynced after suspend and it's a reasonable thing to do flag the
cache as needing sync automatically when suspending.

The expectation is that systems will mainly only keep the CODEC powered
when doing audio through the CODEC so we won't actually suspend the
device anyway; drivers which want to can override this behaviour when
they resume.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Cc: stable@kernel.org
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>