summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)AuthorFilesLines
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>
2012-05-12ASoC: mxs: add device tree support for mxs-saifShawn Guo1-18/+54
Add device tree probe for mxs-saif driver. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-12ASoC: mxs: mxs-pcm does not need to be a plaform_driverShawn Guo5-35/+15
Same as the commit 518de86 (ASoC: tegra: register 'platform' from DAIs, get rid of pdev), it makes mxs-pcm not a platform_driver but helper to register "platform", so that the platform_device for mxs-pcm can be saved completely. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-12ALSA: hda - Disable FLOAT format supportTakashi Iwai1-0/+2
It turned out that the FLOAT format on CS4206 results in simple noises, which implies that this is no right format as is. Since CS4206 is the only codec supporting the float, let's disable it until we find the correct format. Reported-and-tested-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-12ALSA: hda/conexant - Correct vendor IDs for new codecsTakashi Iwai1-6/+9
Never trust datasheet... Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-12ASoC: mxs-saif: adopt pinctrl supportShawn Guo1-0/+8
Cc: alsa-devel@alsa-project.org Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-11ASoC: cs42l73: Sync digital mixer kcontrols to allow for 0dBBrian Austin1-8/+8
Some of the Digital mixer kcontrol max values were off by 1 not allowing a max of 0dB. Signed-off-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2012-05-11ALSA: usb-audio: Fix commentMark Hills1-10/+2
Explained by Takashi in <s5hfwbtmz0q.wl%tiwai@suse.de> > The reason is because get_min_max*() isn't called in the place you > created these controls, and get_min_max() would be called only for > integer volumes later even if uninitialized. A short cut for booleans. Signed-off-by: Mark Hills <mark@pogo.org.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-11ALSA: pcm - Optimize the call of snd_pcm_update_hw_ptr() in read/write loopTakashi Iwai1-8/+10
In the PCM read/write loop, the driver calls snd_pcm_update_hw_ptr() at each time at the beginning of the loop. Russell King reported that this hogs CPU significantly. The current code assumes that the pointer callback is very fast and cheap, also not too much fine grained. It's not true in all cases. When the pointer advances short samples while the read/write copy has been performed, the driver updates the hw_ptr and gets avail > 0 again. Then it tries to read/write these small chunks. This repeats until the avail really gets to zero. For avoiding this situation, a simple workaround is to call snd_pcm_update_hw_ptr() only once at starting the loop, assuming that the read/write copy is performed fast enough. If the available count becomes short, it goes to snd_pcm_wait_avail() anyway, and this processes right. Tested-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-11ALSA: atmel/ac97c: correct the unexpected behavior when using uninitial ↵Bo Shen1-0/+2
value for reset pin When pdata->reset_pin is passed with a negative value (means gpio is invalid), then chip->reset_pin will not be assigned to a vaule, it will use default value 0. This will cause unexpected behavior. So, add this patch to correct. Signed-off-by: Bo Shen <voice.shen@atmel.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-10Merge tag 'sound-3.4' of ↵Linus Torvalds6-15/+30
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Slightly more than expected as rc7, but all are reasonablly small fixes. A few additions of HD-audio fixup entries, a couple of other regression fixes including a revert, and a few other trivial oneliners." * tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ASoC: sh: fix migor.c compilation ALSA: HDA: Lessen CPU usage when waiting for chip to respond Revert "ALSA: hda - Set codec to D3 forcibly even if not used" ALSA: hda/realtek - Call alc_auto_parse_customize_define() always after fixup ALSA: hdsp - Provide ioctl_compat ALSA: hda/realtek - Add missing CD-input pin for MSI-7350 mobo ALSA: hda/realtek - Add a fixup for Acer Aspire 5739G ALSA: echoaudio: Remove incorrect part of assertion
2012-05-10ALSA: hda - Fix concurrent hash accessesTakashi Iwai2-81/+121
The amp and caps hashes aren't protected properly for concurrent accesses. Protect them via a new mutex now. But it can't be so simple as originally thought: since the update of a hash table entry itself might trigger the power-up sequence which again accesses the hash table, we can't cover the whole function simply via mutex. Thus the update part has to be split from the mutex and revalidated. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-10ALSA: hda - Protect SPDIF-related stuff via spdif_mutexTakashi Iwai2-12/+27
Add the missing mutex protection or move into the protected part for SPDIF access codes for codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-10ASoC: pcm: Staticise non-exported functionsMark Brown1-10/+12
They pollute the global namespace and cause sparse to complain. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-05-10ASoC: mxs: add __devinit for mxs_saif_probeShawn Guo1-1/+1
Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-10ASoC: ux500: Don't make the CPU I2S driver user selectableMark Brown1-3/+1
It can only be used with a machine driver so the idiomatic thing for ASoC is to select this driver from the machine driver. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-10ASoC: ux500: Fix dependenciesMark Brown1-0/+1
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-10ALSA: hda - Add Conexant CX20751/2/3/4 codec supportTakashi Iwai1-0/+6
These are almost compatible with the older Conexant codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-10ALSA: hda - Add the support for Creative SoundCore3DTakashi Iwai1-4/+22
The controller is compatible with HD-audio 1.0a with some specific restrictions. - The BDLE entries can't be over 4k boundary - No position-buffer and no MSI Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-09ASoC: cs42l52: Staticise non-exported symbolsMark Brown1-2/+2
Makes sparse happy and avoids polluting the global namespace. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Brian Austin <brian.austin@cirrus.com>
2012-05-09ASoC: wm8994: Use regmap directly for wm8994_mic_workMark Brown1-7/+9
Make it clearer what context we're operating in. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-09ASoC: wm8994: Add debounce to wm8994 mic detectionMark Brown2-7/+22
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-09ASoC: wm8994: Fix sparse warning due to use of 0 as NULLMark Brown1-1/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-09ASoC: cs42l73: Use DAPM routes to hook AIF widgets to DAI'sBrian Austin1-13/+28
Signed-off-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-09ASoC: cs42l73: Remove Chip ID's from reg_defaultBrian Austin1-3/+0
We need to read the real register values Signed-off-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-09ASoC: cs42l73: Convert to module_i2c_driver()Brian Austin1-19/+1
Signed-off-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-09Merge tag 'asoc-3.4' of ↵Takashi Iwai1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Build fix for SH in 3.4 An API update which wasn't sufficiently thorough in updating the tree...
2012-05-09ASoC: rt5631: Convert to direct regmap API usageMark Brown1-41/+54
We're trying to remove all usage of the ASoc level cache and I/O code and for a device like this with a pretty sparse register map the rbtree cache is a better idea anyway. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-09ASoC: rt5631: Convert to module_i2c_driver()Mark Brown1-11/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-09ASoC: Ux500: Add MSP I2S-driverOla Lilja8-0/+2238
Add driver for running I2S with the MSP-block. Signed-off-by: Ola Lilja <ola.o.lilja@stericsson.com> [Fixed trailing whitespace -- broonie] Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-09ASoC: sh: fix migor.c compilationGuennadi Liakhovetski1-1/+1
Fix a recent compilation breakage, caused by a change in SH clock API. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-09ALSA: hda - More robustify the power-up/down sequenceTakashi Iwai2-8/+16
Check the power_transition up/down state instead of boolean bit, so that the power-up sequence can cancel the pending power-down work properly. Also, by moving cancel_delayed_work_sync() before the actual power-up sequence, make sure that the delayed power-down is completed. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-09ALSA: hda - Remove pre_resume and post_suspend opsTakashi Iwai3-27/+0
Since the recent commit, the resume procedure is always performed at the resume time. This makes the pre_resume hack for VREF mute LED on some HP laptops superfluous. As this is the only user of pre_resume (and there is no user of post_suspend) ops, let's kill them again. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-09ALSA: HDA: Lessen CPU usage when waiting for chip to respondDavid Henningsson1-2/+4
When an IRQ for some reason gets lost, we wait up to a second using udelay, which is CPU intensive. This patch improves the situation by waiting about 30 ms in the CPU intensive mode, then stepping down to using msleep(2) instead. In essence, we trade some granularity in exchange for less CPU consumption when the waiting time is a bit longer. As a result, PulseAudio should no longer be killed by the kernel for taking up to much RT-prio CPU time. At least not for *this* reason. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Tested-by: Arun Raghavan <arun.raghavan@collabora.co.uk> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-08ASoC: alc5632: Convert to devm_regmap_init_i2c()Axel Lin1-7/+1
Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-08ASoC: alc5632: Convert to module_i2c_driver()Axel Lin1-19/+1
Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-08ASoC: alc5623: Convert to module_i2c_driver()Axel Lin1-19/+1
Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-05-08ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.cTakashi Iwai13-675/+690
Just code shuffles. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-08ALSA: hda - Move up the fixup helper functions to the library moduleTakashi Iwai5-242/+309
Move the fixup helper functions in patch_realtek.c to hda_auto_parser.c so that they can be used in other codec drivers like patch_conexant.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-08ALSA: hda - Protect the power-saving count with spinlockTakashi Iwai2-2/+22
To avoid some races. Still not perfect, but now a bit safer. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-08ALSA: hda - Clear the power-saving states properly at resetTakashi Iwai1-0/+3
Some power-saving states have been left unchanged in snd_hda_codec_reset(), and this is a potential danger because the function may be called in various situations including the continuous operation after that call. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-08ALSA: hda - Always resume the codec immediatelyTakashi Iwai3-17/+8
This is a fix for the problem in commit 785f857d1c, the pop noise issue on some machines with ALC269. The problem was the uninitialized state after the resume due to the delayed resume of the codec chips. In that commit, we tried to fix by forcibly putting the codec to D3 at suspend. But, this still also leaves the uninitialized state after resume, and it _might_ be still problematic with some BIOS. Since the commit turned out to regress another issues, we reverted it in the end. Now, in this fix, try to fix by turning on the codec immediately at the resume path. We need to take care of the power-saving in this case. When the device is woken up at the power-saved state, it should go power-saving again after the resume. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-08sound: allow the unit search until 256 in sound_core.cTakashi Iwai1-1/+1
The upper limit of the available minors isn't necessarily 128 + unit, but it's rather up to 256. Fixing this allows more than 8 devices. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-08ALSA: Fix the card number limit of OSS-emulationTakashi Iwai1-3/+3
There are left-over codes from the ancient days with the static device number limitation of 8. Actaully OSS can support up to 16 cards. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-08ALSA: hda - Fix possible access to uninitialized work structTakashi Iwai1-7/+8
The work struct must be initialized before the possible call in the destructor. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-08ALSA: hda/realtek - Call a common helper for alc_spec initializationTakashi Iwai1-75/+61
Just a clean up by calling the same helper function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-05-08Merge branch 'fix/hda' into topic/hdaTakashi Iwai16-87/+283