]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Sat, 19 Feb 2011 15:14:59 +0000 (16:14 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: HDA: Do not announce false surround in Conexant auto
David Henningsson [Wed, 16 Feb 2011 20:34:04 +0000 (21:34 +0100)]
ALSA: HDA: Do not announce false surround in Conexant auto

Without this patch, one line-out and one speaker and
Conexant's auto parser would announce (non-working) surround
capabilities.

BugLink: http://bugs.launchpad.net/bugs/721126
Cc: stable@kernel.org
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: HDA: Conexant auto: Handle multiple connections to ADC node
David Henningsson [Tue, 15 Feb 2011 18:57:09 +0000 (19:57 +0100)]
ALSA: HDA: Conexant auto: Handle multiple connections to ADC node

Conexant 20641 has several inputs to its ADC node, with one selector
and individual amps for all inputs. This patch adds support in the
Conexant auto parser to handle that case.

It also means that the pin node's volume is being renamed to "Boost"
to avoid name clash with the new volume controls on the ADC node.

BugLink: http://bugs.launchpad.net/bugs/719524
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Sat, 19 Feb 2011 15:03:48 +0000 (16:03 +0100)]
Merge branch 'topic/misc' into for-next

13 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Sat, 19 Feb 2011 15:03:45 +0000 (16:03 +0100)]
Merge branch 'topic/asoc' into for-next

13 years agoALSA: azt3328: hook up new emulated AC97 on AC97 patch side
Andreas Mohr [Fri, 18 Feb 2011 23:49:48 +0000 (00:49 +0100)]
ALSA: azt3328: hook up new emulated AC97 on AC97 patch side

Make newly created AC97 emulation of azt3328 known to the AC97 layer
side.
- relocate common functions to the top (due to definition after use)
- rename control names
- adjust 3D settings to the card's custom layout of this register

Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: azt3328: add custom AC97 semi-emulation use standard ALSA AC97 layer
Andreas Mohr [Fri, 18 Feb 2011 23:49:32 +0000 (00:49 +0100)]
ALSA: azt3328: add custom AC97 semi-emulation use standard ALSA AC97 layer

Make use of the very flexible ALSA ac97 layer (hooks for custom I/O!)
on this weird AC97 copycat hardware,
via semi-extended I/O translation/emulation.

Some 5kB binary/loaded size saved (well... additional huge AC97 module
penalty not factored in, of course ;-P).
Given that the driver previously had 20kB that's not bad,
but the much more important thing is to have AC97 layer stress-tested
with a thoroughly weird AC97 copycat (or, simply put, if it were not for
this AC97 test aspect, this effort would merely have been a nut job ;).

Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: Add kerneldoc for jack_status_check callback
Mark Brown [Fri, 18 Feb 2011 00:41:42 +0000 (16:41 -0800)]
ASoC: Add kerneldoc for jack_status_check callback

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Allow GPIO jack detection to be configured as a wake source
Mark Brown [Fri, 18 Feb 2011 00:35:55 +0000 (16:35 -0800)]
ASoC: Allow GPIO jack detection to be configured as a wake source

Some systems wish to use jacks as wake sources. Provide a wake flag in the
GPIO configuration which causes the driver to enable the IRQ as a wake
source.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Log wm_hubs DC servo operation code when reporting a timeout
Mark Brown [Thu, 17 Feb 2011 20:05:46 +0000 (12:05 -0800)]
ASoC: Log wm_hubs DC servo operation code when reporting a timeout

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Remove export of snd_soc_dapm_stream_event()
Mark Brown [Thu, 17 Feb 2011 03:24:39 +0000 (19:24 -0800)]
ASoC: Remove export of snd_soc_dapm_stream_event()

The only thing that should ever be calling this is soc-core and that is
built as part of the same module so doesn't need the export.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Fix missing space in WM8994
Mark Brown [Wed, 16 Feb 2011 22:57:17 +0000 (14:57 -0800)]
ASoC: Fix missing space in WM8994

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Thu, 17 Feb 2011 17:39:38 +0000 (18:39 +0100)]
Merge branch 'topic/misc' into for-next

13 years agoALSA: ac97: replace open-coded, error-prone stuff with AC97 bit defines
Andreas Mohr [Wed, 16 Feb 2011 23:17:53 +0000 (00:17 +0100)]
ALSA: ac97: replace open-coded, error-prone stuff with AC97 bit defines

Use AC97 macros (sometimes already existing, or newly added)
instead of error-prone repetition of open-coded values.

Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: sst_platform: fix the pulseaudio error
Vinod Koul [Tue, 15 Feb 2011 12:58:54 +0000 (18:28 +0530)]
ASoC: sst_platform: fix the pulseaudio error

Pulseaudio doesnt work with current driver and it was root caused to absense of
hw_params function and malloc_pages in it.
This patch adds this and allows pa to work fine with these drivers

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: mfld_machine: make use of soc_register_card API
Vinod Koul [Tue, 15 Feb 2011 12:58:55 +0000 (18:28 +0530)]
ASoC: mfld_machine: make use of soc_register_card API

This patch removes the old method of soc-audio device creation in mfld machine
and makes use of new soc_register_card API to register the card

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sn95031: fix the amic tlv scale
Vinod Koul [Tue, 15 Feb 2011 12:58:53 +0000 (18:28 +0530)]
ASoC: sn95031: fix the amic tlv scale

The tlv scale is defined as (min, step, mute). The mute is not supported here so
put the value to 0

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sn95031: fix the DMIC path routing
Vinod Koul [Tue, 15 Feb 2011 12:58:52 +0000 (18:28 +0530)]
ASoC: sn95031: fix the DMIC path routing

This patch makes the DMIC dynamically connect to TX Mux, earlier code had
erroneously made this as static path

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: sn95031: make playback rails depend on actual pins they control
Vinod Koul [Tue, 15 Feb 2011 12:58:51 +0000 (18:28 +0530)]
ASoC: sn95031: make playback rails depend on actual pins they control

This patch makes the codec playback rails (headset and speaker) depend on
actual pins they control. This enables better power management of the codec

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Mon, 14 Feb 2011 21:52:39 +0000 (22:52 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: HDA: Add position_fix quirk for an Asus device
David Henningsson [Mon, 14 Feb 2011 19:27:44 +0000 (20:27 +0100)]
ALSA: HDA: Add position_fix quirk for an Asus device

The bug reporter claims that position_fix=1 is needed for his
microphone to work. The controller PCI vendor-id is [1002:4383] (rev 40).

Reported-by: Kjell L.
BugLink: http://bugs.launchpad.net/bugs/718402
Cc: stable@kernel.org
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/misc' into for-next
Takashi Iwai [Mon, 14 Feb 2011 21:51:46 +0000 (22:51 +0100)]
Merge branch 'fix/misc' into for-next

13 years agoALSA: caiaq - Fix possible string-buffer overflow
Takashi Iwai [Mon, 14 Feb 2011 21:45:59 +0000 (22:45 +0100)]
ALSA: caiaq - Fix possible string-buffer overflow

Use strlcpy() to assure not to overflow the string array sizes by
too long USB device name string.

Reported-by: Rafa <rafa@mwrinfosecurity.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Mon, 14 Feb 2011 16:15:38 +0000 (17:15 +0100)]
Merge branch 'topic/hda' into for-next

13 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Mon, 14 Feb 2011 16:15:35 +0000 (17:15 +0100)]
Merge branch 'topic/misc' into for-next

13 years agoMerge branch 'fix/misc' into for-next
Takashi Iwai [Mon, 14 Feb 2011 16:15:33 +0000 (17:15 +0100)]
Merge branch 'fix/misc' into for-next

13 years agoALSA: hda - simplify multistreaming playback model of ad1988
Raymond Yau [Tue, 8 Feb 2011 11:58:25 +0000 (19:58 +0800)]
ALSA: hda - simplify multistreaming playback model of ad1988

Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: au88x0 - Modify pointer callback to give accurate playback position
Raymond Yau [Sun, 13 Feb 2011 23:33:24 +0000 (07:33 +0800)]
ALSA: au88x0 - Modify pointer callback to give accurate playback position

Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: usb-audio: reconstruct some dispatcher functions to use switch-case
Daniel Mack [Fri, 11 Feb 2011 11:34:12 +0000 (11:34 +0000)]
ALSA: usb-audio: reconstruct some dispatcher functions to use switch-case

The number of cases has increased so use switch-case rather than
if-statements.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: usb-audio: add support for Native Instruments MK2 devices
Daniel Mack [Fri, 11 Feb 2011 11:08:06 +0000 (11:08 +0000)]
ALSA: usb-audio: add support for Native Instruments MK2 devices

The MK2 generation of Native Instruments' sound cards are in fact
compliant to the USB audio standard of version 2 and other approved USB
standards. However, they come up as vendor-specific device when first
connected but can be told to come up with a new set of descriptors
upon their next enumeration. The interfaces announced by the new
descriptors will be handled by the kernel's class drivers. This is done
by issuing a vendor specific device request and sending the device to
reset.

There are also some vendor-specific USB requests for some mixer elements
that can't be exported in a standard compliant way. The driver now
supports them with quirks handling mechanisms.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: snd-usb-caiaq: Add support for Traktor Audio 2
Daniel Mack [Wed, 1 Sep 2010 08:23:46 +0000 (16:23 +0800)]
ALSA: snd-usb-caiaq: Add support for Traktor Audio 2

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: core: sparse cleanups
Clemens Ladisch [Mon, 14 Feb 2011 10:00:47 +0000 (11:00 +0100)]
ALSA: core: sparse cleanups

Change the core code where sparse complains.  In most cases, this means
just adding annotations to confirm that we indeed want to do the dirty
things we're doing.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Sun, 13 Feb 2011 19:51:04 +0000 (19:51 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: Warn if WM8903 platform data is used to enable microphone IRQ
Mark Brown [Fri, 11 Feb 2011 14:39:13 +0000 (14:39 +0000)]
ASoC: Warn if WM8903 platform data is used to enable microphone IRQ

The WM8903 interrupts are clear on read so if the WM8903 detection is
enabled from platform data when the IRQ is in use (rather than using a
direct signal from a GPIO) status may be lost during startup. Help users
spot this misconfiguration by adding a WARN_ON().

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Tegra: Add MODULE_ALIAS
Stephen Warren [Thu, 10 Feb 2011 22:37:19 +0000 (15:37 -0700)]
ASoC: Tegra: Add MODULE_ALIAS

With the appropriate MODULE_ALIAS in place, the audio modules will be
automatically loaded; there is no longer a need for manual modprobes.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Tegra: Harmony: Explicitly set mic enables
Stephen Warren [Thu, 10 Feb 2011 22:37:18 +0000 (15:37 -0700)]
ASoC: Tegra: Harmony: Explicitly set mic enables

Harmony has both an external mic (a regular mic jack) and an internal mic
(a 0.1" two-pin header on the board).

The external mic is connected to the WM8903's IN1L pin, and is supported
by the current driver.

The internal mic is connected to the WM8903's IN1R pin, and is not supported
by the current driver.

It appears that no Harmony systems were shipped with any internal mic
connected; users were expected to provide their own. This makes the
internal mic connection less interesting.

The WM8903's Mic Bias signal is used for both of these mics. For each mic,
a GPIO drives a transistor which gates whether the mic bias signal is
actively connected to that mic, or isolated from it.

The dual use of the mic bias for both mics makes a general-purpose complete
implementation of mic detection using the mic bias complex. So, for
simplicity, the internal mic is currently ignored by the driver.

This patch configures the relevant GPIOs to enable the mic bias connection
to the external mic, and disable the mic bias connection to the internal
mic. Note that in practice, this is the default state if these GPIOs aren't
configured.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Harmony: Call snd_soc_dapm_nc_pin
Stephen Warren [Thu, 10 Feb 2011 22:37:17 +0000 (15:37 -0700)]
ASoC: Harmony: Call snd_soc_dapm_nc_pin

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Tegra: Harmony: Implement mic detection
Stephen Warren [Thu, 10 Feb 2011 22:37:16 +0000 (15:37 -0700)]
ASoC: Tegra: Harmony: Implement mic detection

* Add jack definition for mic jack
* Request wm8903 to enable mic detection
* Force mic bias on, since it's required for mic detection

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Ensure supplies are maintained for force enabled widgets
Mark Brown [Fri, 11 Feb 2011 11:42:19 +0000 (11:42 +0000)]
ASoC: Ensure supplies are maintained for force enabled widgets

If a widget has been force enabled then not only do we need to keep the
widget itself enabled, we also need to keep any supplies the widget
requires enabled. The user could force all the individual widgets on but
this requires too much knowledge of device internals.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: WM8994: Improve playback robustness
Dimitris Papastamos [Fri, 11 Feb 2011 16:32:12 +0000 (16:32 +0000)]
ASoC: WM8994: Improve playback robustness

On WM8994 revision D and earlier ensure proper playback robustness
as some rare use cases can trigger issues.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: WM8994: Improve robustness in some use cases
Dimitris Papastamos [Fri, 11 Feb 2011 16:32:11 +0000 (16:32 +0000)]
ASoC: WM8994: Improve robustness in some use cases

Ensure that on disabling certain registers such as AIF1DAC1L,
AIF1DAC1R etc. the AIF1CLK and AIF2CLK remain enabled.  Similarly
when enabling those registers, AIF1CLK and AIF2CLK will remain
disabled.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: WM8903: Fix mic detection enable logic
Stephen Warren [Thu, 10 Feb 2011 22:37:14 +0000 (15:37 -0700)]
ASoC: WM8903: Fix mic detection enable logic

The mic detection HW should be enabled when either mic or short detection
is required, not when only both are required.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoASoC: WM8903: Fix mic detection register definitions
Stephen Warren [Thu, 10 Feb 2011 22:37:13 +0000 (15:37 -0700)]
ASoC: WM8903: Fix mic detection register definitions

* There is no hysteresis enable field in the current datasheet.
* Mic detection threshold field is only 2 bits wide.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Sun, 13 Feb 2011 09:05:30 +0000 (10:05 +0100)]
Merge branch 'fix/asoc' into for-linus

13 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Fri, 11 Feb 2011 11:28:18 +0000 (12:28 +0100)]
Merge branch 'topic/hda' into for-next

13 years agoALSA: hda - Avoid cast with union data for HDMI audio infoframe
Takashi Iwai [Fri, 11 Feb 2011 11:17:30 +0000 (12:17 +0100)]
ALSA: hda - Avoid cast with union data for HDMI audio infoframe

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: Allow use sleeping gpio in soc-jack
Jarkko Nikula [Thu, 10 Feb 2011 15:22:23 +0000 (17:22 +0200)]
ASoC: Allow use sleeping gpio in soc-jack

It is safe to use sleeping gpio in snd_soc_jack_gpio_detect as it is not
called from interrupt context. This avoids WARN_ON from __gpio_get_value
if sleeping gpio is registered for jack.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: mid-x86: Use the soc-jack apis for jack type detection
Vinod Koul [Thu, 10 Feb 2011 07:28:01 +0000 (12:58 +0530)]
ASoC: mid-x86: Use the soc-jack apis for jack type detection

This patch modifies the mfld_machine to use the new jack apis for adding the
voltage zones for jack type detection. It also modifed TI sn95031 codec driver
to use these new apis

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Fri, 11 Feb 2011 11:14:20 +0000 (11:14 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: Use explicit sequence for WM8903 bias off
Mark Brown [Thu, 10 Feb 2011 14:20:49 +0000 (14:20 +0000)]
ASoC: Use explicit sequence for WM8903 bias off

This makes no real difference compared to the write sequencer sequence
that was previously used but can run without a clock being provided.
Also remove the write sequencer support code as this was the last use
of it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Don't use write sequencer to power up WM8903
Mark Brown [Thu, 10 Feb 2011 14:01:38 +0000 (14:01 +0000)]
ASoC: Don't use write sequencer to power up WM8903

The write sequencer sequencer sequence takes longer than is desirable
as it brings up a full playback path which is not required at this
point. Open coding the sequence cuts the startup time by two thirds.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Convert WM8903 bias management to use snd_soc_update_bits()
Mark Brown [Thu, 10 Feb 2011 13:32:58 +0000 (13:32 +0000)]
ASoC: Convert WM8903 bias management to use snd_soc_update_bits()

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: CX20442: fix wrong reg_cache_default content
Janusz Krzysztofik [Thu, 10 Feb 2011 12:24:32 +0000 (13:24 +0100)]
ASoC: CX20442: fix wrong reg_cache_default content

Content of the CX20442's snd_soc_codec_driver.reg_cache_default pointed
area, introduced with my recent NULL pointer dereferece fix (commit
f019ee5feb344ff0b22b58df4568676295aae14f), occured wrong after further
testing, more thorough than just booting successfully. There are two
problems with it:

1) It should read
(1 << CX20442_TELOUT) | (1 << CX20442_MIC),
   not
CX20442_TELOUT | CX20442_MIC.

2) While correctly matching actual codec hardware state on boot when
   fixed per 1), a few more code modifications would still be required
   to reflect that state not only into register cache, but also force
   them into DAPM pins state, otherwise an inconsitency occures which
   may prevent further codec state changes from being applied correctly.
   As a result, the phone stops ringing after reboot, until someone
   picks up the handset for the first time.

Revert that reg_cache_default content to a working, previous de facto
default value of 0, in hope this change can still be accepted as an rc
cycle fix.

Created and tested against linux-2.6.38-rc4

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Fri, 11 Feb 2011 07:53:16 +0000 (08:53 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: hda - add quirk for Ordissimo EVE using a realtek ALC662
Anisse Astier [Thu, 10 Feb 2011 12:14:44 +0000 (13:14 +0100)]
ALSA: hda - add quirk for Ordissimo EVE using a realtek ALC662

This netbook has a only one jack output and an internal mic.

By default, mic and jack sense aren't working. Using lenovo-101e
parameters makes both work.

The device seems based on a Sharetronic Q70, so this should fix audio for
this model too.

Signed-off-by: Anisse Astier <anisse@astier.eu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/misc' into for-next
Takashi Iwai [Thu, 10 Feb 2011 17:53:53 +0000 (18:53 +0100)]
Merge branch 'fix/misc' into for-next

13 years agoALSA: hrtimer: remove superfluous tasklet invocation
Clemens Ladisch [Thu, 10 Feb 2011 15:16:32 +0000 (16:16 +0100)]
ALSA: hrtimer: remove superfluous tasklet invocation

Commit bb758e9637e5ddc removed snd_hrtimer_callback() from the hardware
interrupt handler, thus moving it into a tasklet, but did not tell the
ALSA timer framework about this, so the timer handling would now be done
in the ALSA timer tasklet scheduled from another tasklet.

To fix this, add the flag to tell the ALSA timer framework that the
timer handler is already being invoked in a tasklet.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hrtimer: handle delayed timer interrupts
Clemens Ladisch [Thu, 10 Feb 2011 15:15:44 +0000 (16:15 +0100)]
ALSA: hrtimer: handle delayed timer interrupts

If a timer interrupt was delayed too much, hrtimer_forward_now() will
forward the timer expiry more than once.  When this happens, the
additional number of elapsed ALSA timer ticks must be passed to
snd_timer_interrupt() to prevent the ALSA timer from falling behind.

This mostly fixes MIDI slowdown problems on highly-loaded systems with
badly behaved interrupt handlers.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Thu, 10 Feb 2011 17:50:09 +0000 (18:50 +0100)]
Merge branch 'topic/misc' into for-next

13 years agoALSA: asihpi - HPI v4.06
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:21 +0000 (17:26 +1300)]
ALSA: asihpi - HPI v4.06

Firmware version check depends on hpi version. Update so correct firmware
is accepted.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Fix outstream start trigger for non-mmap adapters.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:20 +0000 (17:26 +1300)]
ALSA: asihpi - Fix outstream start trigger for non-mmap adapters.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Tighten firmware version requirements.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:19 +0000 (17:26 +1300)]
ALSA: asihpi - Tighten firmware version requirements.

Difference in major.minor between driver and firmware is an error now.
Release version mismatch give a warning.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Ensure all adapter data is cleared on device removal.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:18 +0000 (17:26 +1300)]
ALSA: asihpi - Ensure all adapter data is cleared on device removal.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Minor define updates
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:17 +0000 (17:26 +1300)]
ALSA: asihpi - Minor define updates

HPI version 4.05.32
Tweak HPI error code for backward compatibility.
Add BUILD to build-related defines.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - New functions prep for interrupt driven streams.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:16 +0000 (17:26 +1300)]
ALSA: asihpi - New functions prep for interrupt driven streams.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Use consistent err return variable, change some bad variable names.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:15 +0000 (17:26 +1300)]
ALSA: asihpi - Use consistent err return variable, change some bad variable names.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Remove unused code and data.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:14 +0000 (17:26 +1300)]
ALSA: asihpi - Remove unused code and data.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Clarify firmware id selection.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:13 +0000 (17:26 +1300)]
ALSA: asihpi - Clarify firmware id selection.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Allow adapters with duplicate index jumpers to be discovered.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:12 +0000 (17:26 +1300)]
ALSA: asihpi - Allow adapters with duplicate index jumpers to be discovered.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Add volume mute control.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:11 +0000 (17:26 +1300)]
ALSA: asihpi - Add volume mute control.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Add snd_card_set_dev to init.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:10 +0000 (17:26 +1300)]
ALSA: asihpi - Add snd_card_set_dev to init.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Replace adapter list with single item in subsys response.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:09 +0000 (17:26 +1300)]
ALSA: asihpi - Replace adapter list with single item in subsys response.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Cosmetic + a minor comments.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:08 +0000 (17:26 +1300)]
ALSA: asihpi - Cosmetic + a minor comments.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Remove int flag polling code preparing for stream interrupts.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:07 +0000 (17:26 +1300)]
ALSA: asihpi - Remove int flag polling code preparing for stream interrupts.

Interrupt flag used for message handshake will be required for
stream interrupts, so conditionally compiled code without
HPI6205_NO_HSR_POLL defined can never be used;  removing it.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Code cleanup.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:06 +0000 (17:26 +1300)]
ALSA: asihpi - Code cleanup.

Remove unused function.
Simplify hpi_alloc_control_cache.
Remove useless assignment to struct subsequently freed.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Reduce number of error codes returned to upper layers.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:05 +0000 (17:26 +1300)]
ALSA: asihpi - Reduce number of error codes returned to upper layers.

Create and use HPI_ERROR_DSP_COMMUNICATION _DSP_BOOTLOAD, rather than
backend-specific error codes (now returned as data with the error).

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Remove unused subsys pointer from all HPI functions.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:04 +0000 (17:26 +1300)]
ALSA: asihpi - Remove unused subsys pointer from all HPI functions.

asihpi.c don't link playback and capture streams, there is too much
offset between them.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Update error codes.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:03 +0000 (17:26 +1300)]
ALSA: asihpi - Update error codes.

Some error codes had duplicate meanings. Just use one.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Checkpatch line lengths etc.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:02 +0000 (17:26 +1300)]
ALSA: asihpi - Checkpatch line lengths etc.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Add include guard.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:01 +0000 (17:26 +1300)]
ALSA: asihpi - Add include guard.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Add adapter index to cache info for debug.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:26:00 +0000 (17:26 +1300)]
ALSA: asihpi - Add adapter index to cache info for debug.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Rewrite PCM timer function. Update control names.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:25:59 +0000 (17:25 +1300)]
ALSA: asihpi - Rewrite PCM timer function. Update control names.

Reported samples_played from card may be inaccurate, so don't use it.
Update control names to be closer to alsa standard practice.
Also fixed some accidentally lowercased strings.

[Removed adriver.h inclusion for external module builds by tiwai]

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Interrelated HPI tidy up.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:25:58 +0000 (17:25 +1300)]
ALSA: asihpi - Interrelated HPI tidy up.

Remove many unused functions.
Update some message and cache structs.
Use pci info directly from pci_dev.
Allow control cache elements with variable size, and handle
large message/response from dsp.
hpi6000 and hpi6205: fix error path when adapter bootload fails.
hpimsgx.c get rid of code duplicated in hpicmn.c

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - HPI 4.05.14
Eliot Blennerhassett [Thu, 10 Feb 2011 04:25:57 +0000 (17:25 +1300)]
ALSA: asihpi - HPI 4.05.14

All enum values numeric for easier finding, particularly error codes.
Remove many unused declarations.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Simplify debug logging.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:25:56 +0000 (17:25 +1300)]
ALSA: asihpi - Simplify debug logging.

Log HPI messages and responses in consistent numeric format,
which can be post-processed to get strings.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Poison adapter_index in message. Remove unused function.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:25:55 +0000 (17:25 +1300)]
ALSA: asihpi - Poison adapter_index in message. Remove unused function.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: asihpi - Switch to dev_printk.
Eliot Blennerhassett [Thu, 10 Feb 2011 04:25:54 +0000 (17:25 +1300)]
ALSA: asihpi - Switch to dev_printk.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Thu, 10 Feb 2011 16:41:58 +0000 (17:41 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: HDA: Add subwoofer quirk for Acer Aspire 8942G
David Henningsson [Thu, 10 Feb 2011 14:39:19 +0000 (15:39 +0100)]
ALSA: HDA: Add subwoofer quirk for Acer Aspire 8942G

According to the reporter, node 0x15 needs to be muted for subwoofer
to stop sounding. This pin is marked as unused by BIOS, so fix that.

BugLink: http://bugs.launchpad.net/bugs/715877
Cc: stable@kernel.org (2.6.37+)
Reported-by: Hans Peter
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - Don't handle empty patch files
Takashi Iwai [Thu, 10 Feb 2011 16:39:20 +0000 (17:39 +0100)]
ALSA: hda - Don't handle empty patch files

When an empty string is passed to patch option, the driver should
ignore it.  Otherwise it gets an error by trying to load it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: Actively manage WM8903 DC servo configuration
Mark Brown [Wed, 9 Feb 2011 20:14:42 +0000 (20:14 +0000)]
ASoC: Actively manage WM8903 DC servo configuration

Explicitly cache the DC servo offsets for digital paths in the driver,
allowing them to be preserved over suspend and resume, and ensure that
we recalibrate analogue outputs paths when they are in use so that we
cover any changes in the input offset.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: add support for multiple jack types
Vinod Koul [Wed, 9 Feb 2011 09:14:17 +0000 (14:44 +0530)]
ASoC: add support for multiple jack types

This patch adds soc-jack support for adding voltage zones and for
detecting jack type

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <priya.harsha@intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Wed, 9 Feb 2011 22:52:08 +0000 (22:52 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: Sync initial widget state with hardware
Mark Brown [Wed, 9 Feb 2011 18:04:11 +0000 (18:04 +0000)]
ASoC: Sync initial widget state with hardware

ASoC generally uses the register defaults for everything, but in some
cases the hardware will default to enabling some of the DAPM widgets
(clocks for example). Ensure that DAPM knows about the actual widget
state at initialisation by reading the enable bits after instantiating
the widgets so they don't get left enabled needlessly.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Fix WM8903 DAC mute default
Mark Brown [Wed, 9 Feb 2011 17:42:57 +0000 (17:42 +0000)]
ASoC: Fix WM8903 DAC mute default

The WM8903 register map does not mute the DAC by default at startup
so we need to explicitly do so.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Dynamically manage CLK_SYS in WM8903
Mark Brown [Wed, 9 Feb 2011 17:42:56 +0000 (17:42 +0000)]
ASoC: Dynamically manage CLK_SYS in WM8903

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Convert WM8903 to use PGA_S for output stage enables
Mark Brown [Wed, 9 Feb 2011 17:42:55 +0000 (17:42 +0000)]
ASoC: Convert WM8903 to use PGA_S for output stage enables

This simplfies the code and slightly reduces the startup time.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Add support for AIF channel muxing on WM8903
Mark Brown [Wed, 9 Feb 2011 13:47:08 +0000 (13:47 +0000)]
ASoC: Add support for AIF channel muxing on WM8903

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Display WM8903 chip revision alphabetically
Mark Brown [Wed, 9 Feb 2011 13:47:07 +0000 (13:47 +0000)]
ASoC: Display WM8903 chip revision alphabetically

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Remove redundant -codec from WM8903 driver name
Mark Brown [Wed, 9 Feb 2011 13:47:06 +0000 (13:47 +0000)]
ASoC: Remove redundant -codec from WM8903 driver name

It causes noisy -codecs to appear in things like .codec_name.

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