Takashi Iwai [Mon, 16 May 2011 12:24:07 +0000 (14:24 +0200)]
Merge branch 'topic/hda' into for-next
David Henningsson [Mon, 16 May 2011 10:09:29 +0000 (12:09 +0200)]
ALSA: HDA: Use one dmic only for Dell Studio 1558
There are no signs of a dmic at node 0x0b, so the user is left with
an additional internal mic which does not exist. This commit removes
that non-existing mic.
Cc: stable@kernel.org (2.6.32+)
BugLink: http://bugs.launchpad.net/bugs/731706
Reported-by: James Page <james.page@canonical.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 16 May 2011 09:52:56 +0000 (11:52 +0200)]
Merge branch 'topic/hda' into for-next
Takashi Iwai [Mon, 16 May 2011 09:49:12 +0000 (11:49 +0200)]
ALSA: hda - Add support of auto-parser to cxt5066 codecs
Still experimental.
Not enabled as default unless model=auto is passed.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 16 May 2011 09:45:15 +0000 (11:45 +0200)]
ALSA: hda - Don't create multiple same volume/boost controls in Cxt auto-parser
Check the routing more exactly for avoiding the duplicated controls for
the very same effect for multiple capture routes in Conexant auto-parser.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 16 May 2011 09:33:02 +0000 (11:33 +0200)]
ALSA: hda - Build boost controls from selector widget in Cxt auto-parser
When the intermediate selector widget in the capture path provides the
boost volume, create the corresponding volume control.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Sun, 15 May 2011 10:36:27 +0000 (12:36 +0200)]
Merge branch 'topic/hda' into for-next
Takashi Iwai [Sun, 15 May 2011 10:35:04 +0000 (12:35 +0200)]
ALSA: hda - Don't use auto-parser for cxt5045 / 5051 as default
Just for safety reason (for avoiding any possible regressions), don't
enable auto-parser as default for cxt5045 and 5051, as well as 5047.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Sun, 15 May 2011 10:21:20 +0000 (12:21 +0200)]
ALSA: hda - Enable codec->pin_amp_workaround always for Conexant auto-parser
It can (must for some) be used for all Conexnat codecs safely.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Sun, 15 May 2011 10:19:29 +0000 (12:19 +0200)]
ALSA: hda - Search ADC NIDs dynamically in Conexant auto-parser
Instead of giving fixed arrays, look for ADC nids dynamically in the
tree in Conexant auto-parser code.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Sun, 15 May 2011 09:44:24 +0000 (11:44 +0200)]
Merge branch 'topic/misc' into for-next
Ondrej Zary [Sat, 14 May 2011 20:51:01 +0000 (22:51 +0200)]
ALSA: fm801: clean-up radio-related Kconfig
Remove TEA575X_RADIO define from fm801.c.
Also update Kconfig help text to include all supported cards.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 13 May 2011 17:43:55 +0000 (19:43 +0200)]
Merge branch 'topic/misc' into for-next
Ondrej Zary [Thu, 12 May 2011 20:18:22 +0000 (22:18 +0200)]
ALSA: tea575x: use better card and bus names
Provide real card and bus_info instead of hardcoded values.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Ondrej Zary [Thu, 12 May 2011 20:18:09 +0000 (22:18 +0200)]
ALSA: tea575x: remove unused card from struct
struct snd_card *card is present in struct snd_tea575x but never used.
Remove it.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Ondrej Zary [Thu, 12 May 2011 20:17:56 +0000 (22:17 +0200)]
ALSA: tea575x: remove freq_fixup from struct
freq_fixup is a constant, no need to hold it in struct snd_tea575x and set in
each driver.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 13 May 2011 17:40:09 +0000 (19:40 +0200)]
Merge branch 'topic/hda' into for-next
Takashi Iwai [Fri, 13 May 2011 17:33:18 +0000 (19:33 +0200)]
ALSA: hda - Add support of auto-parser to cxt5047 / CX20551 Waikiki
Similarly like other Conexant codecs, now model=auto is supported for
cxt5047.
But the auto-parser mode isn't activated as default yet, since BIOS
pin-configs seem often broken on machines with this codec. User need
to pass model=auto explicitly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 13 May 2011 16:36:37 +0000 (18:36 +0200)]
ALSA: hda - Parse more deep input-source routes in Conexant auto-parser
Handle not only a single-depth input-route but two-level depth routes
(PIN->MUX->ADC), too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 13 May 2011 16:26:39 +0000 (18:26 +0200)]
ALSA: hda - Clean up input-mux handling in Conexant auto-parser
Keep the registered input-pins in imux_pins[], and fix the inconsistent
use of sepc->auto_mic_ext.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 13 May 2011 15:22:05 +0000 (17:22 +0200)]
ALSA: hda - Add auto-parser support to cxt5045 / CX20549 Venice
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 13 May 2011 14:52:25 +0000 (16:52 +0200)]
ALSA: hda - Add auto-parser support to cxt5051 / CX20561 Hermosa
Extend the existing auto-parser for CX2064x for cxt5051 codec.
Now the auto-parser supports ADC-switching for this codec.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 13 May 2011 14:43:12 +0000 (16:43 +0200)]
ALSA: hda - Check AMP CAP at initialization of Conexant auto-parser
Some codecs have no mute caps in audio I/O widgets.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 13 May 2011 14:24:15 +0000 (16:24 +0200)]
ALSA: hda - Turn on EAPD dynamically per jack plug in Conexant auto mode
Instead of keeping always EAPD on, turn on/off appropriately at jack
plugging in Conexant auto-parser mode.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 13 May 2011 14:18:37 +0000 (16:18 +0200)]
ALSA: hda - Fix auto-mic for CX2064x codecs
The wrong id is assigned for external/internal mics in the auto-mic
selection parser.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Wed, 11 May 2011 12:53:29 +0000 (14:53 +0200)]
Merge branch 'topic/misc' into for-next
Clemens Ladisch [Wed, 11 May 2011 09:07:09 +0000 (11:07 +0200)]
ALSA: isight: fix locking
Lockdep complains about conflicts between isight->mutex,
ALSA's register_mutex, mm->mmap_sem, and pcm->open_mutex.
This can be fixed by moving the calls to isight_pcm_abort(),
snd_card_disconnect(), and fw_iso_resources_update() out of
isight->mutex. These functions are designed to be called
asynchronously; the mutex needs to protect only the device
streaming state modified by isight_start/stop_streaming().
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Reported-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch [Wed, 11 May 2011 08:54:41 +0000 (10:54 +0200)]
ALSA: isight: remove experimental status
Experiments have shown this driver to work now.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Tested-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch [Wed, 11 May 2011 08:53:12 +0000 (10:53 +0200)]
ALSA: isight: fix hang when unplugging a running device
When aborting a PCM stream, the xrun is signaled only if the stream is
running. When disconnecting a PCM stream, calling snd_card_disconnect()
too early would change the stream into a non-running state and thus
prevent the xrun from being noticed by user space.
To prevent this, move the snd_card_disconnect() call after the xrun.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Stefan Richter [Wed, 11 May 2011 08:52:21 +0000 (10:52 +0200)]
ALSA: isight: wrap up register accesses
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
[cl: removed superfluous variable]
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Stefan Richter [Wed, 11 May 2011 08:49:58 +0000 (10:49 +0200)]
ALSA: isight: add AudioEnable register write
which is needed to get the iSight to talk.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch [Wed, 11 May 2011 08:49:02 +0000 (10:49 +0200)]
ALSA: isight: fix divide error when queueing packets
Set the .header_size field when queueing packets to avoid a division by
zero.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch [Wed, 11 May 2011 08:48:24 +0000 (10:48 +0200)]
ALSA: isight: fix packet requeueing
After handling a received packet, we want to resubmit the same packet,
so do not increase the packet index too early.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch [Wed, 11 May 2011 08:47:30 +0000 (10:47 +0200)]
ALSA: isight: fix isight_pcm_abort() crashes
Fix crashes in isight_pcm_abort() that happen when the driver tries to
access isight->pcm->runtime which does not exist when the device is not
open. Introduce a new field pcm_active to track this state.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Reported-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch [Wed, 11 May 2011 08:44:51 +0000 (10:44 +0200)]
ALSA: add Apple iSight microphone driver
This adds an experimental driver for the front and rear microphones of
the Apple iSight web camera.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Wed, 11 May 2011 10:46:08 +0000 (12:46 +0200)]
Merge branch 'topic/asoc' into for-next
Takashi Iwai [Wed, 11 May 2011 08:54:15 +0000 (10:54 +0200)]
Merge branch 'topic/misc' into for-next
Ondrej Zary [Tue, 10 May 2011 21:24:15 +0000 (23:24 +0200)]
ALSA: fm801: implement TEA575x tuner autodetection
Autodetect TEA575x tuner connection type during init. This allows tuner to
work out-of-the box.
tea575x_tuner module parameter remains functional to force tuner type.
Tested with SF256-PCP and SF64-PCR.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Tue, 10 May 2011 13:58:17 +0000 (15:58 +0200)]
Merge branch 'for-2.6.39' into for-2.6.40
Stephen Warren [Mon, 9 May 2011 22:32:03 +0000 (16:32 -0600)]
ASoC: WM8903: Fix Digital Capture Volume range
Increase the range of the Digital Capture Volume control to be 120 steps.
Each step is 0.75dB, and the range starts at -72dB, giving a max setting
of 18dB, which matches the latest datasheet, to the precision of the step
size.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Tue, 10 May 2011 07:32:12 +0000 (09:32 +0200)]
Merge branch 'topic/misc' into for-next
Ondrej Zary [Mon, 9 May 2011 21:39:51 +0000 (23:39 +0200)]
ALSA: fm801: convert TEA575x support to new interface
Use common functions to access TEA575x tuner - remove original read/write
functions and provide new pin manipulation functions instead.
Also convert the original triple implementation to a simple GPIO pin map.
Tested with SF256-PCP and SF64-PCR (added the GPIO pin for MO/ST signal
for them).
SF256-PCS untested (pin for MO/ST signal is a guess).
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Ondrej Zary [Mon, 9 May 2011 21:39:37 +0000 (23:39 +0200)]
ALSA: es1968: convert TEA575x support to new interface
Use common functions to access TEA575x tuner - remove original read/write
functions and provide new pin manipulation functions instead.
Tested with SF64-PCE2 card.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Ondrej Zary [Mon, 9 May 2011 21:39:26 +0000 (23:39 +0200)]
ALSA: tea575x: unify read/write functions
Implement generic read/write functions to access TEA575x tuners. They're now
implemented 4 times (once in es1968 and 3 times in fm801).
This also allows mute to work on all cards.
Also improve tuner detection/initialization.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 10 May 2011 07:28:46 +0000 (09:28 +0200)]
Merge branch 'topic/asoc' into for-next
Takashi Iwai [Tue, 10 May 2011 07:24:50 +0000 (09:24 +0200)]
Merge branch 'for-2.6.40' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc
Takashi Iwai [Tue, 10 May 2011 07:20:19 +0000 (09:20 +0200)]
Merge branch 'for-2.6.40' of git://git./linux/kernel/git/lrg/asoc-2.6 into topic/asoc
Lars-Peter Clausen [Sun, 8 May 2011 16:24:46 +0000 (09:24 -0700)]
ASoC: SSM2602: Provide dB ranges for the volume controls
Also fix the maximum value for the capture volume control.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Sun, 8 May 2011 16:24:45 +0000 (09:24 -0700)]
ASoC: SSM2602: Model power supply for the digital core as a DAPM widget
Model the power supply for the digital core as a DAPM_SUPPLY widget. This allows
to cleanup the code a bit.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Sun, 8 May 2011 16:24:44 +0000 (09:24 -0700)]
ASoC: SSM2602: Add entry for the ssm2603 to the device id table
The SSM2603 is mostly register compatible with the SSM2602 and can be supported
by the current driver without any changes.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Sun, 8 May 2011 16:24:43 +0000 (09:24 -0700)]
ASoC: SSM2602: Add SSM2604 support
The SSM2604 is basically a lightweight variant of the SSM2602 with a compatible
register layout. Thus we can easily support both devices by the same driver,
by providing a slightly set of controls, widgets and routes.
Compared to the SSM2602 the SSM2604 has no microphone input and no headphone
output.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Sun, 8 May 2011 16:24:42 +0000 (09:24 -0700)]
ASoC: SSM2602: Do not power the codec up in probe
It is not required to have the codec powered at this stage and DAPM will power
the ADC and DAC down again after probe has run anyway.
Thus we avoid some unnecessary writes by this change.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Sun, 8 May 2011 16:24:41 +0000 (09:24 -0700)]
ASoC: SSM2602: Fix default register cache
Some of the values in the default register cache did not represent the codecs
state after reset. This patch fixes it.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Sun, 8 May 2011 14:33:41 +0000 (15:33 +0100)]
Merge branch 'for-2.6.39' into for-2.6.40
Marek Belisko [Tue, 3 May 2011 12:46:32 +0000 (14:46 +0200)]
ASoC: UDA134x: Remove POWER_OFF_ON_STANDBY define.
Define POWER_OFF_ON_STANDBY cause trobles when trying to get some
sound from codec because code for bias setup was not compiled
(define wasn't defined). This define was removed in commit:
cc3202f5 but again introduced by commit:
f0fba2ad1 which then
completely break codec functionality so remove it again.
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
Lars-Peter Clausen [Thu, 5 May 2011 14:59:13 +0000 (16:59 +0200)]
ASoC: SSM2602: Remove unused struct and define
Those are leftovers from a pre-multicomponent era.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Thu, 5 May 2011 14:59:11 +0000 (16:59 +0200)]
ASoC: SSM2602: Remove duplicate control
There are currently two controls which allow selecting the capture source, one
as a normal control, the other as part of a DAPM_MUX widget.
Remove the normal control.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Thu, 5 May 2011 14:59:10 +0000 (16:59 +0200)]
ASoC: SSM2602: Cleanup coeff handling
Drop unused field from the coeff struct, precalculate the srate register at
compile-time and cleanup up the naming.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Sun, 8 May 2011 13:43:18 +0000 (14:43 +0100)]
Merge branch 'for-2.6.39' into for-2.6.40
Lars-Peter Clausen [Thu, 5 May 2011 14:59:14 +0000 (16:59 +0200)]
ASoC: SSM2602: Fix reg_cache_size
reg_cache_size is supposed to be the number of elements in the register cache,
not the size in bytes.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Thu, 5 May 2011 14:59:16 +0000 (16:59 +0200)]
ASoC: SSM2602: Fix 'Mic Boost2' control
The 'Mic Boost2' control's shift was off by one and thus was not working.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
Lars-Peter Clausen [Thu, 5 May 2011 14:59:12 +0000 (16:59 +0200)]
ASoC: SSM2602: Properly annotate i2c probe and remove functions
Annotate the i2c probe and remove functions with __devinit and __devexit.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Dimitris Papastamos [Thu, 5 May 2011 13:18:11 +0000 (14:18 +0100)]
ASoC: soc-cache: Allow codec->cache_bypass to be used with snd_soc_hw_bulk_write_raw()
If we specifically want to write a block of data to the hw bypassing the
cache, then allow this to happen inside snd_soc_hw_bulk_write_raw().
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Thu, 5 May 2011 14:59:09 +0000 (16:59 +0200)]
ASoC: Create codec DAPM widgets before calling the codecs probe function
This allows to create DAPM routes depending on those widgets in the
codecs probe function. This is helpful when supporting similar codecs
with minor differences in the DAPM routing with the same driver.
Something similar has already been done for cards in commit
a841ebb9 (ASoC: Create card DAPM widgets early so they can be used in
callbacks).
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Wed, 4 May 2011 17:55:37 +0000 (19:55 +0200)]
Merge branch 'topic/lola' into for-next
Randy Dunlap [Wed, 4 May 2011 16:53:10 +0000 (09:53 -0700)]
ALSA: lola - fix lola build
sound/pci/lola/Makefile was trying to build lola modules even
when PCI and SND_LOLA were not enabled, causing build errors:
ERROR: "snd_pcm_hw_constraint_step" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_period_elapsed" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_dma_alloc_pages" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_hw_constraint_integer" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_sgbuf_ops_page" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_set_ops" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_lib_free_pages" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_lib_ioctl" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_lib_malloc_pages" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_sgbuf_get_chunk_size" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_dma_free_pages" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_lib_preallocate_pages_for_all" [sound/pci/lola/snd-lola.ko] undefined!
ERROR: "snd_pcm_new" [sound/pci/lola/snd-lola.ko] undefined!
Fix the Makefile to build only when CONFIG_SND_LOLA is enabled.
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Wed, 4 May 2011 16:30:10 +0000 (18:30 +0200)]
Merge branch 'topic/hda' into for-next
Takashi Iwai [Wed, 4 May 2011 16:28:50 +0000 (18:28 +0200)]
ALSA: hda - Use position_fix=3 as default for AMD chipsets
AMD chipsets often behave pretty badly regarding the DMA position
reporting. It results in the bad quality audio recording.
Using position_fix=3 works well in general for them, so let's enable
it as default for AMD.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Tue, 3 May 2011 22:30:36 +0000 (23:30 +0100)]
Merge branch 'for-2.6.39' into for-2.6.40
xingchao [Wed, 27 Apr 2011 20:58:54 +0000 (16:58 -0400)]
ASoC: sst_platform: add hw_free callback to fix resource leak
Signed-off-by: xingchao <xingchao.wang@intel.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Tue, 3 May 2011 18:31:20 +0000 (19:31 +0100)]
ASoC: Remove outdated FIXME from WM8915
Actually the current code is perfectly sensible given the hardware.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Mark Brown [Tue, 3 May 2011 18:29:52 +0000 (19:29 +0100)]
ASoC: Use shared controls for input signal path in WM8915
Gives finer grained power management.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Mark Brown [Tue, 3 May 2011 22:28:51 +0000 (23:28 +0100)]
Merge branch 'topic/asoc' of git://git./linux/kernel/git/tiwai/sound-2.6 into for-2.6.40
Mark Brown [Tue, 3 May 2011 17:25:34 +0000 (18:25 +0100)]
ASoC: Don't crash on PM operations
The move over to exposing snd_soc_register_card() let the initialisation
of the driver data we use to find the card in PM operations go AWOL. Fix
this by setting the driver data when we register the card.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Stephen Warren [Thu, 28 Apr 2011 23:38:01 +0000 (17:38 -0600)]
ASoC: Implement mux control sharing
Control sharing is enabled when two widgets include pointers to the
same kcontrol_new in their definition. Specifically:
static const struct snd_kcontrol_new adcinput_mux =
SOC_DAPM_ENUM("ADC Input", adcinput_enum);
static const struct snd_soc_dapm_widget wm8903_dapm_widgets[] = {
SND_SOC_DAPM_MUX("Left ADC Input", SND_SOC_NOPM, 0, 0, &adcinput_mux),
SND_SOC_DAPM_MUX("Right ADC Input", SND_SOC_NOPM, 0, 0, &adcinput_mux),
};
This is useful when a single register bit or field affects multiple
muxes at once. The common case is to have separate control bits or
fields for each mux (channel). An alternative way of looking at this
is that the mux is a stereo (or even n-channel) mux, rather than
independant mono muxes.
Without this change, a separate kcontrol will be created for each
DAPM_MUX. This has the following disadvantages:
* Confuses the user/programmer with redundant controls that don't
map to separate hardware.
* When one of the controls is changed, ASoC fails to update the DAPM
logic for paths solely affected by the other controls impacted by
the same register bits. This causes some paths not to be correctly
powered up or down. Prior to this change, to work around this, the
user or programmer had to manually toggle all duplicate controls away
from the intended setting, and then back to it.
Control sharing implies that the control is named based on the
kcontrol_new itself, not any of the widgets that are affected by it.
Control sharing is implemented by: When creating kcontrols, if a
kcontrol does not yet exist for a particular kcontrol_new, then a new
kcontrol is created with a list of widgets containing just a single
entry. This is the normal case. However, if a kcontrol does already
exists for the given kcontrol_new, the current widget is simply added
to that kcontrol's list of affected widgets.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Stephen Warren [Thu, 28 Apr 2011 23:38:00 +0000 (17:38 -0600)]
ASoC: Store a list of widgets in a DAPM mux/mixer kcontrol
A future change will allow multiple widgets to be affected by the same
control. For example, a single register bit that controls separate muxes
in both the L and R audio paths.
This change updates the code that handles relevant controls to be able
to iterate over a list of affected widgets. Note that only the put
functions need significant modification to implement the iteration; the
get functions do not need to iterate, nor unify the results, since all
affected widgets reference the same kcontrol.
When creating the list of widgets, always create a 1-sized list, since
the control sharing is not implemented in this change.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Stephen Warren [Thu, 28 Apr 2011 23:37:59 +0000 (17:37 -0600)]
ASoC: Add w->kcontrols, and populate it
Future changes will need reference to the kcontrol created for a given
kcontrol_new. Store the created kcontrol values now.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Stephen Warren [Thu, 28 Apr 2011 23:37:58 +0000 (17:37 -0600)]
ASoC: s/w->kcontrols/w->kcontrol_news/g
A future change will modify struct snd_soc_dapm_widget to store the
actual kcontrol pointers for each kcontrol_new in a field named
kcontrols. Rename the existing kcontrols field to enable this.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Tue, 3 May 2011 18:07:45 +0000 (19:07 +0100)]
Merge branch 'for-2.6.39' into for-2.6.40
Lars-Peter Clausen [Sat, 30 Apr 2011 20:28:20 +0000 (22:28 +0200)]
ASoC: JZ4740: Fix i2s shutdown
The i2s shutdown callback has the check whether it should be disabled reversed.
Currently it is disabled if another stream is still active, but kept enabled if
the last stream is closed. This patch fixes it.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Sat, 30 Apr 2011 17:45:50 +0000 (19:45 +0200)]
ASoC: Remove DAPM debugfs entries before freeing widgets
Remove the DAPM debugfs entries before freeing the context's widgets, otherwise a
use after free situation might occur.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Sat, 30 Apr 2011 17:45:49 +0000 (19:45 +0200)]
ASoC: Move DAPM widget debugfs entry creation to snd_soc_dapm_new_widgets
Currently debugfs entries for a DAPM widgets are only added in
snd_soc_dapm_debugfs_init. If a widget is added later (for example in the
dai_link's probe callback) it will not show up in debugfs.
This patch moves the creation of the widget debugfs entry to
snd_soc_dapm_new_widgets where it will be added after the widget has been
properly instantiated.
As a side-effect this will also reduce the number of times the DAPM widget list
is iterated during a card's instantiation.
Since it is possible that snd_soc_dapm_new_widgets is invoked form the codecs or
cards probe callbacks, the creation of the debugfs dapm directory has to be
moved before these are called.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Sat, 30 Apr 2011 17:45:48 +0000 (19:45 +0200)]
ASoC: Move DAPM debugfs directory creation to snd_soc_dapm_debugfs_init
Move the creation of the DAPM debugfs directory to snd_soc_dapm_debugfs_init
instead of having the same duplicated code in both codec and card DAPM setup.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Lars-Peter Clausen [Sat, 30 Apr 2011 17:45:47 +0000 (19:45 +0200)]
ASoC: Free the card's DAPM context
Free the card's DAPM context when the card is removed.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mike Rapoport [Tue, 26 Apr 2011 08:52:42 +0000 (11:52 +0300)]
ASoC: tegra: TrimSlice machine support
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Acked-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Tue, 3 May 2011 16:48:59 +0000 (18:48 +0200)]
Merge branch 'topic/lola' into for-next
Takashi Iwai [Tue, 3 May 2011 16:48:29 +0000 (18:48 +0200)]
ALSA: lola - Yet another linux/delay.h inclusion
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 3 May 2011 16:21:22 +0000 (18:21 +0200)]
Merge branch 'topic/lola' into for-next
Takashi Iwai [Tue, 3 May 2011 16:21:01 +0000 (18:21 +0200)]
ALSA: lola - Add missing inclusion of linux/delay.h
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 3 May 2011 15:11:58 +0000 (17:11 +0200)]
Merge branch 'topic/lola' into for-next
Takashi Iwai [Tue, 3 May 2011 15:06:53 +0000 (17:06 +0200)]
ALSA: lola - Implement polling_mode like hd-audio
Also protect the call of lola_update_rirb() with spinlock.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 3 May 2011 15:05:08 +0000 (17:05 +0200)]
ALSA: lola - Rename to Digital SRC Capture Switch
Renamed to Digial SRC Capture Switch for more correct representation.
Also fixed analog volume control on Lola161611 and lola881.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 3 May 2011 15:02:35 +0000 (17:02 +0200)]
ALSA: lola - Add sync in loop implementation
For assuring the synchronized state with the pause operation,
loop over the all linked streams and waits until all get ready
in a loop.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 3 May 2011 14:59:27 +0000 (16:59 +0200)]
ALSA: lola - Add SRC refcounting
Added the refcounting for the exclusive SRC control.
Also, fixed the possible stall after PCM pause operations.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 3 May 2011 14:51:56 +0000 (16:51 +0200)]
ALSA: lola - Allow granularity changes
Add some sanity checks.
Change PCM parameters appropriately per granularity.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 3 May 2011 14:50:51 +0000 (16:50 +0200)]
ALSA: lola - Use SG-buffer
Completely switch to SG-buffer now, as it's working stably.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 3 May 2011 14:48:59 +0000 (16:48 +0200)]
ALSA: lola - Add Lola-specific module options
Added granularity and sample_rate_min module options.
The former controls the h/w access granularity. As default, it's set
to the max value 32.
The latter controls the minimum sample rate in Hz, as default 16000.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 3 May 2011 14:47:03 +0000 (16:47 +0200)]
ALSA: lola - Fix PCM stalls
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 3 May 2011 14:41:02 +0000 (16:41 +0200)]
ALSA: lola - Use a single BDL
Use a single BDL for both buffers instead of allocating for each.
Also a few tune-up to avoid the stream stalls in the PCM code and
the prelimianry work for SG-buffer support are added, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 3 May 2011 14:36:09 +0000 (16:36 +0200)]
ALSA: lola - Suppress the debug print
Use snd_printdd() for less important debug messages.
Signed-off-by: Takashi Iwai <tiwai@suse.de>