Takashi Iwai [Sun, 2 Jan 2011 10:12:04 +0000 (11:12 +0100)]
Merge branch 'topic/misc' into for-next
Andreas Mohr [Mon, 27 Dec 2010 20:17:35 +0000 (21:17 +0100)]
ALSA: azt3328: improve snd_azf3328_codec_setdmaa()
- add some WARN_ONCE
- add multi-I/O helper (and use helper struct)
- fix off-by-1 DMA length bug
- better variable naming
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Andreas Mohr [Mon, 27 Dec 2010 20:17:26 +0000 (21:17 +0100)]
ALSA: azt3328: use proper private_data hookup for codec identification
- much improved implementation due to clean codec hierarchy
- preparation for potential per-codec spinlock change
NOTE: additionally removes a chip->pcm[codec_type] NULL ptr check
(due to it requiring access to external chip struct),
however I believe this to be ok since this condition should not occur
and most drivers don't check against that either.
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Andreas Mohr [Mon, 27 Dec 2010 20:17:11 +0000 (21:17 +0100)]
ALSA: azt3328: use a helper variable to remove one indirection in hotpath
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Andreas Mohr [Mon, 27 Dec 2010 20:17:00 +0000 (21:17 +0100)]
ALSA: azt3328: cosmetics: use a helper variable for codec setup
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Andreas Mohr [Mon, 27 Dec 2010 20:16:49 +0000 (21:16 +0100)]
ALSA: azt3328: _setfmt() update
- use a separate variable for the frequency part, don't always "or" it
- use a "clever"(?) macro to shorten the code
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Andreas Mohr [Mon, 27 Dec 2010 20:16:43 +0000 (21:16 +0100)]
ALSA: azt3328: cosmetics, minor updates
- correct samples to be POSIX shell compatible
- add logging of jiffies value in _pointer()
- several comments
- cleanup
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 30 Dec 2010 12:26:40 +0000 (13:26 +0100)]
Merge branch 'fix/hda' into for-next
Daniel T Chen [Tue, 28 Dec 2010 22:20:02 +0000 (17:20 -0500)]
ALSA: hda: Use LPIB quirk for Dell Inspiron m101z/1120
Sjoerd Simons reports that, without using position_fix=1, recording
experiences overruns. Work around that by applying the LPIB quirk
for his hardware.
Reported-and-tested-by: Sjoerd Simons <sjoerd@debian.org>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 30 Dec 2010 12:23:51 +0000 (13:23 +0100)]
Merge branch 'topic/asoc' into for-next
Takashi Iwai [Thu, 30 Dec 2010 12:23:45 +0000 (13:23 +0100)]
Merge branch 'fix/misc' into for-next
Dan Rosenberg [Sat, 25 Dec 2010 21:23:40 +0000 (16:23 -0500)]
sound: Prevent buffer overflow in OSS load_mixer_volumes
The load_mixer_volumes() function, which can be triggered by
unprivileged users via the SOUND_MIXER_SETLEVELS ioctl, is vulnerable to
a buffer overflow. Because the provided "name" argument isn't
guaranteed to be NULL terminated at the expected 32 bytes, it's possible
to overflow past the end of the last element in the mixer_vols array.
Further exploitation can result in an arbitrary kernel write (via
subsequent calls to load_mixer_volumes()) leading to privilege
escalation, or arbitrary kernel reads via get_mixer_levels(). In
addition, the strcmp() may leak bytes beyond the mixer_vols array.
Signed-off-by: Dan Rosenberg <drosenberg@vsecurity.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Kuninori Morimoto [Mon, 27 Dec 2010 04:42:20 +0000 (13:42 +0900)]
fbdev: sh_mobile_hdmi: fixup compile error
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Wed, 29 Dec 2010 13:05:21 +0000 (13:05 +0000)]
ASoC: Yet more x86 tracepoint workarounds
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Tue, 28 Dec 2010 23:42:53 +0000 (23:42 +0000)]
Merge branch 'for-2.6.37' into for-2.6.38
Lars-Peter Clausen [Tue, 28 Dec 2010 20:37:55 +0000 (21:37 +0100)]
ASoC: codecs: Remove unused reg_cache fields from device structs
The multi-component patch(commit
f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but there are quite a few drivers left which now have an unused reg_cache field in
their private device struct.
This patch removes these unused fields.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Tue, 28 Dec 2010 20:38:03 +0000 (21:38 +0100)]
ASoC: codecs: wm8753: Fix register cache incoherency
The multi-component patch(commit
f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm8753 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Furthermore the generic cache uses zero-based numbering while the wm8753 cache
uses one-based numbering.
Thus we end up with two from each other incoherent caches, which leads to undefined
behaviour and crashes.
This patch fixes the issue by changing the wm8753 driver to use the generic
register cache in its private functions.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Tue, 28 Dec 2010 20:38:02 +0000 (21:38 +0100)]
ASoC: codecs: wm9090: Fix register cache incoherency
The multi-component patch(commit
f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm9090 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the wm9090 driver to use the
generic register cache in its private functions.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
Lars-Peter Clausen [Tue, 28 Dec 2010 20:38:01 +0000 (21:38 +0100)]
ASoC: codecs: wm8962: Fix register cache incoherency
The multi-component patch(commit
f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm8962 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the wm8962 driver to use the
generic register cache in its private functions.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
Lars-Peter Clausen [Tue, 28 Dec 2010 20:38:00 +0000 (21:38 +0100)]
ASoC: codecs: wm8955: Fix register cache incoherency
The multi-component patch(commit
f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm8955 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the wm8955 driver to use the
generic register cache in its private functions.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
Lars-Peter Clausen [Tue, 28 Dec 2010 20:37:59 +0000 (21:37 +0100)]
ASoC: codecs: wm8904: Fix register cache incoherency
The multi-component patch(commit
f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm8904 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the wm8904 driver to use the
generic register cache in its private functions.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Ian Lartey <ian@opensource.wolfsonmicro.com>
Cc: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
Lars-Peter Clausen [Tue, 28 Dec 2010 20:37:58 +0000 (21:37 +0100)]
ASoC: codecs: wm8741: Fix register cache incoherency
The multi-component patch(commit
f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm8741 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the wm8741 driver to use the
generic register cache in its private functions.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Ian Lartey <ian@opensource.wolfsonmicro.com>
Cc: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
Lars-Peter Clausen [Tue, 28 Dec 2010 20:37:57 +0000 (21:37 +0100)]
ASoC: codecs: wm8523: Fix register cache incoherency
The multi-component patch(commit
f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the wm8523 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the wm8523 driver to use the
generic register cache in its private functions.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Ian Lartey <ian@opensource.wolfsonmicro.com>
Cc: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
Lars-Peter Clausen [Tue, 28 Dec 2010 20:37:56 +0000 (21:37 +0100)]
ASoC: codecs: max98088: Fix register cache incoherency
The multi-component patch(commit
f0fba2ad1) moved the allocation of the
register cache from the driver to the ASoC core. Most drivers where adjusted to
this, but the max98088 driver still uses its own register cache for its
private functions, while functions from the ASoC core use the generic cache.
Thus we end up with two from each other incoherent caches, which can lead to
undefined behaviour.
This patch fixes the issue by changing the max98088 driver to use the
generic register cache in its private functions.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Peter Hsiang <Peter.Hsiang@maxim-ic.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
Lars-Peter Clausen [Tue, 28 Dec 2010 20:08:57 +0000 (21:08 +0100)]
ASoC: codecs: Add missing control_type initialization
Some codec drivers do not initialize the control_type field in their private
device struct, but still use it when calling snd_soc_codec_set_cache_io.
This patch fixes the issue by properly initializing it in the drivers probe
functions.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
Mark Brown [Tue, 28 Dec 2010 02:14:25 +0000 (02:14 +0000)]
ASoC: One more x86 typo fix
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Mon, 27 Dec 2010 17:51:52 +0000 (17:51 +0000)]
Merge branch 'topic/asoc' of git://git./linux/kernel/git/tiwai/sound-2.6 into for-2.6.38
Mark Brown [Fri, 24 Dec 2010 16:59:36 +0000 (16:59 +0000)]
ASoC: Fix double comment start
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Mon, 27 Dec 2010 15:30:45 +0000 (15:30 +0000)]
ASoC: Fix typo in x86 workaround
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Thu, 23 Dec 2010 12:03:07 +0000 (12:03 +0000)]
ASoC: Remove WM8995 write sequencer bitfield definitions
They're very verbose and extremely repetitive so bulk up the kernel more
than is ideal. If required we can readd with WRITE_SEQUENCER_n type
definitions that cover the entire register bank in a few defines.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Thu, 23 Dec 2010 11:17:24 +0000 (11:17 +0000)]
ASoC: Remove incorrect WM8903 erratum workaround
Due to a typographical error in the erratum workaround it was never
functional so just remove it.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Takashi Iwai [Thu, 23 Dec 2010 15:37:39 +0000 (16:37 +0100)]
Merge branch 'fix/hda' into for-next
Takashi Iwai [Thu, 23 Dec 2010 15:37:31 +0000 (16:37 +0100)]
Merge branch 'fix/hda' into for-linus
Takashi Iwai [Thu, 23 Dec 2010 15:35:34 +0000 (16:35 +0100)]
ALSA: hda - Fix GPIO2-fixup for Sony laptops
The fix-up entries by the commit
2785591a9760c677a7ee6f541e751c23086f5bfd
ALSA: hda - Add fix-up for Sony VAIO with ALC275 codecs
weren't applied in the right position. They had to be before the quirk
entry matching to all Sony devices.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 23 Dec 2010 12:40:20 +0000 (13:40 +0100)]
Merge branch 'topic/asoc' into for-next
Takashi Iwai [Thu, 23 Dec 2010 12:39:59 +0000 (13:39 +0100)]
Merge branch 'for-2.6.38' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc
Takashi Iwai [Thu, 23 Dec 2010 09:28:26 +0000 (10:28 +0100)]
Merge branch 'fix/misc' into for-linus
Takashi Iwai [Thu, 23 Dec 2010 09:23:48 +0000 (10:23 +0100)]
Merge branch 'fix/hda' into for-next
Takashi Iwai [Thu, 23 Dec 2010 09:17:52 +0000 (10:17 +0100)]
ALSA: hda - Try to find an empty control index when it's occupied
When a mixer control element was already created with the given name,
try to find another index for avoiding conflicts, instead of breaking
with an error. This makes the driver more robust.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 23 Dec 2010 09:16:05 +0000 (10:16 +0100)]
ALSA: hda - Fix conflict of d-mic capture volume controls
When the d-mics are assigned to the same purpose of another analog mic
pins, the driver doesn't compute the index properly, resulting in an
error with "existing control". This patch fixes it.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Thu, 23 Dec 2010 01:56:20 +0000 (01:56 +0000)]
ASoC: ifdef out trace points from modules for x86
No idea why this works on ARM but not x86.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Dimitris Papastamos [Wed, 22 Dec 2010 11:33:11 +0000 (11:33 +0000)]
ASoC: Add initial WM8995 driver
The WM8995 is a digital audio hub CODEC designed for smartphones.
The current driver supports most of the basic functionality of the
WM8995.
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>
Takashi Iwai [Wed, 22 Dec 2010 13:10:03 +0000 (14:10 +0100)]
Merge branch 'topic/asoc' into for-next
Takashi Iwai [Wed, 22 Dec 2010 13:08:40 +0000 (14:08 +0100)]
ASoC: don't pass the string as the format arguemtn for dev_info()
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Wed, 22 Dec 2010 11:18:03 +0000 (12:18 +0100)]
Merge branch 'topic/asoc' into for-next
Seungwhan Youn [Wed, 22 Dec 2010 09:46:24 +0000 (18:46 +0900)]
ASoC: SAMSUNG: Debug wrong parameter
snd_soc_jack_new()'s first parameter was changed from snd_soc_card to
snd_soc_codec after Multi-Component support patches. So, this patch
fixes parameter that we missed.
Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Sun, 5 Dec 2010 12:53:08 +0000 (12:53 +0000)]
ASoC: Add jack IRQ trace to 88pm860x driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Sun, 5 Dec 2010 12:50:12 +0000 (12:50 +0000)]
ASoC: Trace Wolfson jack detection IRQs
Add jack detection interrupt trace to Wolfson CODEC drivers.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Sun, 5 Dec 2010 12:41:52 +0000 (12:41 +0000)]
ASoC: Use delayed work to debounce WM8350 jack IRQs
This avoids blocking the IRQ thread and allows further bounces to extend
the debounce time.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Kuninori Morimoto [Mon, 20 Dec 2010 01:03:13 +0000 (10:03 +0900)]
ASoC: sh: fsi: modify improper dependent
FSI-AK4642 and FSI-DA7210 are depend on I2C, not I2C_SH_MOBILE
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Tue, 21 Dec 2010 17:19:56 +0000 (17:19 +0000)]
ASoC: Make LZO cache compression optional
Make LZO cache compression optional as it pulls in the kernel wide LZO
implementation and rbtree compression is generally more efficient for
typical register maps, especially in terms of CPU performance.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Tue, 21 Dec 2010 17:09:48 +0000 (17:09 +0000)]
ASoC: If we can't find a cache compression type default to flat
This makes it easier to make cache types build time configurable as we
don't have a hard dependency on a given cache being built in.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Mon, 20 Dec 2010 14:35:09 +0000 (14:35 +0000)]
ASoC: Fix WM8994/58 3D stereo control definitions
Cut'n'paste in the register names.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Mon, 20 Dec 2010 20:53:25 +0000 (20:53 +0000)]
ASoC: Remove some unused defines from WM8903
These would have been used if we'd done manual clock divider setup,
but we didn't.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Takashi Iwai [Tue, 21 Dec 2010 08:16:35 +0000 (09:16 +0100)]
Merge branch 'fix/hda' into for-next
Kailang Yang [Tue, 21 Dec 2010 08:14:13 +0000 (09:14 +0100)]
ALSA: hda - Don't apply ALC269-specific initialization to ALC275
ALC275 doesn't require the ALC269 (and its variants) specific init
sequences. Add the check of codec id.
Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Kailang Yang [Tue, 21 Dec 2010 08:09:53 +0000 (09:09 +0100)]
ALSA: hda - Add fix-up for Sony VAIO with ALC275 codecs
Set GPIO2 for some Sony VAIO with ALC275 to fix speaker output.
Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 21 Dec 2010 07:03:41 +0000 (08:03 +0100)]
Merge branch 'fix/misc' into for-next
Jesper Juhl [Mon, 20 Dec 2010 23:03:17 +0000 (00:03 +0100)]
ALSA: pcm: remember to always call va_end() on stuff that we va_start()
The Coverity checker spotted that we do not always remember to call
va_end() on 'args' in failure paths in snd_pcm_hw_rule_add().
Here's a patch to fix that up (compile tested only) - it also removes
some annoying trailing whitespace that caught my eye while I was in the
area..
Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 20 Dec 2010 13:59:55 +0000 (14:59 +0100)]
Merge branch 'topic/hda' into for-next
David Henningsson [Mon, 20 Dec 2010 13:50:59 +0000 (14:50 +0100)]
ALSA: HDA: Rename "e-Mic" and "i-Mic" to "Mic" and "Internal Mic"
Change non-standard mic control names to standard control names
to clean up the namespace.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
David Henningsson [Mon, 20 Dec 2010 13:43:54 +0000 (14:43 +0100)]
ALSA: HDA: Rename "Ext Mic" and "External Mic" to "Mic"
Usually external microphones are just labelled "Mic", so rename
"Ext Mic" and "External Mic" to "Mic" to clear up the namespace.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
David Henningsson [Mon, 20 Dec 2010 13:24:29 +0000 (14:24 +0100)]
ALSA: HDA: Rename "Int Mic" to "Internal Mic"
"Int Mic" and "Internal Mic" both mean the same thing, so rename
the former to the latter in order to clean up the namespace a little.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jassi Brar [Mon, 20 Dec 2010 02:05:57 +0000 (11:05 +0900)]
ASoC: SMDKV310: Add I2S support
Add ASoC machine driver for SMDKV310/C210 boards that have
a WM8994 attached to I2S-0.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jassi Brar [Mon, 20 Dec 2010 02:05:56 +0000 (11:05 +0900)]
ASoC: SMDKV310: Enable AC97 device
Enable AC97 audio device on SMDKV310/C210.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jassi Brar [Mon, 20 Dec 2010 02:05:55 +0000 (11:05 +0900)]
ASoC: SMDKC110: Enable I2S device
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jassi Brar [Mon, 20 Dec 2010 02:05:53 +0000 (11:05 +0900)]
ASoC: SMDKV210: Enable I2S device
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jassi Brar [Mon, 20 Dec 2010 02:05:52 +0000 (11:05 +0900)]
ASoC: SMDK6442: Enable I2S device
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jassi Brar [Mon, 20 Dec 2010 02:05:51 +0000 (11:05 +0900)]
ASoC: SMDK6450: Enable I2S device
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jassi Brar [Mon, 20 Dec 2010 02:05:50 +0000 (11:05 +0900)]
ASoC: SMDK6440: Enable I2S device
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jassi Brar [Mon, 20 Dec 2010 02:05:48 +0000 (11:05 +0900)]
ASoC: SMDK_WM8580: Make I2S0 as default dai
Since most newer SMDKs have I2S0 routed to the WM8580's Primary DAI,
future changes can be minimized if the default CPU DAIs are set to
0, rather than 2.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jassi Brar [Mon, 20 Dec 2010 02:05:47 +0000 (11:05 +0900)]
ASoC: Samsung: I2S: Flush FIFO after stop
Flush the FIFO while stopping the channel rather than starting.
This saves time during stream start and keeps the FIFOs clean
when the channel is idling.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jassi Brar [Mon, 20 Dec 2010 02:05:46 +0000 (11:05 +0900)]
ASoC: Samsung: Set default rclk source rate
Since the rclk_srcrate is cleared upon startup, it should be
initialized upon second and later 'open' calls to the device
with same root-clock source. The bug is otherwise visible in
Codec-Slave mode.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Mon, 20 Dec 2010 09:28:58 +0000 (10:28 +0100)]
Merge branch 'fix/hda' into for-next
Takashi Iwai [Mon, 20 Dec 2010 09:28:51 +0000 (10:28 +0100)]
Merge branch 'fix/hda' into topic/hda
David Henningsson [Fri, 17 Dec 2010 19:43:04 +0000 (20:43 +0100)]
ALSA: HDA: Add auto-mute for Thinkpad SL410/SL510
BugLink: http://launchpad.net/bugs/580006
SKU turns off auto-mute for these machines, so ignore the SKU.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Fri, 17 Dec 2010 17:37:28 +0000 (17:37 +0000)]
Merge branch 'topic/asoc' of git://git./linux/kernel/git/tiwai/sound-2.6 into for-2.6.38
Dimitris Papastamos [Thu, 16 Dec 2010 15:53:39 +0000 (15:53 +0000)]
ASoC: soc-dapm: Introduce the new snd_soc_dapm_virt_mux type
This new type is a virtual version of snd_soc_dapm_mux. It is used
when a backing register value is not necessary for deciding which
input path to connect. A simple virtual enumeration control e.g.
SOC_DAPM_ENUM_VIRT() can be exposed to userspace which will be used
to choose which path to connect.
The snd_soc_dapm_virt_mux type ensures that during the initial
path setup, the first (which is also the default) input path will
be connected.
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>
Takashi Iwai [Fri, 17 Dec 2010 15:45:11 +0000 (16:45 +0100)]
Merge branch 'topic/asoc' into for-next
Takashi Iwai [Fri, 17 Dec 2010 15:43:17 +0000 (16:43 +0100)]
Merge branch 'for-2.6.38' of git://git./linux/kernel/git/lrg/asoc-2.6 into topic/asoc
Takashi Iwai [Fri, 17 Dec 2010 14:28:37 +0000 (15:28 +0100)]
Merge branch 'fix/asoc' into for-linus
Takashi Iwai [Fri, 17 Dec 2010 14:28:33 +0000 (15:28 +0100)]
Merge branch 'fix/hda' into for-linus
Takashi Iwai [Fri, 17 Dec 2010 14:28:25 +0000 (15:28 +0100)]
Merge branch 'fix/hda' into for-next
Takashi Iwai [Fri, 17 Dec 2010 14:23:41 +0000 (15:23 +0100)]
ALSA: hda - Fix conflict of Mic Boot controls
Due to the recent change for multiple mics assignment, we need to handle
the index of each Mic Boost control respectively. Otherwise the driver
gets the control element conflicts, and gives the unsable state.
Reference: kernel bug 25002
https://bugzilla.kernel.org/show_bug.cgi?id=25002
Reported-and-tested-by: Adam Williamson <awilliam@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Kuninori Morimoto [Fri, 17 Dec 2010 03:55:22 +0000 (12:55 +0900)]
ASoC: sh: fsi: Add over/under run counter
Current FSI driver had printed under/over run error
if status register have its error bit.
But runtime print cause the next error
because print out is slow.
This patch add error counter and print error when sound stop
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Kuninori Morimoto [Fri, 17 Dec 2010 03:52:56 +0000 (12:52 +0900)]
ASoC: sh: fsi: move fsi_irq_enable function to fsi_dai_trigger
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Tue, 14 Dec 2010 16:13:57 +0000 (16:13 +0000)]
ASoC: Do DAPM control updates in the middle of DAPM sequences
Attempt to minimise audible effects from mixer and mux updates by
implementing the actual register changes between powering down widgets
that have become unused and powering up widgets that are newly used.
This means that we're making the change with the minimum set of widgets
powered, that the input path is connected when we're powering up widgets
(so things like DC offset correction can run with their signal active)
and that we bring things down to cold before switching away. Since
hardware tends to be designed for the power on/off case more than for
dynamic reconfiguration this should minimise pops and clicks during
reconfiguration while active.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Tested-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Takashi Iwai [Thu, 16 Dec 2010 16:56:20 +0000 (17:56 +0100)]
Merge branch 'topic/hda' into for-next
Takashi Iwai [Thu, 16 Dec 2010 16:55:42 +0000 (17:55 +0100)]
ALSA: hda - Clean up dead code in patch_realtek.c
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 16 Dec 2010 16:19:56 +0000 (17:19 +0100)]
Merge branch 'topic/hda' into for-next
Anisse Astier [Thu, 16 Dec 2010 11:19:47 +0000 (12:19 +0100)]
ALSA: hda - factorize an automute_mic realtek quirk function
Multiple quirk functions were using the exact same code to verify if the Mic
jack was plugged and mute the Mic accordingly
Signed-off-by: Anisse Astier <anisse@astier.eu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Margarita Olaya Cabrera [Wed, 15 Dec 2010 01:00:21 +0000 (19:00 -0600)]
ASoC: twl6040: Add ramp up/down volume for HS and HF
Add ramp functions for the headset and handsfree outputs
in order to reduce the pops during power on/off sequences.
In order to give more control to volume ramp, step size and delay
between steps can be specified.
The patches are based on wm8350 implementation from Liam
Girdwood.
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Olaya, Margarita [Wed, 15 Dec 2010 01:18:36 +0000 (19:18 -0600)]
ASoC: twl6040: Set default gains to minimun value
Updated default values to improve power consumption.
Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Jarkko Nikula [Tue, 14 Dec 2010 10:18:32 +0000 (12:18 +0200)]
ASoC: Extend DAPM to handle power changes on cross-device paths
Power change event like stream start/stop or kcontrol change in a
cross-device path originates from one device but codec bias and widget power
changes must be populated to another devices on that path as well.
This patch modifies the dapm_power_widgets so that all the widgets on a
sound card are checked for a power change, not just those that are specific
to originating device. Also bias management is extended to check all the
devices. Only exception in bias management are widgetless codecs whose bias
state is changed only if power change is originating from that context.
DAPM context test is added to dapm_seq_run to take care of if power sequence
extends to an another device which requires separate register writes.
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>
Jarkko Nikula [Tue, 14 Dec 2010 10:18:31 +0000 (12:18 +0200)]
ASoC: Move widgets from DAPM context to snd_soc_card
Decoupling widgets from DAPM context is required when extending the ASoC
core to cross-device paths. Even the list of widgets are now kept in
struct snd_soc_card, the widget listing in sysfs and debugs remain sorted
per device.
This patch makes possible to build cross-device paths but does not extend
yet the DAPM to handle codec bias and widget power changes of an another
device.
Cross-device paths are registered by listing the widgets from device A in
a map for device B. In case of conflicting widget names between the devices,
a uniform name prefix is needed to separate them. See commit ead9b91
"ASoC: Add optional name_prefix for kcontrol, widget and route names" for
help.
An example below shows a path that connects MONO out of A into Line In of B:
static const struct snd_soc_dapm_route mapA[] = {
{"MONO", NULL, "DAC"},
};
static const struct snd_soc_dapm_route mapB[] = {
{"Line In", NULL, "MONO"},
};
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>
Jarkko Nikula [Tue, 14 Dec 2010 10:18:30 +0000 (12:18 +0200)]
ASoC: Move DAPM paths from DAPM context to snd_soc_card
Decoupling DAPM paths from DAPM context is a first prerequisite when
extending ASoC core to cross-device paths. This patch is almost a nullop and
does not allow to construct cross-device setup but the path clean-up part in
dapm_free_widgets is prepared to remove cross-device paths between a device
being removed and others.
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>
Mark Brown [Tue, 14 Dec 2010 17:16:56 +0000 (17:16 +0000)]
ASoC: Remove unused DAPM_DOUBLE control types
There are no users of these and it's not clear what they would do given
the mono flow modelling which DAPM does. If need arises we can add them
again.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Takashi Iwai [Wed, 15 Dec 2010 08:46:00 +0000 (09:46 +0100)]
Merge branch 'fix/hda' into for-next
David Henningsson [Wed, 15 Dec 2010 08:18:18 +0000 (09:18 +0100)]
ALSA: HDA: Enable subwoofer on Asus G73Jw
Set default association/sequence right on pin 0x17 in order for
the automatic parser to recognize the subwoofer correctly.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Wed, 15 Dec 2010 07:18:01 +0000 (08:18 +0100)]
Merge branch 'fix/hda' into for-next