8 years agoALSA: usb-audio: export snd_usb_feature_unit_ctl
Daniel Mack [Wed, 25 May 2011 07:09:01 +0000]
ALSA: usb-audio: export snd_usb_feature_unit_ctl

In order to allow quirks functions to hook up to the standard feature
unit op tables, this patch exports a pointer to the struct that is used
internally.

That way, all the code handling the control can be kept private, and
external code can reference the symbol to re-use it.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: usb-audio: rework add_control_to_empty()
Daniel Mack [Wed, 25 May 2011 07:09:00 +0000]
ALSA: usb-audio: rework add_control_to_empty()

This patch renames add_control_to_empty() to snd_usb_mixer_add_control()
and exports it, so the quirks functions can make use of it.

Also, as "struct mixer_build" is private to mixer.c, rewrite the
function to take an argument of type "struct usb_mixer_interface"
instead.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: usb-audio: move assignment of chip->ctrl_intf
Daniel Mack [Wed, 25 May 2011 07:08:59 +0000]
ALSA: usb-audio: move assignment of chip->ctrl_intf

This is needed for upcoming changes to the quirks mechanism.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: HDA: Add quirk for Lenovo U350
David Henningsson [Mon, 23 May 2011 06:26:16 +0000]
ALSA: HDA: Add quirk for Lenovo U350

Add model=asus quirk for Lenovo Ideapad U350 to make internal mic
work correctly.

Cc: stable@kernel.org (2.6.38+)
BugLink: http://bugs.launchpad.net/bugs/751681
Reported-by: Kent Baxley <kent.baxley@canonical.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoMerge branch 'topic/hda' into for-linus
Takashi Iwai [Sun, 22 May 2011 08:01:35 +0000]
Merge branch 'topic/hda' into for-linus

8 years agoMerge branch 'topic/asoc' into for-linus
Takashi Iwai [Sun, 22 May 2011 08:01:33 +0000]
Merge branch 'topic/asoc' into for-linus

8 years agoMerge branch 'topic/misc' into for-linus
Takashi Iwai [Sun, 22 May 2011 08:01:29 +0000]
Merge branch 'topic/misc' into for-linus

8 years agoMerge branch 'topic/lola' into for-linus
Takashi Iwai [Sun, 22 May 2011 08:01:22 +0000]
Merge branch 'topic/lola' into for-linus

8 years agoMerge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
Mark Brown [Sun, 22 May 2011 02:31:51 +0000]
Merge branch 'topic/asoc' of git://git./linux/kernel/git/tiwai/sound-2.6 into for-2.6.40

8 years agoASoC: core: Don't set "(null)" as a driver name
Jarkko Nikula [Fri, 20 May 2011 12:47:40 +0000]
ASoC: core: Don't set "(null)" as a driver name

Commit 22de71b ("ASoC: core - allow ASoC more flexible machine name")
writes "(null)" to driver name string in struct snd_card if card->driver_name
is NULL. This causes segmentation faults with some user space ALSA utilities
like aplay and arecord.

Fix this by using the card->name if no driver name is specified.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoALSA: hda - Use LPIB for ATI/AMD chipsets as default
Takashi Iwai [Fri, 20 May 2011 14:29:09 +0000]
ALSA: hda - Use LPIB for ATI/AMD chipsets as default

ATI and AMD chipsets seem not providing the proper position-buffer
information, and it also doesn't provide FIFO register required by
VIACOMBO fix.  It's better to use LPIB for these.

Reported-by: David Henningsson <david.henningsson@canonical.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoRevert "ALSA: hda - Use position_fix=3 as default for AMD chipsets"
Takashi Iwai [Fri, 20 May 2011 14:27:02 +0000]
Revert "ALSA: hda - Use position_fix=3 as default for AMD chipsets"

This reverts commit 447ee6a7cbbfb5ae7ab8f9b8b058b4a04fe398bf.

The workaround introduced by this commit seems bogus.
The AMD chipsets don't provide proper position-buffer nor FIFO value
required by VIACOMBO fix.

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

8 years agoASoC: Tegra: Fix compile when debugfs not enabled
Stephen Warren [Mon, 16 May 2011 20:19:27 +0000]
ASoC: Tegra: Fix compile when debugfs not enabled

The prototype of the inline dummy version of tegra_i2s_debug_add
was not consistent with the real version.

Reported-by: Rhyland-Klein <rklein@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoASoC: spdif-dit: Add missing MODULE_*
Stephen Warren [Thu, 19 May 2011 23:44:46 +0000]
ASoC: spdif-dit: Add missing MODULE_*

MODULE_ALIAS is required so that the module will auto-load based on a
platform_device registration in the board file.

While we're at it, add some other MODULE_*.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoSOUND: OSS: Remove Au1550 driver.
Ralf Baechle [Fri, 20 May 2011 08:34:24 +0000]
SOUND: OSS: Remove Au1550 driver.

This driver does no longer build since at least 2.6.30 and there is a
modern ALSA replacement for it.  RIP, Rot In Pieces.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoMerge branch 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Takashi Iwai [Fri, 20 May 2011 09:25:32 +0000]
Merge branch 'for-2.6.40' of git://git./linux/kernel/git/lrg/asoc-2.6 into topic/asoc

8 years agoALSA: hda - add Intel Panther Point HDMI codec id
Wu Fengguang [Fri, 20 May 2011 07:35:43 +0000]
ALSA: hda - add Intel Panther Point HDMI codec id

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: emu10k1 - Add dB range to Bass and Treble for SB Live!
Raymond Yau [Fri, 20 May 2011 06:32:04 +0000]
ALSA: emu10k1 - Add dB range to Bass and Treble for SB Live!

As the "Wave", "Wave Surround" or "Front" Playback Volume must be
changed to 70% (i.e. -12 dB) so that distortion won't occur when
increase Bass and Treble from 50% to 100%, so the maximum gain in
Bass and Treble are +12 dB.

Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: hda - Remove PCM mixer elements from Virtual Master of realtek
Raymond Yau [Fri, 20 May 2011 05:04:04 +0000]
ALSA: hda - Remove PCM mixer elements from Virtual Master of realtek

Afer commit aa202455eec51699e44f658530728162cefa1307 , none of realtek
codec has hardware volume control "PCM Playback Volume" and
"PCM Playback Switch".

As Virtual Master require all slave controls must have same number of step
and dB range.

Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: hda - Fix input-src parse in patch_analog.c
Adrian Wilkins [Thu, 19 May 2011 20:52:38 +0000]
ALSA: hda - Fix input-src parse in patch_analog.c

Compare pin type enum to the pin type and not the array index.
Fixes bug#0005368.

Signed-off-by: Adrian Wilkins <adrian.wilkins@nhs.net>
Cc: <stable@kernel.org> (2.6.37 and later)
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoASoC: davinci-mcasp: enable ping-pong SRAM buffers
Ben Gardiner [Wed, 18 May 2011 13:27:45 +0000]
ASoC: davinci-mcasp: enable ping-pong SRAM buffers

The davinci-i2s driver copies the platform data for playback and capture
sram sizes which is in turn used by davinci-pcm to allocate ping-pong
buffers.

Copy also the platform data in davinci-mcasp probe.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoASoC: add iPAQ hx4700 machine driver
Dmitry Artamonow [Wed, 18 May 2011 15:25:10 +0000]
ASoC: add iPAQ hx4700 machine driver

AK4641 connected via I2S and I2C, jack detection via GPIO.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
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>

8 years agoASoC: Asahi Kasei AK4641 codec driver
Dmitry Artamonow [Wed, 18 May 2011 15:25:09 +0000]
ASoC: Asahi Kasei AK4641 codec driver

A driver for the AK4641 codec used in iPAQ hx4700 and Glofiish M800
among others.

Signed-off-by: Harald Welte <laforge@gnumonks.org>
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoALSA: hda - Enable Realtek ALC269 codec input layer beep
Madis Janson [Thu, 19 May 2011 16:32:41 +0000]
ALSA: hda - Enable Realtek ALC269 codec input layer beep

This fixes the input layer beep not working on some EeePC 1000 models by
adding the subsystem id into whitelist. Otherwise the corresponding ALSA
mixer is not enabled and stays muted, resulting in no console beep.

Signed-off-by: Madis Janson <madis@cyber.ee>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: intel8x0m: enable AMD8111 modem
Dmitry Eremin-Solenikov [Thu, 19 May 2011 14:48:27 +0000]
ALSA: intel8x0m: enable AMD8111 modem

AMD 8111 southbridges contain a controller for MC'97 modem. Enable support
for this controller in intel8x0m driver.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: HDA: Add jack detection for HDMI
David Henningsson [Thu, 19 May 2011 09:46:03 +0000]
ALSA: HDA: Add jack detection for HDMI

Just as for headphones and microphone jacks, this patch adds reporting
of HDMI jack status through the input layer.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: sound, core, pcm_lib: fix xrun_log
Ben Gardiner [Thu, 19 May 2011 03:52:38 +0000]
ALSA: sound, core, pcm_lib: fix xrun_log

The xrun_log function was augmented with the in_interrupt parameter whereas the
empty macro definition used when xrun logging is disabled was not.

Add a third parameter to the empty macro definition so as to not cause compiler
errors when xrun logging (CONFIG_SND_PCM_XRUN_DEBUG) is disabled.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoASoC: Max98095: Move existing NULL check before pointer dereference.
Taylor Hutt [Wed, 18 May 2011 01:03:54 +0000]
ASoC: Max98095: Move existing NULL check before pointer dereference.

Visual inspection shows that max98095_put_eq_enum() and
max98095_put_bq_enum() each have a possible NULL deref of 'pdata'.

This change moves the NULL check above the use.

Signed-off-by: Taylor Hutt <thutt@chromium.org>
Acked-by: Peter Hsiang <Peter.Hsiang@maxim-ic.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoALSA: sound, core, pcm_lib: xrun_log: log also in_interrupt
Ben Gardiner [Wed, 18 May 2011 14:03:34 +0000]
ALSA: sound, core, pcm_lib: xrun_log: log also in_interrupt

When debugging pcm drivers I found the "period" or "hw" prefix printed
by either XRUN_DEBUG_PERIODUPDATE or XRUN_DEBUG_PERIODUPDATE events,
respectively to be very useful is observing the interplay between
interrupt-context updates and syscall-context updates.

Similarly, when debugging overruns with XRUN_DEBUG_LOG it is useful to
see the context of the last 10 positions.

Add an in_interrupt member to hwptr_log_entry which stores the value of
the in_interrupt parameter of snd_pcm_update_hw_ptr0 when the log entry
is created. Print a "[Q]" prefix when dumping the log entries if
in_interrupt was true.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: usb-audio - Add support for USB X-Fi S51 Pro
Mathieu Bouffard [Wed, 18 May 2011 15:09:17 +0000]
ALSA: usb-audio - Add support for USB X-Fi S51 Pro

USB X-Fi S51 Pro volume and mute from the volume knob on the unit.
Compiled and tested with 2.6.39-rc7-git12

Signed-off-by: Mathieu Bouffard <mbouffard@strangequarks.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: hda - Fix no sound after Windows boot with ALC269
Kailang Yang [Wed, 18 May 2011 09:53:16 +0000]
ALSA: hda - Fix no sound after Windows boot with ALC269

Change power control register to default.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: hda - Add support of ALC221 / ALC276 codecs
Kailang Yang [Wed, 18 May 2011 09:52:36 +0000]
ALSA: hda - Add support of ALC221 / ALC276 codecs

Compatible with ALC269.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: hda - Add support of ALC898/899 codec
Kailang Yang [Wed, 18 May 2011 09:51:15 +0000]
ALSA: hda - Add support of ALC898/899 codec

These are compatible with ALC882 codec.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: usb-audio: handle "Fast Track Ultra" with USB_DEVICE_VENDOR_SPEC()
Daniel Mack [Wed, 18 May 2011 09:28:45 +0000]
ALSA: usb-audio: handle "Fast Track Ultra" with USB_DEVICE_VENDOR_SPEC()

That way, the class compliant MIDI interface is also handled.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-and-tested-by: Grant Diffey <gdiffey@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: usb-audio: assume valid clock
Daniel Mack [Wed, 18 May 2011 09:28:44 +0000]
ALSA: usb-audio: assume valid clock

If the interface can't report a clock's validity, assume that it's
valid.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Vicente Joel <vicentejoel@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: usb-audio: add quirks for Roland GR-55
Daniel Mack [Wed, 18 May 2011 09:28:43 +0000]
ALSA: usb-audio: add quirks for Roland GR-55

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Jeffrey Scott Flesher <jeffrey.scott.flesher@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: usb-audio: Add quirk for KORG PANDORA PX5D MIDI interface
Daniel Mack [Wed, 18 May 2011 09:28:42 +0000]
ALSA: usb-audio: Add quirk for KORG PANDORA PX5D MIDI interface

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-and-tested-by: Frédéric Jaume <frederic.jaume@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: usb-audio: remove invalid extra mixers for Komplete Audio 6
Daniel Mack [Wed, 18 May 2011 09:28:41 +0000]
ALSA: usb-audio: remove invalid extra mixers for Komplete Audio 6

This was a flaw in the reading of the spec tables - Native Instrument's
"Komplete Audio 6" device has no such extra controls.

This patch also fixes the device name in two comments.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: usb-audio: include format.h in format.c
Daniel Mack [Wed, 18 May 2011 09:28:40 +0000]
ALSA: usb-audio: include format.h in format.c

Just in case a prototype changes, we'll be warned. This also fixes a
sparse warning.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: usb-audio: make hwc_debug a noop in case HW_CONST_DEBUG is not set
Daniel Mack [Wed, 18 May 2011 09:28:39 +0000]
ALSA: usb-audio: make hwc_debug a noop in case HW_CONST_DEBUG is not set

Just defining it to nothing is dangerous as it can alter the code
execution flow, for example when used in as only function in a
conditional code block.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoMAINTAINERS: Add entry for Native Instruments sound driver
Daniel Mack [Wed, 18 May 2011 09:28:38 +0000]
MAINTAINERS: Add entry for Native Instruments sound driver

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: hda - Enable snoop bit for AMD controllers
Takashi Iwai [Tue, 17 May 2011 16:41:25 +0000]
ALSA: hda - Enable snoop bit for AMD controllers

AMD Hudson controllers give noisy outputs when the buffer data is
rewritten on the fly as PulseAudio does.  This seems fixed by the
snoop bit enabled just like ATI chipset.

Also, disable 64bit DMA as now, to be sure.
We can revisit this later.

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

8 years agoALSA: hda - Handle dock line-in as auto-detecable for Cxt auto-parser
Takashi Iwai [Tue, 17 May 2011 10:57:46 +0000]
ALSA: hda - Handle dock line-in as auto-detecable for Cxt auto-parser

Similar process like in patch_realtek.c and patch_sigmatel.c.

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

8 years agoALSA: hda - Handle dock line-in as auto-detectable for IDT codecs
Takashi Iwai [Tue, 17 May 2011 10:29:09 +0000]
ALSA: hda - Handle dock line-in as auto-detectable for IDT codecs

When a docking-station has a line-in jack, we can handle it also as
a detectable jack just like mic-in.  This will improve the usability
of HP laptops with a docking-station.

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

8 years agoALSA: hda - Add dock-mic detection support to Realtek auto-parser
Takashi Iwai [Tue, 17 May 2011 10:05:02 +0000]
ALSA: hda - Add dock-mic detection support to Realtek auto-parser

In addition to the normal mic jack, the mic (or line-in) jack on the
docking-station is checked also as a candidate for auto-selection.

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

8 years agoALSA: hda - Check unsol-cap in is_jack_detectalbe()
Takashi Iwai [Tue, 17 May 2011 09:28:16 +0000]
ALSA: hda - Check unsol-cap in is_jack_detectalbe()

Also replace more open-codes with this function.

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

8 years agoALSA: hda - Add support of dock-mic detection to Conexant auto-parser
Takashi Iwai [Tue, 17 May 2011 08:35:15 +0000]
ALSA: hda - Add support of dock-mic detection to Conexant auto-parser

In addition to the normal external mic jack, check also the mic jack
on a docking-station as well, and select the input source appropriately.

The similar functionality was already implemented in patch_sigmatel.c.

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

8 years agoALSA: hda - Fix initialization of spec->automute_lines in patch_realtek.c
Takashi Iwai [Tue, 17 May 2011 08:04:08 +0000]
ALSA: hda - Fix initialization of spec->automute_lines in patch_realtek.c

spec->automute_lines shouldn't be set unless the line-detection is
available.

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

8 years agoALSA: hda - Use get_wcaps_type()
Takashi Iwai [Tue, 17 May 2011 08:02:27 +0000]
ALSA: hda - Use get_wcaps_type()

Replace the open-code with get_wcaps_type() macro.

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

8 years agoALSA: hda - Use is_jack_detectable() helper
Takashi Iwai [Tue, 17 May 2011 08:00:16 +0000]
ALSA: hda - Use is_jack_detectable() helper

Replaced the open-code with the new helper function.

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

8 years agoALSA: hda - Add automute-mode enum to Conexant auto-parser
Takashi Iwai [Tue, 17 May 2011 07:53:31 +0000]
ALSA: hda - Add automute-mode enum to Conexant auto-parser

Implement the same functionality as Realtek's auto-mute mode control.
Now Conexant auto-parser can also mutes line-out and provide the enum
control for different automute behavior.

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

8 years agoALSA: hda - Add missing Front/Surround/CLFE as slaves for Cxt auto-parser
Takashi Iwai [Tue, 17 May 2011 07:17:52 +0000]
ALSA: hda - Add missing Front/Surround/CLFE as slaves for Cxt auto-parser

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

8 years agoALSA: hda - Code refactoring in patch_conexant.c
Takashi Iwai [Tue, 17 May 2011 07:15:55 +0000]
ALSA: hda - Code refactoring in patch_conexant.c

Use a struct instead of each array for managing input-source info
for auto-parser.

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

8 years agoASoC: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning
Stephen Boyd [Thu, 12 May 2011 23:50:10 +0000]
ASoC: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning

Enabling DEBUG_STRICT_USER_COPY_CHECKS causes the following
warning:

In file included from arch/x86/include/asm/uaccess.h:573,
                 from include/linux/poll.h:14,
                 from include/sound/pcm.h:29,
                 from include/sound/ac97_codec.h:31,
                 from sound/soc/soc-core.c:34:
In function 'copy_from_user',
    inlined from 'codec_reg_write_file' at
    sound/soc/soc-core.c:252:
arch/x86/include/asm/uaccess_64.h:65:
warning: call to 'copy_from_user_overflow' declared with
attribute warning: copy_from_user() buffer size is not provably
correct

presumably due to buf_size being signed causing GCC to fail to
see that buf_size can't become negative.

Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoASoC: Fix wrong data type access in a few codec drivers
Jarkko Nikula [Fri, 13 May 2011 16:16:52 +0000]
ASoC: Fix wrong data type access in a few codec drivers

Commit fafd217 ("ASoC: Store a list of widgets in a DAPM mux/mixer kcontrol")
changed the control private data type that is passed to snd_soc_cnew when
creating dapm mixer and mux controls. Commit did not update a few codec
drivers that are using their own put callbacks and thus are accessing a
wrong data type.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoASoC: Don't restart an already running WM8958 DSP2
Mark Brown [Mon, 16 May 2011 01:18:56 +0000]
ASoC: Don't restart an already running WM8958 DSP2

Don't want to upset the DSP.

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

8 years agoASoC: Skip noop reconfiguration of WM8958 DSP2 algorithms
Mark Brown [Mon, 16 May 2011 01:02:53 +0000]
ASoC: Skip noop reconfiguration of WM8958 DSP2 algorithms

If we're setting the currently applied value for one of the DSP algorithm
configurations we can just skip all the handling as the control set is a
noop. This ensures we do not disrupt a running DSP.

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

8 years agoASoC: Add some missing volume update bit sets for wm_hubs devices
Mark Brown [Sun, 15 May 2011 19:18:38 +0000]
ASoC: Add some missing volume update bit sets for wm_hubs devices

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

8 years agoASoC: Ensure output PGA is enabled for line outputs in wm_hubs
Mark Brown [Sun, 15 May 2011 00:21:28 +0000]
ASoC: Ensure output PGA is enabled for line outputs in wm_hubs

Also fix a left/right typo while we're at it.

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

8 years agoALSA: HDA: Use one dmic only for Dell Studio 1558
David Henningsson [Mon, 16 May 2011 10:09:29 +0000]
ALSA: HDA: Use one dmic only for Dell Studio 1558

There are no signs of a dmic at node 0x0b, so the user is left with
an additional internal mic which does not exist. This commit removes
that non-existing mic.

Cc: stable@kernel.org (2.6.32+)
BugLink: http://bugs.launchpad.net/bugs/731706
Reported-by: James Page <james.page@canonical.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: hda - Add support of auto-parser to cxt5066 codecs
Takashi Iwai [Mon, 16 May 2011 09:49:12 +0000]
ALSA: hda - Add support of auto-parser to cxt5066 codecs

Still experimental.
Not enabled as default unless model=auto is passed.

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

8 years agoALSA: hda - Don't create multiple same volume/boost controls in Cxt auto-parser
Takashi Iwai [Mon, 16 May 2011 09:45:15 +0000]
ALSA: hda - Don't create multiple same volume/boost controls in Cxt auto-parser

Check the routing more exactly for avoiding the duplicated controls for
the very same effect for multiple capture routes in Conexant auto-parser.

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

8 years agoALSA: hda - Build boost controls from selector widget in Cxt auto-parser
Takashi Iwai [Mon, 16 May 2011 09:33:02 +0000]
ALSA: hda - Build boost controls from selector widget in Cxt auto-parser

When the intermediate selector widget in the capture path provides the
boost volume, create the corresponding volume control.

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

8 years agoASoC: codecs: max98088: Added digital mute function in DAI1 and DAI2
Jin Park [Thu, 12 May 2011 05:58:38 +0000]
ASoC: codecs: max98088: Added digital mute function in DAI1 and DAI2

Added digital mute function in DAI1 and DAI2.

Signed-off-by: Jin Park <jinyoungp@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoASoC: codecs: max98088: Moved the EX Limiter Mode from dapm widget to control
Jin Park [Thu, 12 May 2011 05:58:37 +0000]
ASoC: codecs: max98088: Moved the EX Limiter Mode from dapm widget to control

Moved the EX Limiter Mode from dapm widget to control, because it was not
required DAPM route.

Signed-off-by: Jin Park <jinyoungp@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoASoC: codecs: max98088: Fixed invalid register definitions in mixer controls
Jin Park [Thu, 12 May 2011 05:58:36 +0000]
ASoC: codecs: max98088: Fixed invalid register definitions in mixer controls

Fixed invalid register definitions in mixer controls such as left
speaker mixer, left hp mixer and left rec mixer.

Signed-off-by: Jin Park <jinyoungp@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoASoC: Reintroduce do_spi_write()
Mark Brown [Wed, 11 May 2011 17:25:42 +0000]
ASoC: Reintroduce do_spi_write()

There is an unfortunate difference in return values between spi_write()
and i2c_master_send() so we need an adaptor function to translate.

Reported-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>

8 years agoALSA: hda - Don't use auto-parser for cxt5045 / 5051 as default
Takashi Iwai [Sun, 15 May 2011 10:35:04 +0000]
ALSA: hda - Don't use auto-parser for cxt5045 / 5051 as default

Just for safety reason (for avoiding any possible regressions), don't
enable auto-parser as default for cxt5045 and 5051, as well as 5047.

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

8 years agoALSA: hda - Enable codec->pin_amp_workaround always for Conexant auto-parser
Takashi Iwai [Sun, 15 May 2011 10:21:20 +0000]
ALSA: hda - Enable codec->pin_amp_workaround always for Conexant auto-parser

It can (must for some) be used for all Conexnat codecs safely.

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

8 years agoALSA: hda - Search ADC NIDs dynamically in Conexant auto-parser
Takashi Iwai [Sun, 15 May 2011 10:19:29 +0000]
ALSA: hda - Search ADC NIDs dynamically in Conexant auto-parser

Instead of giving fixed arrays, look for ADC nids dynamically in the
tree in Conexant auto-parser code.

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

8 years agoALSA: fm801: clean-up radio-related Kconfig
Ondrej Zary [Sat, 14 May 2011 20:51:01 +0000]
ALSA: fm801: clean-up radio-related Kconfig

Remove TEA575X_RADIO define from fm801.c.
Also update Kconfig help text to include all supported cards.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: tea575x: use better card and bus names
Ondrej Zary [Thu, 12 May 2011 20:18:22 +0000]
ALSA: tea575x: use better card and bus names

Provide real card and bus_info instead of hardcoded values.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: tea575x: remove unused card from struct
Ondrej Zary [Thu, 12 May 2011 20:18:09 +0000]
ALSA: tea575x: remove unused card from struct

struct snd_card *card is present in struct snd_tea575x but never used.
Remove it.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: tea575x: remove freq_fixup from struct
Ondrej Zary [Thu, 12 May 2011 20:17:56 +0000]
ALSA: tea575x: remove freq_fixup from struct

freq_fixup is a constant, no need to hold it in struct snd_tea575x and set in
each driver.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

8 years agoALSA: hda - Add support of auto-parser to cxt5047 / CX20551 Waikiki
Takashi Iwai [Fri, 13 May 2011 17:33:18 +0000]
ALSA: hda - Add support of auto-parser to cxt5047 / CX20551 Waikiki

Similarly like other Conexant codecs, now model=auto is supported for
cxt5047.

But the auto-parser mode isn't activated as default yet, since BIOS
pin-configs seem often broken on machines with this codec.  User need
to pass model=auto explicitly.

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

8 years agoALSA: hda - Parse more deep input-source routes in Conexant auto-parser
Takashi Iwai [Fri, 13 May 2011 16:36:37 +0000]
ALSA: hda - Parse more deep input-source routes in Conexant auto-parser

Handle not only a single-depth input-route but two-level depth routes
(PIN->MUX->ADC), too.

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

8 years agoALSA: hda - Clean up input-mux handling in Conexant auto-parser
Takashi Iwai [Fri, 13 May 2011 16:26:39 +0000]
ALSA: hda - Clean up input-mux handling in Conexant auto-parser

Keep the registered input-pins in imux_pins[], and fix the inconsistent
use of sepc->auto_mic_ext.

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

8 years agoALSA: hda - Add auto-parser support to cxt5045 / CX20549 Venice
Takashi Iwai [Fri, 13 May 2011 15:22:05 +0000]
ALSA: hda - Add auto-parser support to cxt5045 / CX20549 Venice

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

8 years agoALSA: hda - Add auto-parser support to cxt5051 / CX20561 Hermosa
Takashi Iwai [Fri, 13 May 2011 14:52:25 +0000]
ALSA: hda - Add auto-parser support to cxt5051 / CX20561 Hermosa

Extend the existing auto-parser for CX2064x for cxt5051 codec.
Now the auto-parser supports ADC-switching for this codec.

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

8 years agoALSA: hda - Check AMP CAP at initialization of Conexant auto-parser
Takashi Iwai [Fri, 13 May 2011 14:43:12 +0000]
ALSA: hda - Check AMP CAP at initialization of Conexant auto-parser

Some codecs have no mute caps in audio I/O widgets.

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

8 years agoALSA: hda - Turn on EAPD dynamically per jack plug in Conexant auto mode
Takashi Iwai [Fri, 13 May 2011 14:24:15 +0000]
ALSA: hda - Turn on EAPD dynamically per jack plug in Conexant auto mode

Instead of keeping always EAPD on, turn on/off appropriately at jack
plugging in Conexant auto-parser mode.

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

8 years agoALSA: hda - Fix auto-mic for CX2064x codecs
Takashi Iwai [Fri, 13 May 2011 14:18:37 +0000]
ALSA: hda - Fix auto-mic for CX2064x codecs

The wrong id is assigned for external/internal mics in the auto-mic
selection parser.

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

8 years agoASoC: omap-mcbsp: Remove restrictive checks for cpu type
Sanjeev Premi [Wed, 11 May 2011 13:55:35 +0000]
ASoC: omap-mcbsp: Remove restrictive checks for cpu type

Current checks for cpu type were too restrictive leading
to failures for other silicons in same family.

The problem was found while testing audio playback on
AM37x and AM35x processors. But should exist on OMAP36xx
as well.

Signed-off-by: Sanjeev Premi <premi@ti.com>
cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
cc: Liam Girdwood <lrg@ti.com>
cc: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>

8 years agoASoC: omap-pcm: Period wakeup disabling on OMAP2+
Peter Ujfalusi [Thu, 12 May 2011 10:04:55 +0000]
ASoC: omap-pcm: Period wakeup disabling on OMAP2+

Allow disabling ALSA period wakeup interrupts.
This can only be done on OMAP2+ (2/3/4), since there
we can chain the DMA.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>

8 years agoMAINTAINERS: ASoC and Regulator email address change.
Liam Girdwood [Thu, 12 May 2011 17:49:15 +0000]
MAINTAINERS: ASoC and Regulator email address change.

Update my email address to new employer.

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

8 years agoASoC: twl6040 - fix LINEGAIN volume control
Liam Girdwood [Mon, 28 Mar 2011 18:23:23 +0000]
ASoC: twl6040 - fix LINEGAIN volume control

Fix the TWL6040 LINEGAIN volume control to match the TRM.

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

8 years agoASoC: DMIC codec - Add input widget
Misael Lopez Cruz [Thu, 12 May 2011 15:26:20 +0000]
ASoC: DMIC codec - Add input widget

Digital microphones can have some additional elements in their
audio path (like microphone bias). An input widget is required
for digital microphone CODEC driver to allow external connections
in machine drivers.

Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoASoC: core - allow ASoC more flexible machine name
Liam Girdwood [Thu, 12 May 2011 15:14:04 +0000]
ASoC: core - allow ASoC more flexible machine name

Allow ASoC machine drivers to register a driver name
and a longname. This allows user space to determine
the flavour of machine driver.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoASoC: fix wm8958-dsp2 printk format warnings
Randy Dunlap [Sun, 8 May 2011 16:48:24 +0000]
ASoC: fix wm8958-dsp2 printk format warnings

Fix printk format warnings in wm8958-dsp2.c:

sound/soc/codecs/wm8958-dsp2.c:103: warning: format '%d' expects type 'int', but argument 4 has type 'size_t'
sound/soc/codecs/wm8958-dsp2.c:111: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'
sound/soc/codecs/wm8958-dsp2.c:144: warning: format '%d' expects type 'int', but argument 5 has type 'size_t'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

8 years agoMAINTAINERS: Update e-mail address for asoc/twl4030
Peter Ujfalusi [Mon, 2 May 2011 11:16:29 +0000]
MAINTAINERS: Update e-mail address for asoc/twl4030

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>

8 years agoASoC: RX51: Update e-mail address
Peter Ujfalusi [Tue, 3 May 2011 15:15:10 +0000]
ASoC: RX51: Update e-mail address

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>

8 years agoASoC: omap-pcm: Update e-mail address
Peter Ujfalusi [Tue, 3 May 2011 15:14:43 +0000]
ASoC: omap-pcm: Update e-mail address

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>

8 years agoASoC: omap-mcbsp: Update e-mail address
Peter Ujfalusi [Tue, 3 May 2011 15:14:06 +0000]
ASoC: omap-mcbsp: Update e-mail address

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>

8 years agoASoC: tpa6130a2: Update e-mail address
Peter Ujfalusi [Tue, 3 May 2011 15:12:41 +0000]
ASoC: tpa6130a2: Update e-mail address

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>

8 years agoASoC: tlv320dac33: Update e-mail address
Peter Ujfalusi [Tue, 3 May 2011 15:11:36 +0000]
ASoC: tlv320dac33: Update e-mail address

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>

8 years agoASoC: Disable WM8994/58 microphone detection over suspend
Mark Brown [Wed, 11 May 2011 12:34:53 +0000]
ASoC: Disable WM8994/58 microphone detection over suspend

It will be non-functional with the basises and clocks off anyway, if the
system needs microphone detection enabled over suspend then it should be
causing the CODEC to ignore suspend using the APIs for that to prevent
the biases being disabled.

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

8 years agoASoC: Use spi_write() for SPI writes
Mark Brown [Tue, 10 May 2011 21:33:48 +0000]
ASoC: Use spi_write() for SPI writes

do_spi_write() is just an open coded copy of do_spi_write() so we can
delete it and just call spi_write() directly.  Indeed, as a result of
recent refactoring all the SPI write functions are just very long
wrappers around spi_write() which don't add anything except for some
pointless copies so we can just use spi_write() as the hw_write
operation directly. It should be as type safe to do this as it is to do
the same thing with I2C and it saves us a bunch of code.

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

8 years agoASoC: Remove byte swap in 4x12 SPI write
Mark Brown [Tue, 10 May 2011 21:55:21 +0000]
ASoC: Remove byte swap in 4x12 SPI write

snd_soc_4_12_spi_write() contains a byte swap. Since this code was written
for an Analog CODEC on a Blackfin reference board it appears that this is
done because while Blackfin is little endian the CODEC is big endian (as
are most CODECs).

Push this up into the generic 4x12 write function and use cpu_to_be16() to
do the byte swap so things are more regular and things work on both CPU
endiannesses.

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

8 years agoASoC: Don't squash 16x8 registers down to 8 bits
Mark Brown [Wed, 11 May 2011 11:47:47 +0000]
ASoC: Don't squash 16x8 registers down to 8 bits

Currently we'll force all registers to fit in 8 bits before passing
down to the I/O function. Looks like a cut'n'paste bug.

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

8 years agoASoC: Fix NULL vs. 0 warning in SSM2602
Mark Brown [Tue, 10 May 2011 22:01:58 +0000]
ASoC: Fix NULL vs. 0 warning in SSM2602

sparse complains if 0 is used as a NULL pointer constant.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Liam Girdwood <lrg@ti.com>