summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)AuthorFilesLines
2012-05-23Merge tag 'sound-3.5' of ↵Linus Torvalds251-7963/+21166
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "This is the first big chunk for 3.5 merges of sound stuff. There are a few big changes in different areas. First off, the streaming logic of USB-audio endpoints has been largely rewritten for the better support of "implicit feedback". If anything about USB got broken, this change has to be checked. For HD-audio, the resume procedure was changed; instead of delaying the resume of the hardware until the first use, now waking up immediately at resume. This is for buggy BIOS. For ASoC, dynamic PCM support and the improved support for digital links between off-SoC devices are major framework changes. Some highlights are below: * HD-audio - Avoid accesses of invalid pin-control bits that may stall the codec - V-ref setup cleanups - Fix the races in power-saving code - Fix the races in codec cache hashes and connection lists - Split some common codes for BIOS auto-parser to hda_auto_parser.c - Changed the PM resume code to wake up immediately for buggy BIOS - Creative SoundCore3D support - Add Conexant CX20751/2/3/4 codec support * ASoC - Dynamic PCM support, allowing support for SoCs with internal routing through components with tight sequencing and formatting constraints within their internal paths or where there are multiple components connected with CPU managed DMA controllers inside the SoC. - Greatly improved support for direct digital links between off-SoC devices, providing a much simpler way of connecting things like digital basebands to CODECs. - Much more fine grained and robust locking, cleaning up some of the confusion that crept in with multi-component. - CPU support for nVidia Tegra 30 I2S and audio hub controllers and ST-Ericsson MSP I2S controolers - New CODEC drivers for Cirrus CS42L52, LAPIS Semiconductor ML26124, Texas Instruments LM49453. - Some regmap changes needed by the Tegra I2S driver. - mc13783 audio support. * Misc - Rewrite with module_pci_driver() - Xonar DGX support for snd-oxygen - Improvement of packet handling in snd-firewire driver - New USB-endpoint streaming logic - Enhanced M-audio FTU quirks and relevant cleanups - Increment the support of OSS devices to 256 - snd-aloop accuracy improvement There are a few more pending changes for 3.5, but they will be sent slightly later as partly depending on the changes of DRM." Fix up conflicts in regmap (due to duplicate patches, with some further updates then having already come in from the regmap tree). Also some fairly trivial context conflicts in the imx and mcx soc drivers. * tag 'sound-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (280 commits) ALSA: snd-usb: fix stream info output in /proc ALSA: pcm - Add proper state checks to snd_pcm_drain() ALSA: sh: Fix up namespace collision in sh_dac_audio. ALSA: hda/realtek - Fix unused variable compile warning ASoC: sh: fsi: enable chip specific data transfer mode ASoC: sh: fsi: call fsi_hw_startup/shutdown from fsi_dai_trigger() ASoC: sh: fsi: use same format for IN/OUT ASoC: sh: fsi: add fsi_version() and removed meaningless version check ASoC: sh: fsi: use register field macro name on IN/OUT_DMAC ASoC: tegra: Add machine driver for WM8753 codec ALSA: hda - Fix possible races of accesses to connection list array ASoC: OMAP: HDMI: Introduce codec ARM: mx31_3ds: Add sound support ASoC: imx-mc13783 cleanup mx31moboard: Add sound support ASoC: mc13783 codec cleanups ASoC: add imx-mc13783 sound support ASoC: Add mc13783 codec mfd: mc13xxx: add codec platform data ASoC: don't flip master of DT-instantiated DAI links ...
2012-05-22Merge branch 'for-linus' of ↵Linus Torvalds3-3/+3
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull trivial updates from Jiri Kosina: "As usual, it's mostly typo fixes, redundant code elimination and some documentation updates." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (57 commits) edac, mips: don't change code that has been removed in edac/mips tree xtensa: Change mail addresses of Hannes Weiner and Oskar Schirmer lib: Change mail address of Oskar Schirmer net: Change mail address of Oskar Schirmer arm/m68k: Change mail address of Sebastian Hess i2c: Change mail address of Oskar Schirmer net: Fix tcp_build_and_update_options comment in struct tcp_sock atomic64_32.h: fix parameter naming mismatch Kconfig: replace "--- help ---" with "---help---" c2port: fix bogus Kconfig "default no" edac: Fix spelling errors. qla1280: Remove redundant NULL check before release_firmware() call remoteproc: remove redundant NULL check before release_firmware() qla2xxx: Remove redundant NULL check before release_firmware() call. aic94xx: Get rid of redundant NULL check before release_firmware() call tehuti: delete redundant NULL check before release_firmware() qlogic: get rid of a redundant test for NULL before call to release_firmware() bna: remove redundant NULL test before release_firmware() tg3: remove redundant NULL test before release_firmware() call typhoon: get rid of redundant conditional before all to release_firmware() ...
2012-05-22Merge tag 'pinctrl' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-socLinus Torvalds1-0/+8
Pull arm soc-specific pinctrl changes from Olof Johansson: "With this, five platforms are moving to the relatively new pinctrl subsystem for their pin management, replacing the older soc specific in-kernel interfaces with common code. There is quite a bit of net addition of code for each platform being added to the pinctrl subsystem. But the payback comes later when adding new boards can be done by only providing new device trees instead." Fix up trivial conflicts in arch/arm/mach-ux500/{Makefile,board-mop500.c} * tag 'pinctrl' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (61 commits) mtd: nand: gpmi: fix compile error caused by pinctrl call ARM: PRIMA2: select PINCTRL and PINCTRL_SIRF in Kconfig ARM: nomadik: enable PINCTRL_NOMADIK where needed ARM: mxs: enable pinctrl support video: mxsfb: adopt pinctrl support ASoC: mxs-saif: adopt pinctrl support i2c: mxs: adopt pinctrl support mtd: nand: gpmi: adopt pinctrl support mmc: mxs-mmc: adopt pinctrl support serial: mxs-auart: adopt pinctrl support serial: amba-pl011: adopt pinctrl support spi/imx: adopt pinctrl support i2c: imx: adopt pinctrl support can: flexcan: adopt pinctrl support net: fec: adopt pinctrl support ARM: ux500: switch MSP to using pinctrl for pins ARM: ux500: alter MSP registration to return a device pointer ARM: ux500: switch to using pinctrl for uart0 ARM: ux500: delete custom pin control system ARM: ux500: switch over to Nomadik pinctrl driver ...
2012-05-22Merge tag 'asoc-3.5' of ↵Takashi Iwai8-66/+470
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Last minute updates These are all new code, they've been in -next already so should be OK for merge this time round. I'd been planning to send a pull request today after they'd had a bit of exposure there to make sure breakage didn't propagate into your tree.
2012-05-21Merge tag 'regulator-3.5' of ↵Linus Torvalds1-2/+6
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator updates from Mark Brown: "The major thing here is the addition of some helpers to factor code out of drivers, making a fair proportion of regulators much more just data rather than code which is nice. - Helpers in the core for regulators using regmap, providing generic implementations of the enable and voltage selection operations which just need data to describe them in the drivers. - Split out voltage mapping and voltage setting, allowing many more drivers to take advantage of the infrastructure for selectors. - Loads and loads of cleanups from Axel Lin once again, including many changes to take advantage of the above new framework features - New drivers for Ricoh RC5T583, TI TPS62362, TI TPS62363, TI TPS65913, TI TWL6035 and TI TWL6037. Some of the registration changes to support the core refactoring caused so many conflicts that eventually topic branches were abandoned for this release." * tag 'regulator-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (227 commits) regulator: tps65910: use of_node of matched regulator being register regulator: tps65910: dt: support when "regulators" node found regulator: tps65910: add error message in case of failure regulator: tps62360: dt: initialize of_node param for regulator register. regulator: tps65910: use devm_* for memory allocation regulator: tps65910: use small letter for regulator names mfd: tpx6586x: Depend on regulator regulator: regulator for Palmas Kconfig regulator: regulator driver for Palmas series chips regulator: Enable Device Tree for the db8500-prcmu regulator driver regulator: db8500-prcmu: Separate regulator registration from probe regulator: ab3100: Use regulator_map_voltage_iterate() regulator: tps65217: Convert to set_voltage_sel and map_voltage regulator: Enable the ab8500 for Device Tree regulator: ab8500: Split up probe() into manageable pieces regulator: max8925: Remove check_range function and max_uV from struct rc5t583_regulator_info regulator: max8649: Remove unused check_range() function regulator: rc5t583: Remove max_uV from struct rc5t583_regulator_info regulator: da9052: Convert to set_voltage_sel and map_voltage regulator: max8952: Use devm_kzalloc ...
2012-05-21Merge branch 'topic/misc' into for-linusTakashi Iwai75-1646/+2148
2012-05-21Merge branch 'topic/hda' into for-linusTakashi Iwai19-1387/+1612
2012-05-21ALSA: snd-usb: fix stream info output in /procDaniel Mack1-0/+12
Set some substream struct members to make the proc interface code work again. Signed-off-by: Daniel Mack <zonque@gmail.com> Reported-by: Felix Homann <linuxaudio@showlabor.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-21Merge branch 'topic/asoc' into for-linusTakashi Iwai156-4908/+16954
2012-05-21ALSA: pcm - Add proper state checks to snd_pcm_drain()Takashi Iwai1-1/+11
The handling for some PCM states is missing for snd_pcm_drain(). At least, XRUN streams should be simply dropped to SETUP, and a few initial invalid states should be rejected. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-21ALSA: sh: Fix up namespace collision in sh_dac_audio.Paul Mundt1-2/+2
The module_platform_driver() conversion ended up tripping over the driver name, leading to confusion in the macro with regards to 'driver' being redefined. rename it to something slightly more suitable to avoid namespace collisions. sound/sh/sh_dac_audio.c:444:122: error: conflicting types for 'driver_init' include/linux/device.h:773:6: note: previous declaration of 'driver_init' was here make[3]: *** [sound/sh/sh_dac_audio.o] Error 1 Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-21ALSA: hda/realtek - Fix unused variable compile warningTakashi Iwai1-1/+0
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-19ASoC: sh: fsi: enable chip specific data transfer modeKuninori Morimoto1-34/+143
SupherH FSI2 can use special data transfer, but it depends on CPU-FSI2 connection style. We can use 16bit data stream mode if it was valid connection, and it is required for 16bit data DMA transfer / SPDIF sound output. We can use 24bit data transfer if it was invalid connection. We can select connection type if CPU is SH7372, and it is always valid connection if latest SuperH. This patch adds new bus_option and fsi_bus_setup() for supporting these feature. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-19ASoC: sh: fsi: call fsi_hw_startup/shutdown from fsi_dai_trigger()Kuninori Morimoto1-2/+5
fsi_hw_startup/shutdown() needs the setup of bus width, but it is impossible to get parameter of snd_pcm_runtime at this timing. So, these functions are changed so that be called from fsi_dai_trigger(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-19ASoC: sh: fsi: use same format for IN/OUTKuninori Morimoto1-16/+6
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-19ASoC: sh: fsi: add fsi_version() and removed meaningless version checkKuninori Morimoto1-18/+8
This patch adds fsi_version() function for accessing version. And there were some meaningless version check which never hit. This patch removed it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-19ASoC: sh: fsi: use register field macro name on IN/OUT_DMACKuninori Morimoto1-2/+2
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-19ASoC: tegra: Add machine driver for WM8753 codecStephen Warren3-0/+236
One such machine is Whistler. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-19ALSA: hda - Fix possible races of accesses to connection list arrayTakashi Iwai4-56/+52
Like the previous fixes for cache hash accesses, a protection over accesses to the widget connection list array must be provided. Together with this action, remove snd_hda_get_conn_list() which can be always race, and replace it with either snd_hda_get_num_conns() or snd_hda_get_connections() calls. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-18ASoC: OMAP: HDMI: Introduce codecRicardo Neri4-0/+76
Introduce codec for HDMI. At the moment, this is a dummy codec. In the future it will parse the EDID to modify the supported parameters, such as the number of channels and the sample rates. At the moment, it blindly supports all the sample rates and audio channels described in the HDMI 1.4a specification. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-18ASoC: imx-mc13783 cleanupPhilippe Rétornaz1-8/+1
Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-18ASoC: mc13783 codec cleanupsPhilippe Rétornaz1-21/+7
Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-18ASoC: add imx-mc13783 sound supportPhilippe Rétornaz3-0/+173
Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-18ASoC: Add mc13783 codecPhilippe Rétornaz4-0/+834
Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-16Merge tag 'sound-3.4' of ↵Linus Torvalds3-12/+12
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "A few last-minute regression fixes for 3.4 final kernel. All trivial, and Cc'ed to stable kernel." * tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ASoC: wm8994: Fix AIF2ADC power down ALSA: hda/idt - Fix power-map for speaker-pins with some HP laptops ASoC: cs42l73: Sync digital mixer kcontrols to allow for 0dB
2012-05-16ASoC: don't flip master of DT-instantiated DAI linksStephen Warren1-1/+2
Commit 4924082 "ASoC: core: Flip master for CODECs in the CPU slot of a CODEC<->CODEC link" added code that was conditional on there being no PCM/DMA driver for the link. However, it failed to cover the case where the link was instantiated from device tree, and hence was specified by DT node rather than name. This prevents the following error on Toshiba AC100: aplay: pcm_write:1603: write error: Input/output error Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-15Merge tag 'asoc-3.4' of ↵Takashi Iwai2-9/+9
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Last minute fixes Some last minute fixes for ASoC. Small, focused changes to specific drivers.
2012-05-15ASoC: wm8994: Fix AIF2ADC power downMark Brown1-1/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2012-05-15ALSA: hda/idt - Cache the power-map bitsTakashi Iwai1-3/+18
For avoiding unnecessary codec read/write verbs at each jack detection. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-15ALSA: hda/idt - Clean up power-map check codeTakashi Iwai1-10/+9
Turn off the power-map for unused ports and check the jack-detection capability in the first place. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-15Merge branch 'fix/hda' into topic/hdaTakashi Iwai3-6/+8
2012-05-15ALSA: hda - Evaluate gpio_led hints at the right momentTakashi Iwai1-7/+5
The hints regarding the mute-LED must be evaluated during the codec parsing. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-15ALSA: usb-audio - Call get_min_max_*() after determining the name stringTakashi Iwai1-13/+13
get_min_max_with_quirks() must be called after the control id name string is determined, but the current code changes the id name string after calling the function. Reported-by: Christian Melki <christian.melki@ericsson.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-15ALSA: hda - add probe_mask=0x101 automatically for WinFast VP200 HJaroslav Kysela1-0/+2
This patch just sets the codec probe_mask=0x101 value for the WinFast VP200 H PCoIP card based on Teradici hardware matching the PCI subsystem vendor/device IDs 3a21:040d. The user reported no codec detection issues without this explicit codec configuration. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-15ALSA: snd-aloop - improve the sample copy accurracyJaroslav Kysela1-27/+35
Maintain both streams (playback, capture) synchronized. Previous code didn't take in account the small byte count drifts caused by the irq position rounding. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-15ALSA: hda/idt - Fix power-map for speaker-pins with some HP laptopsTakashi Iwai1-3/+3
BIOS on some HP laptops don't set the speaker-pins as fixed but expose as jacks, and this confuses the driver as if these pins are jack-detectable. As a result, the machine doesn't get sounds from speakers because the driver prepares the power-map update via jack unsol events which never come up in reality. The bug was introduced in some time in 3.2 for enabling the power-mapping feature. This patch fixes the problem by replacing the check of the persistent power-map bits with a proper is_jack_detectable() call. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=43240 Cc: <stable@vger.kernel.org> [v3.2+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-14ASoC: wm8350: Remove direct usage of codec->control_dataMark Brown1-11/+16
Supports regmap conversion. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-14ASoC: tlv320aic3x: Remove unused, non-standard headset detectionMark Brown1-18/+0
aic3x_set_headset_detection() isn't made available outside the driver or referenced within the driver which sparse notices and complains about. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-14ALSA: firewire-lib: optimize packet flushingClemens Ladisch2-1/+8
Trying to flush completed packets is pointless when the pointer callback was called from the packet completion callback; avoid it. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-14ALSA: firewire-lib: flush completed packets when reading PCM positionClemens Ladisch2-12/+15
By flushing all completed but not yet reported packets before reading the PCM hardware position, the granularity of the pointer is improved from the interrupt interval to the packet size. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-14ALSA: firewire-lib: taskletize the snd_pcm_period_elapsed() callClemens Ladisch2-13/+31
The following patch might introduce this call chain: PCM .pointer callback + fw_iso_context_flush_completions + packet callback + snd_pcm_period_elapsed + PCM .pointer callback Recursive calls to the pointer callback are not possible due to the PCM group locking, so avoid this by moving the period notification into a separate tasklet. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-13ASoC: wm8350: Don't use irq_baseMark Brown1-19/+27
In preparation for irq_domain support change the code to the not switch based on the irq number. This actually makes things simpler, if slightly repetitive. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-13ASoC: lm49453: Fix author e-mail addressMark Brown1-1/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-13ASoC: lm49453: Staticise non-exported symbol lm45453_daiMark Brown1-1/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-13Merge tag 'v3.4-rc7' into for-3.5Mark Brown24-108/+370
Linux 3.4-rc7 Conflicts): drivers/base/regmap/regmap.c (overlap with bug fixes) sound/soc/blackfin/bf5xx-ssm2602.c (overlap with bug fixes)
2012-05-12ASoC: wm8731: Convert to devm_ functionsMark Brown1-27/+10
Use the devm_ versions of the regmap and memory allocation functions, saving some error handling code. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-12ASoC: wm5100: Convert to module_i2c_driver()Mark Brown1-11/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-12ASoC: littlemill: Use a widget to keep track of AIF2 clockingMark Brown1-33/+53
Since we only need to clock AIF2 when it's actively in use start up the FLL for it using a supply widget which supplies AIF2CLK. This both makes the sequencing more robust and ensures we minimise power consumption. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-12Merge remote-tracking branches 'regulator/topic/core', ↵Mark Brown1-2/+6
'regulator/topic/regmap' and 'regulator/topic/register' into regulator-next
2012-05-12ASoC: mxs: add device tree support for mxs-sgtl5000Shawn Guo1-0/+46
Add device tree probe for mxs-sgtl5000 machine driver. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>