Commit Graph

8322 Commits

Author SHA1 Message Date
Clemens Ladisch 93943beb29 ALSA: oxygen: reduce minimum period count
The interrupt counter is independent of the buffer counter, so there are
no restrictions on the period size.  Having fewer periods also makes
PulseAudio happy.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-06 16:27:03 +02:00
Nicolas Kaiser ad5e4655f9 ASoC: remove duplicated include for nuc900
Remove duplicated include.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-10-05 19:26:00 -07:00
Guennadi Liakhovetski 05c694500b ASoC: sh: fix build error: terminate the platform device ID list
Platform driver ID table must be zero-element terminated.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-10-05 19:25:46 -07:00
Dimitris Papastamos e595b3252f ASoC: WM8804: Retrieve the device revision and print it
Be verbose and print out the device revision.

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>
2010-10-05 09:57:10 -07:00
Dimitris Papastamos f479fd93d4 ASoC: soc-cache: Add spi_write support for all I/O types
Ensure that all drivers that use SPI and I2C will work properly
by providing SPI write functions for all different I/O types.

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>
2010-10-05 09:56:34 -07:00
Clemens Ladisch 9a0b379265 ALSA: oxygen: fix input monitor dB scale
The input monitor half volume bit results in a factor of 0.5, so the
minimum scale value should be -6 dB.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-05 18:11:23 +02:00
Clemens Ladisch de0074ee7a ALSA: oxygen: fix chip ID register symbols
Rename the symbol for the XCID pins, fix up a decimal/hex confusion for
the CMI8787 package ID, and add the other known package IDs.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-05 18:11:22 +02:00
Clemens Ladisch d737f3eede ALSA: virtuoso: fix Xonar STX anti-pop delay
The anti-pop delay for the STX should be 800 ms, not 100 ms like the ST.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-05 18:11:20 +02:00
Clemens Ladisch 2b830bae1f ALSA: virtuoso: add HDAV1.3 Slim PCI ID
Add a PCI ID for the Xonar HDAV1.3 Slim.  There is no actual support,
but the presence of the ID allows the EEPROM repair code to work for
this card.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-05 18:11:19 +02:00
Clemens Ladisch b6ca8ab399 ALSA: oxygen: handle CD input configuration with a flag
There are more models without a CD input than with one, so handle this
explicitly with a device_config flag to avoid having to define a control
filter callback to filter it out.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-05 18:11:17 +02:00
Clemens Ladisch 45bc307f32 ALSA: virtuoso: fix Xonar DS chip name
The controller on the Xonar DS is labeled "AV66", not "AV200".

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-05 18:11:15 +02:00
Clemens Ladisch 422fdc318e ALSA: usb-audio: add more Yamaha USB MIDI devices
Add quirks for more devices (according to driver V.3.0.4-2).

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-05 18:11:13 +02:00
Troy Kisky 94774b2849 ALSA: ASoc: DaVinci Delay start of ASP to trigger
Since only 4 mainline ASoC codecs support the trigger
callback, we cannot rely upon them stopping the frame clock
if they are master and must assume it is running even if the
sound is paused. Thus we cannot start the ASP until the trigger
method.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Martin Ambrose <martin@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-10-04 17:55:17 -07:00
Linus Torvalds d9f73afcd3 Merge branch 'fix/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'fix/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: i2c/other/ak4xx-adda: Fix a compile warning with CONFIG_PROCFS=n
  ALSA: prevent heap corruption in snd_ctl_new()
2010-10-04 11:15:59 -07:00
Dimitris Papastamos 6c20c807cf ASoC: WM8804: Power down the PLL correctly
The PLL is disabled when the corresponding bit is set not the other
way around.  This commit depends on my other commit with Subject
"ASoC: WM8804: Refactor set_pll code to avoid GCC warnings".

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>
2010-10-04 08:03:11 -07:00
Dimitris Papastamos 86ce6c9a62 ASoC: WM8804: Refactor set_pll code to avoid GCC warnings
Ensure that no uninitialised variable warnings are generated by
GCC.

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>
2010-10-04 08:03:00 -07:00
Takashi Iwai 628cfe870f Merge remote branch 'alsa/devel' into topic/misc 2010-10-04 08:46:38 +02:00
Valentine Sinitsyn d41185882b ALSA: hda - Added fixup for Lenovo Y550P
Signed-off-by: Valentine Sinitsyn <valentine.sinitsyn@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-04 08:42:24 +02:00
Dimitris Papastamos cb13c6b3ca ASoC: WM8804: Use a proper DAI name
Make sure the DAI name does not include a '/' since we might have
per DAI debugfs or sysfs entries in the future.

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>
2010-10-02 14:24:39 -07:00
Mark Brown 8ca2aa9c59 ASoC: Put WM8962 GPIO2/3 into GPIO mode when configuring platform data too
GPIO2 and GPIO3 on the WM8962 are MFPs and need to be put into GPIO mode
before the GPIO block can be used to control them. We're already doing
this when used via gpiolib, factor out the code for use when setting static
configurations via platform data as well.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-10-02 14:23:57 -07:00
Mark Brown 7711308ae6 ASoC: Implement interrupt based jack detection
Allow microphone detection on WM8962 to be performed using the interrupt
signal, allowing the detection of both microphone presence and button
presses with a signal singal from the CODEC to CPU.  Currently a 250ms
debounce time is applied to both short circuit and presence detection,
this has not been optimised.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-10-02 14:23:26 -07:00
Mark Brown 3367b8d427 ASoC: Add support for WM8962 GPIO outputs
The WM8962 features five GPIOs, add support for controlling their output
state via gpiolib.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-10-02 14:23:04 -07:00
Jaroslav Kysela ac446fb7e6 ALSA: snd-aloop - fix "PCM Slave Active" element read value
Simple coding fix.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-02 16:07:03 +02:00
Mark Brown 205d231bfb ASoC: Remove -dai suffix from i.MX SSI driver
While it is a generic serial port in practice the i.MX SSI is only supported
in Linux as an audio port (the i.MX has dedicated SPI controllers and so on).
This means we don't need to disambiguate against other uses of the hardware
and so can drop the -dai suffix from the driver name which fixes merge
issues with the i.MX tree in -next.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-10-01 00:13:28 -07:00
Mark Brown d330a080a8 ASoC: Relax restrictions on WM8962 BCLK configuration
The restrictions on configuring BCLK are overly cautious, other constraints
in the system should ensure that reconfiguration is not possible when the
device is sufficiently active to be unable to support reclocking.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-30 14:55:28 -07:00
Takashi Iwai e913b14649 ALSA: i2c/other/ak4xx-adda: Fix a compile warning with CONFIG_PROCFS=n
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-30 22:59:12 +02:00
Dimitris Papastamos 33cf45c80f ASoC: WM8804: Initial driver
The WM8804 is a high performance consumer mode S/PDIF transceiver with
support for 1 received channel and 1 transmitted channel.

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>
2010-09-30 13:32:21 -07:00
Dimitris Papastamos 6b90b55ccc ASoC: Remove unneeded use of spi_bus_type
No need to explicitly set the bus type, spi_register_driver does
that for us.

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>
2010-09-30 13:32:07 -07:00
Mark Brown a4f28c001d ASoC: Provide microphone bias configuration for WM8962
Add the widget for MICBIAS power control and allow configuration of the
microphone bias setup via the platform data for the WM8962. When
microphone status signals are brought out to GPIO this should be
sufficient to enable microphone detection.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-30 09:36:13 -07:00
Mark Brown dee0bb9d0f ASoC: Mark WM8962 Additional Control 4 register as volatile
There are some status bits for microphone detection in here.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-30 09:31:42 -07:00
David Henningsson 4cb3631084 ALSA: HDA: Add position_fix=3 module option, and refactor related code
What was previously known as via_dmapos_patch, and hard-coded to be
used for VIA and ATI controllers, is now configurable through a module
option. The background is that some VIA controllers seem to prefer
via_dmapos_patch to be turned off.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-30 14:16:11 +02:00
Takashi Iwai c76a544feb Merge remote branch 'alsa/devel' into topic/misc 2010-09-30 08:42:14 +02:00
Jaroslav Kysela 20d9a26dbb ALSA: snd-aloop - fix capture buffer silence
In a special case, some old samples are left in the capture ring buffer.
Fix it.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-09-30 00:20:17 +02:00
Dominik Brodowski 2e9b981a7c pcmcia: move driver name to struct pcmcia_driver
Tested-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2010-09-29 17:20:24 +02:00
Dominik Brodowski 1ac71e5a35 pcmcia: convert pcmcia_request_configuration to pcmcia_enable_device
pcmcia_enable_device() now replaces pcmcia_request_configuration().
Instead of config_req_t, all necessary flags are either passed as
a parameter to pcmcia_enable_device(), or (in rare circumstances)
set in struct pcmcia_device -> flags.

With the last remaining user of include/pcmcia/cs.h gone, remove
all references.

CC: netdev@vger.kernel.org
CC: linux-wireless@vger.kernel.org
CC: linux-ide@vger.kernel.org
CC: linux-usb@vger.kernel.org
CC: laforge@gnumonks.org
CC: linux-mtd@lists.infradead.org
CC: alsa-devel@alsa-project.org
CC: linux-serial@vger.kernel.org
CC: Jiri Kosina <jkosina@suse.cz>
CC: linux-scsi@vger.kernel.org
Acked-by: Gustavo F. Padovan <padovan@profusion.mobi> (for drivers/bluetooth)
Tested-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2010-09-29 17:20:23 +02:00
Dominik Brodowski 7feabb6412 pcmcia: move config_{base,index,regs} to struct pcmcia_device
Several drivers prefer to explicitly set config_{base,index,regs},
formerly known as ConfigBase, ConfigIndex and Present. Instead of
passing these values inside config_req_t, store it in struct
pcmcia_device.

CC: netdev@vger.kernel.org
CC: linux-wireless@vger.kernel.org
CC: linux-ide@vger.kernel.org
CC: linux-usb@vger.kernel.org
CC: laforge@gnumonks.org
CC: linux-mtd@lists.infradead.org
CC: alsa-devel@alsa-project.org
CC: linux-serial@vger.kernel.org
CC: Jiri Kosina <jkosina@suse.cz>
CC: linux-scsi@vger.kernel.org
Acked-by: Gustavo F. Padovan <padovan@profusion.mobi> (for drivers/bluetooth)
Tested-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2010-09-29 17:20:22 +02:00
Dominik Brodowski 37979e1546 pcmcia: simplify IntType
IntType was only set to INT_MEMORY (driver pcmciamtd) or INT_MEMORY_AND_IO
(all other drivers). As this flags seems to relate to ioport access, make
it conditional to the driver having requested IO port access. There are two
drivers which do not request IO ports, but did set INT_MEMORY_AND_IO:
ray_cs and b43. For those, we consistently only set INT_MEMORY in future.

CC: netdev@vger.kernel.org
CC: linux-wireless@vger.kernel.org
CC: linux-ide@vger.kernel.org
CC: linux-usb@vger.kernel.org
CC: laforge@gnumonks.org
CC: linux-mtd@lists.infradead.org
CC: alsa-devel@alsa-project.org
CC: linux-serial@vger.kernel.org
CC: Jiri Kosina <jkosina@suse.cz>
CC: linux-scsi@vger.kernel.org
Acked-by: Gustavo F. Padovan <padovan@profusion.mobi> (for drivers/bluetooth)
Tested-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2010-09-29 17:20:22 +02:00
Mark Brown 45e655047f ASoC: Initial WM8962 IRQ support
Provide an initial hookup for interrupts on the WM8962. Currently we simply
report error status via log messages if an IRQ is provided for the device.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-29 00:32:36 -07:00
Mark Brown ea738bade2 ASoC: Lowercase WM8962 CODEC name
For consistency.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-29 00:31:50 -07:00
Mark Brown 6137112630 ASoC: Fix masking of WM8962 FLL1 register
When configuring the FLL we preserve the FLL enable configuration in order
to allow us to reenable the FLL after configuration but we do not clear
the other bits in the register, causing old configuration to be preserved.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-28 14:10:18 -07:00
Dimitris Papastamos d1454e6fbd ASoC: WM8985: Use the correct macro for the kcontrol defined
Since we are using custom get/put handlers
use SOC_ENUM_SINGLE_EXT_DECL instead of the original SOC_ENUM_SINGLE_DECL
macro.

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>
2010-09-28 14:10:17 -07:00
Luke Yelavich c123e5e437 ALSA: hda - Add quirk for another Acer laptop with a CX20585 codec
BugLink: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/647374

Set another Acer laptop (SSID 1025:043d) to use CXT5066_IDEAPAD

Signed-off-by: Luke Yelavich <luke.yelavich@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-28 22:33:06 +02:00
Dan Rosenberg 5591bf0722 ALSA: prevent heap corruption in snd_ctl_new()
The snd_ctl_new() function in sound/core/control.c allocates space for a
snd_kcontrol struct by performing arithmetic operations on a
user-provided size without checking for integer overflow.  If a user
provides a large enough size, an overflow will occur, the allocated
chunk will be too small, and a second user-influenced value will be
written repeatedly past the bounds of this chunk.  This code is
reachable by unprivileged users who have permission to open
a /dev/snd/controlC* device (on many distros, this is group "audio") via
the SNDRV_CTL_IOCTL_ELEM_ADD and SNDRV_CTL_IOCTL_ELEM_REPLACE ioctls.

Signed-off-by: Dan Rosenberg <drosenberg@vsecurity.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-28 21:33:16 +02:00
Takashi Iwai cf1ff50116 ASoC: Fix a compile warning for printk format
sound/soc/codecs/wm8985.c: In function 'wm8985_hw_params':
  sound/soc/codecs/wm8985.c:731:2: warning: format '%d' expects type 'int', but argument 4 has type 'size_t'

Actually the variable is fine as int.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-27 08:18:13 +02:00
Otavio Salvador e35d4b1195 ALSA: hda: add Vortex86MX PCI ids
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-27 07:57:31 +02:00
Takashi Iwai 3b23cd2875 Merge branch 'fix/hda' into for-linus 2010-09-25 17:57:53 +02:00
Takashi Iwai b614e38e78 Merge branch 'fix/asoc' into for-linus 2010-09-25 17:57:49 +02:00
Dan Rosenberg e68d3b316a ALSA: sound/pci/rme9652: prevent reading uninitialized stack memory
The SNDRV_HDSP_IOCTL_GET_CONFIG_INFO and
SNDRV_HDSP_IOCTL_GET_CONFIG_INFO ioctls in hdspm.c and hdsp.c allow
unprivileged users to read uninitialized kernel stack memory, because
several fields of the hdsp{m}_config_info structs 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: Dan Rosenberg <dan.j.rosenberg@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-25 17:46:22 +02:00
Vitaliy Kulikov f41cc2a85d ALSA: hda - Fix switching between dmic and mic using the same mux on IDT/STAC
Fix bug in switching between dmic and mic when both use the same mux.

Signed-off-by: Vitaliy Kulikov  <Vitaliy.Kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-25 09:11:26 +02:00
Dimitris Papastamos fc38a8a11d ASoC: WM8985: Remove unneeded declaration.
We are not using the private data in this function, so get rid of it.

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>
2010-09-24 17:00:37 +01:00
Mark Brown 591796b82a ASoC: Clean up AC'97 glue driver
Remove version number and clean up some indentation.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-24 10:41:27 +01:00
Mark Brown 8d85d7414a ASoC: Add debug logging for s3c-ac97 resets
Helps tracing errors further up the stack.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-24 10:41:02 +01:00
Mark Brown 4a6f998ebb ASoC: Convert s3c-ac97 to pr_() macros
Could use dev_() but we'd have to remember the struct device somewhere
and it wouldn't make the logging clearer.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-24 10:40:33 +01:00
Mark Brown 97daff36f2 ASoC: Clean up the CODEC device as well as the board for SMDK WM9713
Otherwise we try to re-register the CODEC device if the module is reloaded
and sysfs becomes miserable.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-24 10:40:08 +01:00
Mark Brown 9fab963503 ASoC: Clarify naming for SMDK WM9713 driver
At least some of the systems using this device have multiple audio
subsystems so provide some guidance to userspace about which one this
is.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-24 10:39:41 +01:00
Mark Brown 266edab35d ASoC: Remove unneeded WM9713 header include from SMDK WM9713 driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-24 10:39:17 +01:00
Takashi Iwai fec88dea9d Merge branch 'fix/hda' into topic/hda 2010-09-24 09:12:21 +02:00
Takashi Iwai 01fdf1801e ALSA: hda - Fix auto-parse of SPDIF input of Realtek codecs
The SPDIF in audio widget must be searched through the list as the widget
that contains the given pin as the connection source.  The current code
was implemented in a reverse way.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-24 09:09:42 +02:00
Dimitris Papastamos 005d65fbac ASoC: Fix incorrect parameter to snd_soc_codec_volatile_register
We need to pass the register index and not the register value.
This patch depends on my previous patch "ASoC: Delegate to hw
specific read for volatile registers".

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>
2010-09-23 19:48:16 +01:00
Dimitris Papastamos db49c146a8 ASoC: Delegate to hw specific read for volatile registers
Ensure that reads on volatile registers will correctly delegate
to the bus specific read function.

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>
2010-09-23 19:48:11 +01:00
Vince Weaver 4e7d7c6018 ALSA: hda - MacBookPro 5,3 line-in support
I've found the following patch is necessary to enable line-in on
my MacBookPro 5,3 machine.  With the patch applied I've successfully
recorded audio from the line-in jack.  This is based on the existing
5,5 support.

Signed-off-by: Vince Weaver <vweaver1@eecs.utk.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-23 19:40:46 +02:00
Thomas Weber b42e17963c Fix typo configue => configure in comments
Signed-off-by: Thomas Weber <weber@corscience.de>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-09-23 11:46:50 +02:00
John Kacur 095a0f6df2 SOUND-OSS: Remove sh_dac_audio
Remove the SH DAC oss driver since there is an equivalent alsa driver.
oss has been deprecated for years. Furthermore this driver has BKL code
which we are trying to remove. Rather than attempt to fix this, simply
remove the driver.

Signed-off-by: John Kacur <jkacur@redhat.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-23 08:10:32 +02:00
Takashi Iwai 3e13f65e3a ASoC: adapt multi-componentism again
Go back to the new world order.

(Also fixed indentation.)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-23 07:41:37 +02:00
Takashi Iwai 42c39a6267 Merge branch 'for-2.6.36' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc 2010-09-23 07:31:27 +02:00
Mark Brown 0077ca0b5c ASoC: Fix multi-componentism
Spot the build testing.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-09-22 18:47:40 +01:00
Dimitris Papastamos 391d8a04fc ASoC: Return -1 instead of -EINVAL to ensure consistency
The code can't really cope with I/O errors, so it would be better
to be consistent throughout all cache functions and return -1 instead
of -EINVAL.

The return value of snd_soc_read(...) is mostly checked in the probe
function and nowhere else.

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>
2010-09-22 16:48:50 +01:00
Mark Brown 321de0d05a ASoC: Report error codes for card DAI instantiation failures
Also clean up the error print a bit.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-22 16:40:15 +01:00
Mark Brown 0704129ff4 Merge branch 'for-2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into for-2.6.37 2010-09-22 12:19:07 +01:00
Dimitris Papastamos d47372e852 ASoC: Fix soc-cache buffer overflow bug
Make sure we stay within the cache boundaries when updating the
register cache.

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>
2010-09-22 12:01:05 +01:00
Erik J. Staab 0873a5ae74 ALSA: oxygen: fix analog capture on Claro halo cards
On the HT-Omega Claro halo card, the ADC data must be captured from the
second I2S input.  Using the default first input, which isn't connected
to anything, would result in silence.

Signed-off-by: Erik J. Staab <ejs@insightbb.com>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-22 10:04:08 +02:00
Takashi Iwai fdfb7fa7c9 Merge remote branch 'alsa/devel' into topic/misc 2010-09-22 10:03:28 +02:00
Dimitris Papastamos fa6d529389 ASoC: Fix soc-cache buffer overflow bug
Make sure we stay within the cache boundaries when updating the
register cache.

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>
2010-09-21 18:43:40 +01:00
Jarkko Nikula 0b25ad0571 ASoC: Remove extra rtd->dev.init_name assignment in soc_probe_dai_link
rtd->dev.init_name is set twice in soc_probe_dai_link. I removed the first
assignement from dai_link->stream_name since then there won't be sysfs name
changes and usually dai_link->name seems to fit anyway better for a sysfs
directory name.

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>
2010-09-21 18:43:01 +01:00
Takashi Iwai abdd8f5106 ALSA: hda - Apply ALC269 VAIO fix-up to all Sony laptops with ALC269
We've applied a fix-up for ALC269 VAIO only for two models.  But all
Sony VAIO models with ALC269 codec seem to require the similar fix.
Let's apply it with vendor-id mask.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-21 17:42:46 +02:00
Takashi Iwai 5e09416f36 Merge branch 'fix/hda' into topic/hda 2010-09-21 17:40:48 +02:00
Takashi Iwai 265a02478d ALSA: hda - Check invalid NIDs in alc_init_jacks()
The headphone and external-mic pin NIDs can be null, and the jack input
elements should be skipped in such a case.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-21 11:26:21 +02:00
Mark Brown 13f808cf8d ASoC: Fix merge issue with WM8962 control addition
Let's not add the core controls twice.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-21 10:18:02 +01:00
Mark Brown 082100dc92 ASoC: Report error code when failing to add controls
Helps with diagnostics.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-21 10:18:02 +01:00
Mark Brown 17cc26cd8c ASoC: Prototype s3c64xx_i2s_get_clock()
So machine drivers can see the declaration.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-21 10:18:02 +01:00
Luke Yelavich 0f9f1ee9d1 ALSA: hda - Add Dell Latitude E6400 model quirk
BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/643891

Set the Dell Latitude E6400 (1028:0233) SSID to use AD1984_DELL_DESKTOP

Cc: stable@kernel.org
Signed-off-by: Luke Yelavich <luke.yelavich@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-21 10:07:45 +02:00
Takashi Iwai 9e5341b92d ALSA: hda - Introduce hda_call_check_power_status() helper
Replace the explicit ifdef check and call of check_power_status ops with
a new helper function, hda_call_check_power_status().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-21 10:00:03 +02:00
Jerry Zhou 9396d3174b ALSA: hdmi - fix surround41 channel mapping
Channel 2 and channel 3 were all wrongly mapped to HDMI slot 4.
This shows up as a bug that one channel is "lost" when playing in
surround41 mode.

Signed-off-by: Jerry Zhou <jerry.zhou@intel.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-21 09:51:00 +02:00
Wu Fengguang 53d7d69d8f ALSA: hdmi - support infoframe for DisplayPort
DisplayPort works mostly in the same way as HDMI, except that it expects
a slightly different audio infoframe format.

Citations from "HDA036-A: Display Port Support and HDMI Miscellaneous
Corrections":

The HDMI specification defines a data island packet with a header of 4
bytes (3 bytes content + 1 byte ECC) and packet body of 32 bytes (28
bytes content and 4 bytes ECC). Display Port specification on the other
hand defines a data island packet (secondary data packet) with header of
4 bytes protected by 4 bytes of parity, and data of theoretically up to
1024 bytes with each 16 bytes chunk of data protected by 4 bytes of
parity. Note that the ECC or parity bytes are not present in the DIP
content populated by software and are hardware generated.

It tests DP connection based on the ELD conn_type field, which will be
set by the graphics driver and can be overriden manually by users
through the /proc/asound/card0/eld* interface.

The DP infoframe is tested OK on Intel SandyBridge/CougarPoint platform.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-21 09:49:57 +02:00
Kuninori Morimoto d8b3353492 ASoC: fsi: merge fsi_data_push/pop to fsi_fifo_data_ctrl
Current FSI driver had data push/pop functions.
But the main operation of these 2 were very similar.
This mean it is possible to merge these to 1 function.

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>
2010-09-20 20:45:04 +01:00
Kuninori Morimoto 5bfb9ad084 ASoC: fsi: modify variable name to easy to understand
Current FSI driver is using
data-length / width / number / offset for variables.
But it was a very confusing name.

This patch rename them to easy to understand,
and add new functions for it.

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>
2010-09-20 20:44:24 +01:00
Mark Brown 5250a5031e ASoC: Fix WM8978/migor driver name conflict
Standardise on 'wm8978' as the name for the CODEC.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-20 20:43:12 +01:00
Jarkko Nikula 7d1be0a678 ASoC: tlv320aic3x: Let the codec hit SND_SOC_BIAS_OFF when idle
Now codec hits the SND_SOC_BIAS_OFF also when it is idle. This is also
the default state after probing and codec is left unconfigured and
unpowered by default. Initialization will happen when the bias state changes
and aic3x_set_power does power-up and cache sync.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-20 18:40:47 +01:00
Jarkko Nikula 5a895f8a09 ASoC: tlv320aic3x: Use regulator notifiers for optimizing the cache sync
There is no need to reset the codec and perform cache sync if none of the
supply regulators were not disabled. Patch registers a notifier callback for
each supply and callback then sets a flag to indicate when cache sync is
required.

HW writes are also needless when codec bias is off so cache_only flag is set
independently of actual supply regulators state.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-20 18:40:47 +01:00
Jarkko Nikula 6c1a7d40c2 ASoC: tlv320aic3x: Add runtime regulator control to aic3x_set_bias_level
Now all the regulators are disabled when entering into SND_SOC_BIAS_OFF
and enabled when coming back to SND_SOC_BIAS_STANDBY state. Currently this
runtime control happens only with suspend/resume as this patch does not
change the default idle behavior.

This patch manages all the regulators and reset since it seems that register
sync is needed even if only analog supplies AVDD and DRVDD are disabled.
This was noted when the system was running with idle behavior changed and
IOVDD and DVDD were on.

It is not known are all the registers needed to sync or only some subset of
them. Therefore patch plays safe and does always full shutdown/power-up.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-20 18:40:46 +01:00
Jarkko Nikula 2f24111a08 ASoC: tlv320aic3x: Move regulator management from i2c to soc domain
It will be easier to keep regulator enable/disable calls in sync when dynamic
regulator management is added if regulator management is moved from
aic3x_i2c_probe/_remove to aic3x_probe/_remove.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-20 18:40:46 +01:00
Takashi Iwai 0ec33d1f95 ALSA: hda - Refactor ALC269 power-ups/downs in PM callbacks
Create a helper function to simplify the code.
Also, cleaned up the ifdef SND_HDA_NEEDS_RESUME and
CONFIG_SND_HDA_POWER_SAVE.  The former is always defined when the latter
is set.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-20 15:36:07 +02:00
Takashi Iwai f3550d1b05 ALSA: hda - Fix capture widget for ALC269vb and co
ALC269vb and other variants don't use the widgets 0x24 but prefer the
widget 0x22 instead.  We need to fix the input parser.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-20 15:36:03 +02:00
Takashi Iwai d433a67831 ALSA: hda - Optimize the check of ALC269 codec variants
Don't call the COEF check for checking ACL269 codec variants at each
time in init but remember the type at the initialization.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-20 15:35:29 +02:00
Takashi Iwai e1ca7b4ea2 ALSA: hda - Fix initialization of multiple output pins for ALC268/269
When multiple pins are assigned to headphones or speakers, they haven't
been initialized properly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-20 14:58:57 +02:00
Takashi Iwai f6837bbd59 ALSA: hda - Fix up autocfg output pin numbers in realtek parser
When quirks are applied, the numbers of output pins in autocfg aren't
set up properly but only pin arrays are changed.  Let's fix it up so that
the rest of the parser can use autocfg.line_outs & co safely.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-20 14:56:32 +02:00
Liam Girdwood 826ca0bd53 Merge remote branch 'asoc/for-2.6.37' into for-2.6.37 2010-09-20 09:53:29 +01:00
Jarkko Nikula 19f7ac5038 ASoC: tlv320aic3x: Add virtual output pin Detection
Purpose of this virtual Detection pin is to keep codec bias on whenever the
GPIO or jack detection features are needed.

Jack detection needs a mic bias so machine drivers can construct a following
route for instance for keeping the path and codec bias on:

"Input Jack" -> "Mic Bias xV" -> "Detection" -> detection block inside codec.

For the GPIO the machine driver can force the pin on with
snd_soc_dapm_force_enable_pin.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-20 09:52:39 +01:00
Liam Girdwood 611ad378b3 Merge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37 2010-09-20 09:49:26 +01:00
Takashi Iwai 84eb01be18 ALSA: hda - Merge all HDMI modules into the unified module
This patch merges all three patch_*hdmi variants to the single HDMI
parser.  There is only one snd-hda-codec-hdmi module now.

In this patch, the behavior of each parser isn't changed much.
The old ATI parser still doesn't use the dynamic parser yet.
In later patches, they'll be cleaned up.

Also, this patch gets rid of the individual snd-hda-eld module and
builds into snd-hda-codec-hdmi, since this is referred only from the
HDMI parser.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-20 10:02:29 +02:00
Kuninori Morimoto b9fde18c05 ASoC: fsi: Add fsi_dma_soft_push/pop function
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-09-19 16:10:56 +01:00
Kuninori Morimoto c8fe2574cf ASoC: fsi: modify noisy comment out
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-09-19 16:10:55 +01:00
Kuninori Morimoto c79eab3ea4 ASoC: fsi: Add fsi_dma_get_area
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-09-19 16:10:54 +01:00
Guennadi Liakhovetski c6834dd2d2 ASoC: fix SIU driver breakage, occurred during the multi-component transition
This patch fixes multiple bugs and a typo, occurred during the multi-
component transition.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-09-19 16:04:35 +01:00
Guennadi Liakhovetski c54291de43 ASoC: fix compile breakage of the sh/siu driver
The sh/siu ASoC driver doesn't compile because of a function defined static in
the source and extern in a header. Remove the unneeded declaration in the
header.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-09-19 16:04:19 +01:00
Mark Brown 382e302002 Merge branch 'for-2.6.36' into for-2.6.37 2010-09-19 16:03:16 +01:00
Guennadi Liakhovetski cbfa5184cc ASoC: fix clkdev API usage in sh/migor.c
The clkdev API doesn't use .name and .id members of struct clk for clock
lookup. Instead clocks should be added to a lookup list. Without this patch
audio om the Migo-R board fails silently.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-09-19 16:02:47 +01:00
Takashi Iwai a1984f4999 Merge branch 'fix/hda' into for-linus 2010-09-17 17:44:20 +02:00
Dzianis Kahanovich d85a6d7bdc ASoC: Add device table to SH FSI driver
Signed-off-by: Dzianis Kahanovich <mahatma@eu.by>
[Modified to move the location of the table]
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-09-17 14:54:49 +01:00
Takashi Iwai f68b3b291d ALSA: hda - Check the external mic pin more strictly for Conexant chips
The external mic jack for auto-mic switch must be really an external
jack and with a presense-detection capability.  This patch makes the
check more paranoia.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-17 14:45:14 +02:00
Takashi Iwai 99ae28bea9 ALSA: hda - Make snd_hda_get_input_pin_attr() helper
Make the helper function to give the input-pin attribute for jack
connectivity and location.  This simplifies checks of input-pin jacks
a bit in some places.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-17 14:42:34 +02:00
David Henningsson 5637edb2e1 ALSA: HDA: Sort CXT5066 quirk table
It was just a boring day.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-17 11:17:46 +02:00
David Henningsson 1feba3b736 ALSA: HDA: Fix spelling (change VOSTO to VOSTRO)
It was just a boring day.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-17 11:17:34 +02:00
Takashi Iwai 41c89ef3aa ALSA: hda - Fix mic attribute check for internal mics
Now Windows claims that the BIOS sets pins for internal mics to be
BOTH connection instead of FIXED.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-17 10:28:20 +02:00
Charles Chin 9907790aa0 ALSA: hda - Fix automatic MIC switching and include dock MIC for IDT codecs
Signed-off-by: Charles Chin <Charles.Chin@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-17 10:22:32 +02:00
Takashi Iwai 901d46d5a8 ALSA: pcm - Fix race with proc files
The PCM proc files may open a race against substream close, which can
end up with an Oops.  Use the open_mutex to protect for it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-16 23:06:50 +02:00
Takashi Iwai 8699a0b657 ALSA: pcm - Fix unbalanced pm_qos_request
The pm_qos_request isn't freed properly when OSS PCM emulation is used
because it skips snd_pcm_hw_free() call but directly releases the
stream.  This resulted in Oops later.

Tested-by: Simon Kirby <sim@hostway.ca>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-16 23:04:38 +02:00
Dan Carpenter 26e34e9e15 ALSA: usb/mixer: remove bogus cast
"uinfo->value.enumerated.item" is an unsigned int.  If it's negative
when we do the comparison:
	if ((int)uinfo->value.enumerated.item >= cval->max)
then we would read past the end of the array on the next line.

I also changed the strcpy() to strlcpy() out of paranoia.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-16 22:50:51 +02:00
Takashi Iwai 30ea098fc0 ALSA: hda - Fix input-pin setup for Realtek codecs
Through the transition of autocfg to individual inputs array, I forgot
to rewrite the argument passed to alc_set_input_pin().  This resulted in
wrongly setup input pins.  Fixed now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-16 18:47:56 +02:00
Takashi Iwai 5855fb8076 ALSA: hda - Fix initialization of secondary headphone and speaker
The secondary or later headphones or speakers aren't initialized preoprly
for some codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-16 18:24:02 +02:00
Kuninori Morimoto 4c62ed9b55 ASoC: da7210: code clean up
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>
2010-09-16 14:14:57 +01:00
Kuninori Morimoto 0ce75aa4fe ASoC: ak4642: code clean up
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>
2010-09-16 14:14:56 +01:00
Mark Brown 19c7ac27a1 ASoC: Add platform listing to debugfs
List registered platforms in debugfs to improve debugability of machine
drivers.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-16 14:14:14 +01:00
Mark Brown f320878032 ASoC: Add DAI list to debugfs
Allow the user to inspect the list of registered DAIs at runtime to
improve diagnostics for machine driver setup.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-16 14:14:02 +01:00
Mark Brown c3c5a19a50 ASoC: Add debugfs listing of registered CODECs
Help with diagnostics for machine driver setup by listing all the
registered CODECs in debugfs.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-16 14:13:47 +01:00
David Henningsson 145a902bfe ALSA: HDA: Enable internal speaker on Dell M101z
BugLink: http://launchpad.net/bugs/640254

In some cases a magic processing coefficient is needed to enable
the internal speaker on Dell M101z. According to Realtek, this
processing coefficient is only present on ALC269vb.

Cc: stable@kernel.org
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-16 10:18:54 +02:00
Peter Ujfalusi 4437ecdc71 ALSA: core: Allow card id change to the same string
When user want to change the card id to the same string
on the card via /sys/class/sound/cardX/id, do not
report error. Instead return with success without
doing anything.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-16 10:17:25 +02:00
Takashi Iwai 1a4e34e67c ALSA: usb-audio - Fix an unused-variable compile warning
Used only when CONFIG_SND_DEBUG=y
  sound/usb/mixer.c: In function 'get_min_max':
  sound/usb/mixer.c:762: warning: unused variable 'chip'

Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-16 07:44:39 +02:00
Takashi Iwai 3b119f662d ALSA: hda - Add quirk for Acer laptop with CX20585 codec
Its pin configuration is compatible with ideapad.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-16 07:36:14 +02:00
Takashi Iwai b686453543 ALSA: hda - Reduce pci id list for Intel with class id
Most of Intel controllers work as generic HD-audio without quirks,
and it'll be hopefully so in future.  Let's mark pci id with the
PCI_CLASS_MULTIMEDIA_HD_AUDIO for Intel so that the driver will work
with any new control chips in future.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-16 07:35:46 +02:00
Takashi Iwai f2e5731dfd ALSA: hda - Preliminary support for new Conexant audio codecs
This patch adds the preliminary support for new Conexant audio codecs with
14f1:5097, 14f1:5098, 14f1:50a1, 14f1:50a2, 14f1:50ab, 14f1:50ac,
14f1:50b8 and 14f1:50b9.

Unlike other Conexant parsers, this is designed to be mostly automatic,
parsing from BIOS pin configurations.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-16 07:34:55 +02:00
Takashi Iwai c91925db49 Merge branch 'fix/hda' into topic/hda 2010-09-16 07:33:21 +02:00
Kailang Yang 977ddd6b2e ALSA: hda - Set up COEFs for ALC269 to avoid click noises at power-saving
For avoiding the click noises at power-saving, set some COEF values
for ALC269* codecs.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-16 07:32:30 +02:00
Dimitris Papastamos 6d6f8b8327 ASoC: WM8985: Initial driver
The WM8985 is a low power, high quality, feature-rich stereo
CODEC designed for portable multimedia applications that
require low power consumption and high quality audio.

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>
2010-09-15 16:11:24 +01:00
Jarkko Nikula 9900daa81b ASoC: tlv320aic3x: Complete the soc-cache conversion
Complete the phasing out of aic3x_read_reg_cache, aic3x_write_reg_cache,
aic3x_read and aic3x_write calls.

This patch uses in aic3x_read the codec->hw_read that points to a function
implemented by soc-cache. Only use for aic3x_read is if wanting to read
volatile bits from those registers that has both read-only and read/write
bits. All other cases should use snd_soc_read.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-15 13:56:15 +01:00
Jarkko Nikula a84a441ba3 ASoC: tlv320aic3x: Switch to soc-cache helpers
Continue phasing out aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read
and aic3x_write calls.

This patch takes the soc-cache in use and removes aic3x_read_reg_cache and
aic3x_write.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-15 13:56:15 +01:00
Jarkko Nikula e18eca4303 ASoC: tlv320aic3x: Use snd_soc_read and snd_soc_write
Start phasing out aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read and
aic3x_write calls in order to switch to soc-cache helpers.

This patch replaces aic3x_read_reg_cache and aic3x_write with snd_soc_read
and snd_soc_write. This is basically null-op since .read and .write in
soc_codec_dev_aic3x points to aic3x_read_reg_cache and aic3x_write.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-15 13:56:15 +01:00
Arnaud Patard (Rtp) 697378972d ASoC: Change my mail address
Like other coworkers, I'm about leave Mandriva/Edge-It so I'm changing
my mail address to use my personal one.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-09-15 12:03:58 +01:00
Jarkko Nikula c6d5cca0a0 ASoC: Remove needless codec->bias_level assignment to SND_SOC_BIAS_OFF
This assignment is done by the snd_soc_register_codec so there is no need
to redo it in probe function of a codec driver.

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>
2010-09-15 12:03:34 +01:00
Jaroslav Kysela 1446c5fba7 ALSA: snd-aloop - fix the "PCM Playback Channels" kcontrol
Obvious copy-and-paste error.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-09-15 08:05:03 +02:00
Stephen Warren 3894335876 ALSA: patch_nvhdmi.c: Fix supported sample rate list.
22050 isn't a valid HDMI sample rate. 32000 is.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-By: Wei Ni <wni@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-14 23:28:18 +02:00
Kailang Yang 9ad0e49651 ALSA: hda - Add input jack layer support to Realtek codec
Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-14 23:22:00 +02:00
Arnd Bergmann 645ef9ef1f sound: autoconvert trivial BKL users to private mutex
The usage of the BKL in the OSS sound drivers is
trivial, and each of them only locks against itself,
so it can be turned into per-driver mutexes.

This is the script that was used for the conversion:

file=$1
name=$2
if grep -q lock_kernel ${file} ; then
    if grep -q 'include.*linux.mutex.h' ${file} ; then
            sed -i '/include.*<linux\/smp_lock.h>/d' ${file}
    else
            sed -i 's/include.*<linux\/smp_lock.h>.*$/include <linux\/mutex.h>/g' ${file}
    fi
    sed -i ${file} \
        -e "/^#include.*linux.mutex.h/,$ {
                1,/^\(static\|int\|long\)/ {
                     /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex);

} }"  \
    -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \
    -e '/[      ]*cycle_kernel_lock();/d'
else
    sed -i -e '/include.*\<smp_lock.h\>/d' ${file}  \
                -e '/cycle_kernel_lock()/d'
fi

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-14 23:14:50 +02:00
Andreas Schwab 7b6c3a34e9 ALSA: sound/ppc/powermac: remove undefined operations
Modifying an object twice without an intervening sequence point is
undefined.

Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-14 16:19:34 +02:00
Ben Hutchings a254dba37c ALSA: emux: Add trivial compat ioctl handler
Reported-by: Carmen Cru <carmen.cru@belgacom.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-14 16:18:11 +02:00
Joe Perches 47023ec774 sound: Use static const char * const where possible
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-14 16:15:37 +02:00
Takashi Iwai f3fbba6efb Merge branch 'fix/misc' into topic/misc 2010-09-14 16:15:29 +02:00
Jassi Brar 12280faea6 ASoC: Samsung: Debug PCM snd_soc_dai_driver registration
Each of the two PCM controllers need to be registered during probe
with appropriate 'name' of the dai driver.

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>
2010-09-14 08:50:17 +01:00
Mark Brown 28927011e4 ASoC: Set more meaningful name for SMDK64xx WM8580 audio
Since the SMDK64xx boards have two audio subsystems using the board
name as the card name by itself isn't so user friendly as it might
be.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-09-14 08:49:41 +01:00
Kuninori Morimoto 1c7fc7e547 ASoC: fsi codecs: Update card name field
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-09-14 08:49:12 +01:00