Commit Graph

16609 Commits

Author SHA1 Message Date
Mark Brown
bdbe9c72f6 Merge remote-tracking branch 'asoc/fix/blackfin' into asoc-linus 2013-11-20 15:20:30 +00:00
Mark Brown
c33ef2c9ed Merge remote-tracking branch 'asoc/fix/arizona' into asoc-linus 2013-11-20 15:20:30 +00:00
Mark Brown
8b880f48ee Merge remote-tracking branch 'asoc/fix/ab8500' into asoc-linus 2013-11-20 15:20:24 +00:00
Richard Fitzgerald
3e68ce1bc7 ASoC: arizona: Set FLL to free-run before disabling
The FLL must be placed into free-run mode before disabling
to allow it to entirely shut down.

Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
2013-11-20 15:20:01 +00:00
Charles Keepax
f69f86b1ba ASoC: wm5110: Add post SYSCLK register patch for rev D chip
Certain registers require patching after the SYSCLK has been brought up
add support for this into the CODEC driver.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
2013-11-19 18:55:57 +00:00
Lee Jones
63e6d43bf8 ASoC: ab8500: Revert to using custom I/O functions
It's been reported that these break audio on Snowball so revert them
until a Snowball user has time to investigate.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-11-19 18:41:06 +00:00
Takashi Iwai
afed4dbe3a ASoC: blackfin: Fix missing break
Fixes: 4b2ffc205c ('ASoC: Blackfin I2S: add 8-bit sample support')
Reported-by: David Binderman
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
2013-11-13 16:47:42 +00:00
Russell King
a4461f41b9 ALSA: fix oops in snd_pcm_info() caused by ASoC DPCM
Unable to handle kernel NULL pointer dereference at virtual address 00000008
pgd = d5300000
[00000008] *pgd=0d265831, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] PREEMPT ARM
CPU: 0 PID: 2295 Comm: vlc Not tainted 3.11.0+ #755
task: dee74800 ti: e213c000 task.ti: e213c000
PC is at snd_pcm_info+0xc8/0xd8
LR is at 0x30232065
pc : [<c031b52c>]    lr : [<30232065>]    psr: a0070013
sp : e213dea8  ip : d81cb0d0  fp : c05f7678
r10: c05f7770  r9 : fffffdfd  r8 : 00000000
r7 : d8a968a8  r6 : d8a96800  r5 : d8a96200  r4 : d81cb000
r3 : 00000000  r2 : d81cb000  r1 : 00000001  r0 : d8a96200
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5387d  Table: 15300019  DAC: 00000015
Process vlc (pid: 2295, stack limit = 0xe213c248)
[<c031b52c>] (snd_pcm_info) from [<c031b570>] (snd_pcm_info_user+0x34/0x9c)
[<c031b570>] (snd_pcm_info_user) from [<c03164a4>] (snd_pcm_control_ioctl+0x274/0x280)
[<c03164a4>] (snd_pcm_control_ioctl) from [<c0311458>] (snd_ctl_ioctl+0xc0/0x55c)
[<c0311458>] (snd_ctl_ioctl) from [<c00eca84>] (do_vfs_ioctl+0x80/0x31c)
[<c00eca84>] (do_vfs_ioctl) from [<c00ecd5c>] (SyS_ioctl+0x3c/0x60)
[<c00ecd5c>] (SyS_ioctl) from [<c000e500>] (ret_fast_syscall+0x0/0x48)
Code: e1a00005 e59530dc e3a01001 e1a02004 (e5933008)
---[ end trace cb3d9bdb8dfefb3c ]---

This is provoked when the ASoC front end is open along with its backend,
(which causes the backend to have a runtime assigned to it) and then the
SNDRV_CTL_IOCTL_PCM_INFO is requested for the (visible) backend device.

Resolve this by ensuring that ASoC internal backend devices are not
visible to userspace, just as the commentry for snd_pcm_new_internal()
says it should be.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Mark Brown <broonie@linaro.org>
Cc: <stable@vger.kernel.org> [v3.4+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-10-31 17:36:47 +01:00
Takashi Iwai
c4a4ddaefb ASoC: Fixes for v3.12
A few of the Coverity fixes from Takashi, one of which (the wm_hubs one)
 is particularly noticable.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.15 (GNU/Linux)
 
 iQIcBAABAgAGBQJScUA0AAoJELSic+t+oim9Yu8P/Rve++VdhWT/NPrhRvHLhnt7
 CXaXdAKt2tS8mZCrvho/G2b22ZGJML1RseCF4ORIPYaLAnk86G6mqNldFWGiBy1D
 ainPIQKahc0Pxu9TlFuj27r6M+S/t3JXxgX9R8rJr8yz4JRVzCucrRMlrFPXXPNW
 PDu9djCf6Mv3X9M/tpnZUQo2gpkmfzWmrF6/TSb/91TT7ZhYouzC+pkydHvyvXU7
 Ah3MhNPe7rXXNZsdxn8jSPwN4g+vHgkLYg+OrrCtfOppG0XLQPzmq1xWEeqSltLi
 hiVv36VHzzCAymqn29B8kUidRlYcRQiQliv50B4zUCKj78LsEr6/bO3PLpiJkmtm
 DQTckVHT6i2teQdFsBoJ9GDZhkIphk3wVFivG47DhmAK7W1vB2pX67DF4lKrsz8w
 wSwtcUj9lPVoEK/stxTEAU+UNvIrwhbEKxwDi9F4K4eQkaf4CtmTq37cE2QR4uFY
 lxqqYU8oCUypzCEtWXZ28N2+BBCoH+Fjw9LgM0eIYrw6UgmtmhY6Az05/T9ZjagP
 PYC9I+ootacB2ApBF6E2wM+3zT7tookNCa2S3pd0kYrYXXqo0P79h2JUyfhQwCHn
 CY29c0YassHjL5lTv0rBW9lbNAZg8wFAMsguOMqXFi/msFKhcpH2aLZ5+R7mUl0s
 QPIzGI3OMMFMx6PDQ3KS
 =J0sP
 -----END PGP SIGNATURE-----

Merge tag 'asoc-fix-v3.12-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v3.12

A few of the Coverity fixes from Takashi, one of which (the wm_hubs one)
is particularly noticable.
2013-10-30 18:42:13 +01:00
Mark Brown
8723b795aa Merge remote-tracking branch 'asoc/fix/wm8994' into asoc-linus 2013-10-30 10:11:55 -07:00
Takashi Iwai
268ff14525 ASoC: wm_hubs: Add missing break in hp_supply_event()
Spotted by coverity CID 115170.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
2013-10-30 09:35:22 -07:00
Takashi Iwai
6fc16e58ad ALSA: hda - Add a fixup for ASUS N76VZ
ASUS N76VZ needs the same fixup as N56VZ for supporting the boost
speaker.

Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=846529
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-10-30 12:31:35 +01:00
Takashi Iwai
298402a385 ASoC: dapm: Return -ENOMEM in snd_soc_dapm_new_dai_widgets()
... instead of NULL dereferences.

Spotted by coverity CID 402004.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-10-28 09:33:10 -07:00
Takashi Iwai
ff18620c21 ASoC: dapm: Fix source list debugfs outputs
... due to a copy & paste error.

Spotted by coverity CID 710923.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
2013-10-28 09:32:57 -07:00
Takashi Iwai
1ac3293095 ALSA: hda - Fix silent headphone on Thinkpads with AD1984A codec
AD1984A codec has a couple of pins with EAPD controls, and the generic
codec driver tries to turn each of them on/off depending on the pin
active state.  However, Thinkpads seem to use EAPD of the speaker pin
as a master EAPD for controlling the mute of all outputs, including
the headphone.  This results in the dead headphone output via the
headphone plugging because it mutes the speaker and turns off EAPD.

The fix is to simply add spec->gen.keep_on_eapd flag.

[This is a regression fix on 3.12 where we moved the AD codec parser
 to the generic parser.  3.11 and earlier didn't show this problem
 because still static quirks have been used.]

Reported-and-tested-by: Vito Caputo <vcaputo@gnugeneration.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-10-26 00:30:32 +02:00
Takashi Iwai
b63eae0a6c ALSA: hda - Add missing initial vmaster hook at build_controls callback
The generic parser has a support of vmaster hook, but this is
initialized only in the init callback with the check of the presence
of the corresponding kctl.  However, since kctl is NULL at the very
first init callback that is called before build_controls callback, the
vmaster hook sync is skipped there.  Eventually this leads to the
uninitialized state depending on the hook implementation.

This patch adds a simple workaround, just calling the sync function
explicitly at build_controls callback.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-10-25 23:43:10 +02:00
Mark Brown
9645083ca5 Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next 2013-10-24 11:24:18 +01:00
Mark Brown
cd77607f57 Merge remote-tracking branch 'asoc/topic/wm8400' into asoc-next 2013-10-24 11:24:18 +01:00
Mark Brown
d12649452d Merge remote-tracking branch 'asoc/topic/twl6040' into asoc-next 2013-10-24 11:24:17 +01:00
Mark Brown
e3a4bd276d Merge remote-tracking branch 'asoc/topic/twl4030' into asoc-next 2013-10-24 11:24:17 +01:00
Mark Brown
856de81583 Merge remote-tracking branch 'asoc/topic/tpa6130a2' into asoc-next 2013-10-24 11:24:17 +01:00
Mark Brown
3caa28274e Merge remote-tracking branch 'asoc/topic/tlv320aic3x' into asoc-next 2013-10-24 11:24:16 +01:00
Mark Brown
24a6703abb Merge remote-tracking branch 'asoc/topic/tlv320aic32x4' into asoc-next 2013-10-24 11:24:16 +01:00
Mark Brown
3cabd442d7 Merge remote-tracking branch 'asoc/topic/tlv320aic26' into asoc-next 2013-10-24 11:24:15 +01:00
Mark Brown
2b48f86b5b Merge remote-tracking branch 'asoc/topic/tlv320aic23' into asoc-next 2013-10-24 11:24:15 +01:00
Mark Brown
a5f0ac4a0b Merge remote-tracking branch 'asoc/topic/tegra' into asoc-next 2013-10-24 11:24:14 +01:00
Mark Brown
7524be376d Merge remote-tracking branch 'asoc/topic/tas5086' into asoc-next 2013-10-24 11:24:14 +01:00
Mark Brown
abdd182e93 Merge remote-tracking branch 'asoc/topic/spear' into asoc-next 2013-10-24 11:24:13 +01:00
Mark Brown
c5833ddc4a Merge remote-tracking branch 'asoc/topic/sn95031' into asoc-next 2013-10-24 11:24:13 +01:00
Mark Brown
ccc6d1922e Merge remote-tracking branch 'asoc/topic/simple' into asoc-next 2013-10-24 11:24:12 +01:00
Mark Brown
f6b967ab1b Merge remote-tracking branch 'asoc/topic/si476x' into asoc-next 2013-10-24 11:24:12 +01:00
Mark Brown
1f7f8e0462 Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next 2013-10-24 11:24:12 +01:00
Mark Brown
a6f849f752 Merge remote-tracking branch 'asoc/topic/rt5640' into asoc-next 2013-10-24 11:24:11 +01:00
Mark Brown
5b2ad46d6e Merge remote-tracking branch 'asoc/topic/rcar' into asoc-next 2013-10-24 11:24:11 +01:00
Mark Brown
c0840b2728 Merge remote-tracking branch 'asoc/topic/pxa' into asoc-next 2013-10-24 11:24:10 +01:00
Mark Brown
8018abf63d Merge remote-tracking branch 'asoc/topic/pcm1792a' into asoc-next 2013-10-24 11:24:10 +01:00
Mark Brown
440f5e8996 Merge remote-tracking branch 'asoc/topic/pcm1681' into asoc-next 2013-10-24 11:24:09 +01:00
Mark Brown
10abe843d5 Merge remote-tracking branch 'asoc/topic/mxs' into asoc-next 2013-10-24 11:24:09 +01:00
Mark Brown
07797e9bb6 Merge remote-tracking branch 'asoc/topic/mc13783' into asoc-next 2013-10-24 11:24:08 +01:00
Mark Brown
ed87aabf60 Merge remote-tracking branch 'asoc/topic/max9850' into asoc-next 2013-10-24 11:24:08 +01:00
Mark Brown
4131770d54 Merge remote-tracking branch 'asoc/topic/max98095' into asoc-next 2013-10-24 11:24:07 +01:00
Mark Brown
1a4ca437e4 Merge remote-tracking branch 'asoc/topic/max98088' into asoc-next 2013-10-24 11:24:07 +01:00
Mark Brown
2e71ff5e8a Merge remote-tracking branch 'asoc/topic/kirkwood' into asoc-next 2013-10-24 11:24:06 +01:00
Mark Brown
8ff9f38bda Merge remote-tracking branch 'asoc/topic/fsl' into asoc-next 2013-10-24 11:24:06 +01:00
Mark Brown
54128df2ba Merge remote-tracking branch 'asoc/topic/ep93xx' into asoc-next 2013-10-24 11:24:06 +01:00
Mark Brown
70e0db2f74 Merge remote-tracking branch 'asoc/topic/dma' into asoc-next 2013-10-24 11:24:05 +01:00
Mark Brown
48ce3ec16a Merge remote-tracking branch 'asoc/topic/devm' into asoc-next 2013-10-24 11:24:04 +01:00
Mark Brown
cf44fba089 Merge remote-tracking branch 'asoc/topic/davinci' into asoc-next 2013-10-24 11:24:04 +01:00
Mark Brown
0705690110 Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next 2013-10-24 11:24:03 +01:00
Mark Brown
85eb5dce82 Merge remote-tracking branch 'asoc/topic/cs42l73' into asoc-next 2013-10-24 11:24:03 +01:00