]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
13 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Mon, 28 Feb 2011 14:59:00 +0000 (15:59 +0100)]
Merge branch 'topic/misc' into for-next

13 years agoALSA: hdspm - Fix midi port initialization
Adrian Knoth [Mon, 28 Feb 2011 14:14:50 +0000 (15:14 +0100)]
ALSA: hdspm - Fix midi port initialization

Depending on the model and the presence of a TCO module, the number of
midi ports varies. Some have 1 port (MADIface), some have 2 (default),
with TCO, there are 3.

Don't hardcode the number of midi ports to initialize.

This patch also fixes a boot lockup on MADIface.

[Coding-style fixes by tiwai]

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hdspm - Abort on unknown firmware revision
Adrian Knoth [Mon, 28 Feb 2011 14:14:49 +0000 (15:14 +0100)]
ALSA: hdspm - Abort on unknown firmware revision

Don't continue if we cannot detect the real card type, otherwise, all
subsequent functions, especially strcpy(), would fail, leaving the whole
driver in an unusable state.

Without such a protection, dmesg would look like this:

Pid: 1525, comm: modprobe Not tainted 2.6.38-rc6 #1 MSI MS-7250/MS-7250
EIP: 0060:[<c114e700>] EFLAGS: 00010296 CPU: 1
EIP is at strcpy+0x10/0x30
EAX: f4d33e58 EBX: f5990800 ECX: f4d33e58 EDX: 00000000
ESI: 00000000 EDI: f4d33e58 EBP: f5990930 ESP: f3dd3e0c
DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
f53d4204 00000000 f90bfc03 00000001 00000001 f3dd3e64 c10fedff f3dd3e7c
f3d854e4 f53d4000 c10307b8 00000001 c10307b8 f5990860 c10307b8 00000001
c10332e5 f59908bc c12f4339 f59908bc f5990860 c11ef207 f4d33e00 f53d4000
[<f90bfc03>] ? snd_hdspm_probe+0x7e7/0x1166 [snd_hdspm]
[<c10fedff>] ? __sysfs_add_one+0x1f/0xf0
[<c10307b8>] ? get_parent_ip+0x8/0x20
[<c10307b8>] ? get_parent_ip+0x8/0x20
[<c10307b8>] ? get_parent_ip+0x8/0x20
[<c10332e5>] ? add_preempt_count+0xa5/0xd0
[<c12f4339>] ? _raw_spin_lock_irqsave+0x19/0x40
[<c11ef207>] ? pm_runtime_enable+0x17/0x80
[<c1160172>] ? local_pci_probe+0x42/0xb0
[<c1161091>] ? pci_device_probe+0x61/0x80
[<c11e9587>] ? driver_probe_device+0x77/0x180
[<c11600f0>] ? pci_match_device+0xa0/0xc0
[<c11e9709>] ? __driver_attach+0x79/0x80
[<c11e9690>] ? __driver_attach+0x0/0x80
[<c11e8e32>] ? bus_for_each_dev+0x52/0x80
[<c11e9416>] ? driver_attach+0x16/0x20
[<c11e9690>] ? __driver_attach+0x0/0x80
[<c11e8771>] ? bus_add_driver+0xa1/0x220
[<c1160f20>] ? pci_device_remove+0x0/0xf0
[<c11e99a3>] ? driver_register+0x63/0x120
[<c11612bd>] ? __pci_register_driver+0x3d/0xb0
[<c1001132>] ? do_one_initcall+0x32/0x160
[<f90d6000>] ? alsa_card_hdspm_init+0x0/0x14 [snd_hdspm]
[<c10676a9>] ? sys_init_module+0x99/0x1e0
[<c10ade3d>] ? sys_close+0x6d/0xc0
[<c1002c90>] ? sysenter_do_call+0x12/0x26
---[ end trace 239f0661c558378b ]---

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hdspm - Add updated firmware revision for AES32
Adrian Knoth [Mon, 28 Feb 2011 14:14:48 +0000 (15:14 +0100)]
ALSA: hdspm - Add updated firmware revision for AES32

In contrast to the PCIe version (RME AES), the PCI version (RME AES32)
has a different firmware revision.

This patch adds the missing PCI revision.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hdspm - AES32: Use define instead of hardcoded channel count
Adrian Knoth [Mon, 28 Feb 2011 14:14:47 +0000 (15:14 +0100)]
ALSA: hdspm - AES32: Use define instead of hardcoded channel count

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Mon, 28 Feb 2011 10:21:11 +0000 (11:21 +0100)]
Merge branch 'topic/misc' into for-next

13 years agoALSA: powermac - Allow input from microphone on Tumbler
Risto Suominen [Mon, 28 Feb 2011 08:38:45 +0000 (10:38 +0200)]
ALSA: powermac - Allow input from microphone on Tumbler

Allow input from microphone on remaining PowerBooks and iBooks with Tumbler.
Tested only with PowerBook G4 Gigabit Ethernet (PowerBook3,3).

[Fixed to use of_machine_is_compatible by tiwai]

Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Sun, 27 Feb 2011 09:06:18 +0000 (10:06 +0100)]
Merge branch 'topic/misc' into for-next

13 years agosound:core:seq:seq_ports.c Remove one to many n's in a word.
Justin P. Mattock [Sun, 27 Feb 2011 04:34:10 +0000 (20:34 -0800)]
sound:core:seq:seq_ports.c Remove one to many n's in a word.

The Patch below removes one to many "n's" in a word..

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/asoc' into for-next
Takashi Iwai [Sat, 26 Feb 2011 10:27:06 +0000 (11:27 +0100)]
Merge branch 'fix/asoc' into for-next

13 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Fri, 25 Feb 2011 15:43:24 +0000 (16:43 +0100)]
Merge branch 'topic/asoc' into for-next

13 years agoeukrea-tlv320: fix platform_name
Eric Bénard [Fri, 25 Feb 2011 12:47:46 +0000 (13:47 +0100)]
eukrea-tlv320: fix platform_name

commit f0fba2ad1b6b53d5360125c41953b7afcd6deff0 included a mistake
on the name of the platform in the snd_soc_dai_link structure.

Signed-off-by: Eric Bénard <eric@eukrea.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: Add Freescale SGTL5000 codec support
Zeng Zhaoming [Wed, 23 Feb 2011 18:08:21 +0000 (02:08 +0800)]
ASoC: Add Freescale SGTL5000 codec support

Add Freescale SGTL5000 codec support.
Supported features:
 - line-in and mic input
 - headphone and line-out output
 - line-in bypass ADC and DAC to headphone
 - 16, 20, 24, 32 bit audio
 - 8 ~ 96k sample rates

Signed-off-by: Zeng Zhaoming <zhaoming.zeng@freescale.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'fix/asoc' into for-next
Takashi Iwai [Fri, 25 Feb 2011 11:58:50 +0000 (12:58 +0100)]
Merge branch 'fix/asoc' into for-next

13 years agoASoC: remove one to many l's in the word
Justin P. Mattock [Fri, 25 Feb 2011 06:16:37 +0000 (22:16 -0800)]
ASoC: remove one to many l's in the word

The patch below removes an extra "l" in the word.

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Fri, 25 Feb 2011 11:45:09 +0000 (11:45 +0000)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: Tegra: Move utilities to separate module
Stephen Warren [Wed, 23 Feb 2011 00:23:56 +0000 (17:23 -0700)]
ASoC: Tegra: Move utilities to separate module

The utilities will be required by every machine driver. Including the
utility object directly into every machine driver causes a build failure
if the modules are actually built into the kernel, since each will define
the symbols exported by the utility file. Solve this by moving the
utility object into a separate module.

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 agoASoC: soc-dapm: Include quotes around contents in debugfs entries
Dimitris Papastamos [Thu, 24 Feb 2011 17:09:32 +0000 (17:09 +0000)]
ASoC: soc-dapm: Include quotes around contents in debugfs entries

Sometimes the name of the control switch of a dapm route contains
spaces which makes it impossible to distinguish it from the source widget.
Add quotes around the names of the widgets to makes these parsable.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Remove -codec suffix from WM9081 driver
Mark Brown [Thu, 24 Feb 2011 20:26:02 +0000 (20:26 +0000)]
ASoC: Remove -codec suffix from WM9081 driver

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: correct pxa AC97 DAI names
Dmitry Eremin-Solenikov [Tue, 22 Feb 2011 23:29:11 +0000 (02:29 +0300)]
ASoC: correct pxa AC97 DAI names

Correct names for pxa AC97 DAI are pxa2xx-ac97 and pxa2xx-ac97-aux. Fix
that for all PXA platforms.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
13 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Fri, 25 Feb 2011 07:52:40 +0000 (08:52 +0100)]
Merge branch 'topic/misc' into for-next

13 years agoALSA: emu10k1 - emu10k1_main.c remove one to many l's in the word.
Justin P. Mattock [Fri, 25 Feb 2011 06:15:42 +0000 (22:15 -0800)]
ALSA: emu10k1 - emu10k1_main.c remove one to many l's in the word.

The patch below removes an extra "l" in the word.

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hda - patch_realtek.c remove one to many l's in the word.
Justin P. Mattock [Fri, 25 Feb 2011 06:16:02 +0000 (22:16 -0800)]
ALSA: hda - patch_realtek.c remove one to many l's in the word.

The patch below removes an extra "l" in the word.

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Thu, 24 Feb 2011 17:05:12 +0000 (18:05 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: hda - Add support for new IDT 92HD98 and 92HD99 codecs
Vitaliy Kulikov [Tue, 22 Feb 2011 23:32:19 +0000 (17:32 -0600)]
ALSA: hda - Add support for new IDT 92HD98 and 92HD99 codecs

Also fix number of 92HD87 pins to exclude invalid pins.

Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: Pass the jack to jack notifiers
Mark Brown [Tue, 22 Feb 2011 20:42:35 +0000 (12:42 -0800)]
ASoC: Pass the jack to jack notifiers

We're currently not passing anything and this will make the card and so on
more discoverable.

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

13 years agoALSA: hda - 4930g add internal lfe slider
Łukasz Wojniłowicz [Thu, 24 Feb 2011 09:03:31 +0000 (10:03 +0100)]
ALSA: hda - 4930g add internal lfe slider

Lately I sent patch that switched lfe with side in mixer for
acer-aspire-4930g. Then I connected 5.1 speaker system and noticed that
lfe slider wasn't working and that old lfe slider worked. What I'm doing
now is:

- reverting old patch
- adding internal lfe slider
- removing side as it is superfluous (ALC888S-VC is 7.1 but in fact
  laptop can only do 5.1 and it is so in drivers for MS Windows)

Signed-off-by: Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Wed, 23 Feb 2011 15:00:46 +0000 (16:00 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: HDA: Add ideapad quirk for two Dell machines
David Henningsson [Wed, 23 Feb 2011 12:15:56 +0000 (13:15 +0100)]
ALSA: HDA: Add ideapad quirk for two Dell machines

These two Dell machines have been reported working well with
the ideapad model.

BugLink: http://bugs.launchpad.net/bugs/723676
Cc: stable@kernel.org
Tested-by: David Chen <david.chen@canonical.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: HDA: Add a new Conexant codec 506e (20590)
David Henningsson [Tue, 8 Feb 2011 06:16:06 +0000 (07:16 +0100)]
ALSA: HDA: Add a new Conexant codec 506e (20590)

Conexant 506e/20590 has the same graph as the rest of the 5066 family.

BugLink: http://bugs.launchpad.net/bugs/723672
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 'topic/misc' into for-next
Takashi Iwai [Wed, 23 Feb 2011 14:56:56 +0000 (15:56 +0100)]
Merge branch 'topic/misc' into for-next

13 years agoALSA: hdspm - Fix lock/sync reporting on MADI and AES32
Adrian Knoth [Wed, 23 Feb 2011 10:43:15 +0000 (11:43 +0100)]
ALSA: hdspm - Fix lock/sync reporting on MADI and AES32

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hdspm - prevent reading unitialized stack memory
Adrian Knoth [Wed, 23 Feb 2011 10:43:14 +0000 (11:43 +0100)]
ALSA: hdspm - prevent reading unitialized stack memory

Original patch by Dan Rosenberg <drosenberg@vsecurity.com> under commit
e68d3b316ab7b02a074edc4f770e6a746390cb7d. I'm copying his text here:

The SNDRV_HDSPM_IOCTL_GET_CONFIG_INFO ioctl in hdspm.c allow unprivileged
users to read uninitialized kernel stack memory, because several fields
of the hdspm_config struct declared on the stack are not altered
or zeroed before being copied back to the user.  This patch takes care
of it.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hdspm - fix sync check on AES32
Adrian Knoth [Wed, 23 Feb 2011 10:43:13 +0000 (11:43 +0100)]
ALSA: hdspm - fix sync check on AES32

Fredrik Lingvall <fredrik.lingvall@gmail.com> has discovered wrong
frequency and sync detection on AES32. According to him, the provided
patch fixes these issues.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hdspm - Remove input selector on MADIface
Adrian Knoth [Wed, 23 Feb 2011 10:43:12 +0000 (11:43 +0100)]
ALSA: hdspm - Remove input selector on MADIface

In contrast to the RME MADI card, coax/optical selection on the MADIface
is done via a physical switch located at the breakout box. Obviously,
the driver cannot switch ports in software.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hdspm - Fix DS/QS output channel mappings on RME MADI/MADIface
Adrian Knoth [Wed, 23 Feb 2011 10:43:11 +0000 (11:43 +0100)]
ALSA: hdspm - Fix DS/QS output channel mappings on RME MADI/MADIface

Caused by two typos, no output channel mappings were assigned for
MADI/MADIface at double/quad speed.

The channel mapping is indeed identical to the single speed mapping, the
cards will simply use the first N channels.

Signed-off-by: Florian Faber <faber@faberman.de>
Signed-off-by: Fredrik Lingvall <fredrik.lingvall@gmail.com>
Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hdspm - Restrict channel count on RME AES/AES32
Adrian Knoth [Wed, 23 Feb 2011 10:43:10 +0000 (11:43 +0100)]
ALSA: hdspm - Restrict channel count on RME AES/AES32

Without calling an appropriate rule, AES/AES32 cards would announce a
theoretical channel count of 64 (HDSPM_MAX_CHANNELS), leading to the
already known bug:

[37422.640481] ------------[ cut here ]------------
[37422.640487] WARNING: at sound/pci/rme9652/hdspm.c:5449
snd_hdspm_ioctl+0x18f/0x202 [snd_hdspm]()
[37422.640489] Hardware name: PRIMERGY RX100 S6
[37422.640490] BUG? (info->channel >= hdspm->max_channels_in)
[37422.640492] Modules linked in: snd_hdspm snd_seq_midi ipmi_watchdog
ipmi_poweroff ipmi_si ipmi_devintf ipmi_msghandler i2c_i801 e1000e
snd_rawmidi power_meter [last unloaded: snd_hdspm]
[37422.640501] Pid: 22231, comm: jackd Tainted: G      D W
2.6.36-gentoo-r5 #5
[37422.640502] Call Trace:
[37422.640508]  [<ffffffff8103db3a>] warn_slowpath_common+0x80/0x98
[37422.640511]  [<ffffffff8103dbe6>] warn_slowpath_fmt+0x41/0x43
[37422.640514]  [<ffffffff81034306>] ? get_parent_ip+0x11/0x42
[37422.640518]  [<ffffffffa0055763>] snd_hdspm_ioctl+0x18f/0x202
[snd_hdspm]
[37422.640522]  [<ffffffff813fd626>] snd_pcm_channel_info+0x73/0x7c
[37422.640525]  [<ffffffff814001e9>] snd_pcm_common_ioctl1+0x326/0xb01
[37422.640527]  [<ffffffff81034306>] ? get_parent_ip+0x11/0x42
[37422.640531]  [<ffffffff8105be6c>] ? __srcu_read_unlock+0x3b/0x59
[37422.640533]  [<ffffffff81400bce>] snd_pcm_capture_ioctl1+0x20a/0x227
[37422.640537]  [<ffffffff811e599c>] ? file_has_perm+0x90/0x9e
[37422.640540]  [<ffffffff81400c15>] snd_pcm_capture_ioctl+0x2a/0x2e
[37422.640543]  [<ffffffff810f2c69>] do_vfs_ioctl+0x404/0x453
[37422.640546]  [<ffffffff810f2d09>] sys_ioctl+0x51/0x74
[37422.640549]  [<ffffffff81002aab>] system_call_fastpath+0x16/0x1b
[37422.640552] ---[ end trace 0cd919cd68118082 ]---

We already have all the right values in place, we simply have to inform
the upper layers about this restriction.

Note that snd_hdspm_hw_rule_rate_out_channels and
snd_hdspm_hw_rule_rate_in_channels must not be called on AES32, because
the channel count is always 16, no matter of the samplerate in use.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hdspm - Fix buffer handling on RME MADI/MADIface/AES(32)
Adrian Knoth [Wed, 23 Feb 2011 10:43:09 +0000 (11:43 +0100)]
ALSA: hdspm - Fix buffer handling on RME MADI/MADIface/AES(32)

Only RayDAT and AIO provide sane buffer pointers that can be used with
HDSPM_BufferPositionMask, on all other cards, this would result in a
wrong HW pointer leading to xruns and these messages:

[260808.916788] BUG: pcmC0D0p:0, pos = 2976, buffer size = 1024, period size = 512
[260808.961124] BUG: pcmC0D0c:0, pos = 4944, buffer size = 1024, period size = 512

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoALSA: hpdsm - RME AES(32): Fix missing channel mappings
Adrian Knoth [Wed, 23 Feb 2011 10:43:08 +0000 (11:43 +0100)]
ALSA: hpdsm - RME AES(32): Fix missing channel mappings

On RME AES and AES(32), none of the required information
(max_channels_in, max_channels_out, channel mappings, port names) was
set, leading to the BUG below.

This patch adds the missing bits, thus fixing the bug.

125.058768] ------------[ cut here ]------------
[  125.058773] WARNING: at sound/pci/rme9652/hdspm.c:5389
snd_hdspm_ioctl+0x10c/0x1d8 [snd_hdspm]()
[  125.058775] Hardware name: PRIMERGY RX100 S6
[  125.058777] BUG? (info->channel >= hdspm->max_channels_out)
[  125.058778] Modules linked in: ipmi_watchdog ipmi_poweroff ipmi_si
ipmi_devintf ipmi_msghandler snd_hdspm power_meter e1000e snd_rawmidi
i2c_i801
[  125.058787] Pid: 3652, comm: audacity Tainted: G        W
2.6.36-gentoo-r5 #5
[  125.058788] Call Trace:
[  125.058792]  [<ffffffff8103db3a>] warn_slowpath_common+0x80/0x98
[  125.058796]  [<ffffffff8103dbe6>] warn_slowpath_fmt+0x41/0x43
[  125.058800]  [<ffffffffa006761a>] snd_hdspm_ioctl+0x10c/0x1d8
[snd_hdspm]
[  125.058803]  [<ffffffff813fd626>] snd_pcm_channel_info+0x73/0x7c
[  125.058806]  [<ffffffff814001e9>] snd_pcm_common_ioctl1+0x326/0xb01
[  125.058809]  [<ffffffff810c604c>] ? __do_fault+0x361/0x3a6
[  125.058812]  [<ffffffff81400e23>] snd_pcm_playback_ioctl1+0x20a/0x227
[  125.058815]  [<ffffffff811e599c>] ? file_has_perm+0x90/0x9e
[  125.058818]  [<ffffffff81400e6a>] snd_pcm_playback_ioctl+0x2a/0x2e
[  125.058821]  [<ffffffff810f2c69>] do_vfs_ioctl+0x404/0x453
[  125.058824]  [<ffffffff810f2d09>] sys_ioctl+0x51/0x74
[  125.058827]  [<ffffffff81002aab>] system_call_fastpath+0x16/0x1b
[  125.058830] ---[ end trace 5bddb08e5d4cbeb1 ]---

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Florian Faber <faber@faberman.de>
Signed-off-by: Fredrik Lingvall <fredrik.lingvall@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'fix/misc' into for-next
Takashi Iwai [Wed, 23 Feb 2011 07:16:32 +0000 (08:16 +0100)]
Merge branch 'fix/misc' into for-next

13 years agoALSA: usb-audio: fix oops due to cleanup race when disconnecting
Takashi Iwai [Tue, 22 Feb 2011 09:21:18 +0000 (10:21 +0100)]
ALSA: usb-audio: fix oops due to cleanup race when disconnecting

When a USB audio device is disconnected, snd_usb_audio_disconnect()
kills all audio URBs.  At the same time, the application, after being
notified of the disconnection, might close the device, in which case
ALSA calls the .hw_free callback, which should free the URBs too.

Commit de1b8b93a0ba "[ALSA] Fix hang-up at disconnection of usb-audio"
prevented snd_usb_hw_free() from freeing the URBs to avoid a hang that
resulted from this race, but this introduced another race because the
URB callbacks could now be executed after snd_usb_hw_free() has
returned, and try to access already freed data.

Fix the first race by introducing a mutex to serialize the disconnect
callback and all PCM callbacks that manage URBs (hw_free and hw_params).

Reported-and-tested-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
Cc: <stable@kernel.org>
[CL: also serialize hw_params callback]
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoASoC: Simplify default WM8958 jack detection code
Mark Brown [Tue, 22 Feb 2011 04:51:13 +0000 (20:51 -0800)]
ASoC: Simplify default WM8958 jack detection code

The default WM8958 jack detection handler implements a full set of buttons
and also support for video detection. Support for multi-button jacks is
fairly system specific and will usually require some tuning for headsets
so simplify the implementation to only report a simple short to ground
button, leaving multi-button headsets to be handled by system specific
code.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Support configuration of WM8958 microphone bias analogue parameters
Mark Brown [Tue, 22 Feb 2011 01:11:59 +0000 (17:11 -0800)]
ASoC: Support configuration of WM8958 microphone bias analogue parameters

The WM8958 has a different microphone bias architecture to WM8994 so needs
different configuration to WM8994. Support this in platform data.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Support WM8958 direct microphone detection IRQ
Mark Brown [Fri, 18 Feb 2011 04:05:44 +0000 (20:05 -0800)]
ASoC: Support WM8958 direct microphone detection IRQ

Allow direct routing of the WM8958 microphone detection signal to a GPIO
to be used, saving the need to demux the interrupt.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Mark WM8958 microphone bias registers as readable
Mark Brown [Sat, 19 Feb 2011 00:57:22 +0000 (16:57 -0800)]
ASoC: Mark WM8958 microphone bias registers as readable

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Run bias level changes for all DAPM contexts in parallel
Mark Brown [Fri, 18 Feb 2011 19:49:43 +0000 (11:49 -0800)]
ASoC: Run bias level changes for all DAPM contexts in parallel

As bias level changes can be quite time consuming and the bias changes
for multiple devices aren't strongly tied to each other (if anything it
can be advantageous to bring different devices up together) we can improve
the state transition time for multi-component systems by running the bias
level changes for all the devices in parallel. This is very simple to
achieve using the kernel async functionality so use that to schedule the
work.

This should have no practical effect for the overwhelming majority of
systems which have a single DAPM context - we'll bounce into another
thread to do the bias level change but otherwise everything will happen
in exactly the same order as it did before.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Remove card from snd_soc_dapm_set_bias_level()
Mark Brown [Fri, 18 Feb 2011 19:12:42 +0000 (11:12 -0800)]
ASoC: Remove card from snd_soc_dapm_set_bias_level()

We can get the card from the DAPM context so don't bother passing it as
an argument.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge branch 'for-2.6.38' into for-2.6.39
Mark Brown [Tue, 22 Feb 2011 18:38:13 +0000 (10:38 -0800)]
Merge branch 'for-2.6.38' into for-2.6.39

13 years agoASoC: Hook wm_hubs micbiases up to CLK_SYS
Mark Brown [Fri, 18 Feb 2011 23:05:53 +0000 (15:05 -0800)]
ASoC: Hook wm_hubs micbiases up to CLK_SYS

The microphone detection functionality requires a clock to work. In any
non-detection case where the MICBIAS is enabled CLK_SYS will be needed
anyway so there is no negative impact on power consumption.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Correct definition of WM8903_VMID_RES_5K
Mark Brown [Mon, 21 Feb 2011 18:44:42 +0000 (10:44 -0800)]
ASoC: Correct definition of WM8903_VMID_RES_5K

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoASoC: Fix WM8958 default microphone detection argument ordering
Mark Brown [Tue, 22 Feb 2011 04:41:25 +0000 (20:41 -0800)]
ASoC: Fix WM8958 default microphone detection argument ordering

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
13 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Tue, 22 Feb 2011 13:02:29 +0000 (14:02 +0100)]
Merge branch 'fix/hda' into for-next

13 years agoALSA: HDA: Fix mic initialization in VIA auto parser
David Henningsson [Mon, 21 Feb 2011 09:23:18 +0000 (10:23 +0100)]
ALSA: HDA: Fix mic initialization in VIA auto parser

This typo caused some microphone inputs not to be correctly
initialized on VIA codecs.

Reported-By: Mark Goldstein <goldstein.mark@gmail.com>
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, 21 Feb 2011 08:35:00 +0000 (09:35 +0100)]
Merge branch 'fix/misc' into for-next

13 years agoALSA: fix one memory leak in sound jack
Lu Guanqun [Mon, 21 Feb 2011 05:45:04 +0000 (13:45 +0800)]
ALSA: fix one memory leak in sound jack

Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
Reviewed-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Sun, 20 Feb 2011 09:06:02 +0000 (10:06 +0100)]
Merge branch 'topic/misc' into for-next

13 years agoALSA - au88x0 - add Playback Volume to 10 bands Equalizer Controls
Raymond Yau [Sun, 20 Feb 2011 07:55:14 +0000 (15:55 +0800)]
ALSA - au88x0 - add Playback Volume to 10 bands Equalizer Controls

Add " Playback Volume" to 10 bands Equalizer Controls of au88x0 so that
alsa-lib won't regard them as "Capture Volume".

Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
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: Hook wm_hubs micbiases up to CLK_SYS
Mark Brown [Fri, 18 Feb 2011 23:05:53 +0000 (15:05 -0800)]
ASoC: Hook wm_hubs micbiases up to CLK_SYS

The microphone detection functionality requires a clock to work. In any
non-detection case where the MICBIAS is enabled CLK_SYS will be needed
anyway so there is no negative impact on power consumption.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
13 years agoASoC: Mark WM8958 microphone detection registers readable
Mark Brown [Fri, 18 Feb 2011 22:47:02 +0000 (14:47 -0800)]
ASoC: Mark WM8958 microphone detection registers readable

So they show up in codec_reg.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
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