summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: fsi: Add DMAEngine supportKuninori Morimoto2012-02-191-0/+232
| | | | | | | | | | This patch supports DMAEngine to FSI driver. It supports only Tx case at this point. If platform/cpu doesn't support DMAEngine, FSI driver will use PIO transfer. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge tag 'v3.3-rc4' into for-3.4 in order to resolve the conflictMark Brown2012-02-195-7/+35
|\ | | | | | | | | | | | | | | | | | | resolved below within the FSI driver and allow the application of the dmaeengine conversion that depends on this resolution. Linux 3.3-rc4 Conflicts: sound/soc/sh/fsi.c
| * ALSA: intel8x0: Fix default inaudible sound on Gateway M520Daniel T Chen2012-02-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | BugLink: https://bugs.launchpad.net/bugs/930842 The reporter states that audio is inaudible by default without muting 'External Amplifier'. Add a quirk to handle his SSID so that changing the control is not necessary. Reported-and-tested-by: Benjamin Carlson <elderbubba0810@gmail.com> Cc: <stable@kernel.org> Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * Merge tag 'asoc-3.3' of ↵Takashi Iwai2012-02-141-5/+1
| |\ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus A simple fix from Morimoto-san for the pointer() operation in the FSI driver.
| | * ASoC: fsi: fixup fsi_pointer() calculation methodKuninori Morimoto2012-02-091-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | current fsi_pointer() calculation was not correct for FSI driver. This patch fix it up. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | Merge branch 'fix/acer-alc889-fix' into fix/hdaTakashi Iwai2012-02-131-0/+23
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: sound/pci/hda/patch_realtek.c Merged back the fix for Acer Aspire 6935 with ALC889 codec. The fix commit was based on 3.2 kernel so that it can be applied to stable kernel cleanly.
| | * | ALSA: hda - Fix silent speaker output on Acer Aspire 6935Takashi Iwai2012-02-131-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 3.2 kernel, the driver starts trying to assign the multi-io DACs before the speaker, thus it assigns DAC2/3 for multi-io and DAC4 for the speaker for a standard laptop setup like a HP, a speaker, a mic-in and a line-in. However, on Acer Aspire 6935, it seems that the speaker pin 0x14 must be connected with either DAC1 or 2; otherwise it results in silence by some reason, although the codec itself allows the routing to DAC3/4. As a workaround, the connection list of each pin is reduced to be mapped to either only DAC1/2 or DAC3/4, so that the compatible assignment as in kernel 3.1 is achieved. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42740 Cc: <stable@kernel.org> [v3.2+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Fix initialization of secondary capture source on VT1705Takashi Iwai2012-02-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VT1705 codec has two ADCs where the secondary ADC has no MUX but only a fixed connection to the mic pin. This confused the driver and it tries always overriding the input-source selection by assumption of the existing MUX for the secondary ADC, resulted in resetting the input-source at each time PM (including power-saving) occurs. The fix is simply to check the existence of MUX for secondary ADCs in the initialization code. Tested-by: Anisse Astier <anisse@astier.eu> Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Fix mute-LED VREF value for new HP laptopsTakashi Iwai2012-02-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new HP laptops turns off the mute LED with VREF50 or VREF80, but not in HIZ unlike the previous models. Since VREF50 (also 80) works with the previous models, let's use VREF50 for all. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ASoC: Add __devinit annotation for pxa2xx_ac97_probeAxel Lin2012-02-191-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes below build warning: WARNING: vmlinux.o(.text+0x1e632c): Section mismatch in reference from the function pxa2xx_ac97_probe() to the function .devinit.text:pxa2xx_ac97_hw_probe() The function pxa2xx_ac97_probe() references the function __devinit pxa2xx_ac97_hw_probe(). This is often because pxa2xx_ac97_probe lacks a __devinit annotation or the annotation of pxa2xx_ac97_hw_probe is wrong. Also rename pxa_ac97_dai to pxa_ac97_dai_driver to fix below build warning: LD sound/soc/pxa/built-in.o WARNING: sound/soc/pxa/built-in.o(.data+0x18c): Section mismatch in reference from the variable pxa_ac97_dai to the function .devinit.text:pxa2xx_ac97_probe() The variable pxa_ac97_dai references the function __devinit pxa2xx_ac97_probe() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: soc-core: Show the returned values on error messagesFabio Estevam2012-02-171-17/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Showing the returned values on error messages is useful information. While at it, use pr_err/pr_warn whenever possible. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8996: Make sure we bounce /RESET to resetMark Brown2012-02-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While it matches the current code only bringing the device out of reset isn't actually doing what the function says so make sure we set the GPIO high before we pull it low. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8996: Convert to module_i2c_driver()Mark Brown2012-02-171-19/+1
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8993: Convert to module_i2c_driver()Mark Brown2012-02-171-18/+1
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8962: Convert to module_i2c_driver()Mark Brown2012-02-171-11/+1
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: dapm: Only mark pin widgets as dirty if we actually change stateMark Brown2012-02-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Small optimisation for noop state updates. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | | | ASoC: wm8994: Convert to use DAI widget routing rather than streamsMark Brown2012-02-171-6/+14
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | | | ASoC: dapm: Convert stream events to use DAI widgetsMark Brown2012-02-171-26/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This means we don't need to walk through every single widget in the system for each stream event which is a bit less silly. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | | | ASoC: dapm: Implement and instantiate DAI widgetsMark Brown2012-02-172-8/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to allow us to do smarter things with DAI links create DAPM widgets which directly represent the DAIs in the DAPM graph. These are automatically created from the DAIs as we probe the card with references held in both directions between the widget and the DAI. The widgets are not made available for direct instantiation by drivers, they are created automatically from the DAIs. Drivers should be updated to create stream routes using DAPM maps rather than by annotating AIF and DAC widgets with streams. In order to ease transition to this model from existing drivers we automatically create DAPM routes between the DAI widgets and the existing stream widgets which are started and stopped by the DAI widgets, though the old stream handling mechanism is still in place. This also has the nice effect of removing non-DAPM devices as any device with a DAI acquires a widget automatically which will allow future simplifications to the core DAPM logic. The intention is that in future the AIF and DAI widgets will gain the ability to interact such that we are able to manage activity on individual channels independantly rather than powering up and down the entire AIF as we do currently. Currently we only generate these for CODECs, mostly as I have no systems with non-CODEC DAPM to integrate with. It should be a simple matter of programming to add the additional hookup for these. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | | | ASoC: dapm: Constify lots of names that are never modifiedMark Brown2012-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Neater and avoids warnings when used in other places where const strings are desired. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | | | ASoC: dapm: Supply the DAI and substream when calling stream eventsMark Brown2012-02-173-39/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to allow us to do something smarter than iterate through widgets doing strcmp() to work out what to power up for stream events change the interface used to generate them to be based on the combination of a DAI and a stream direction rather than just a simple string identifying the stream. At some point we'll probably want a set of channels too. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | | | ASoC: dapm: Refactor snd_soc_dapm_new_widget() to return the widgetMark Brown2012-02-171-21/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let the caller fiddle with the widget after we're done in order to facilitate further refactoring. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | | | ASoC: dapm: Unexport snd_soc_dapm_new_control()Mark Brown2012-02-171-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Everything now uses snd_soc_dapm_new_controls() instead so we don't need to make it part of the external API. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | | | ASoC: Change spitz_ext_control to take dapm as argument.Axel Lin2012-02-171-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes below build warning: CC sound/soc/pxa/spitz.o sound/soc/pxa/spitz.c: In function 'spitz_startup': sound/soc/pxa/spitz.c:116: warning: passing argument 1 of 'spitz_ext_control' from incompatible pointer type sound/soc/pxa/spitz.c:47: note: expected 'struct snd_soc_card *' but argument is of type 'struct snd_soc_codec *' Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: ak4535: Convert to direct regmap API usageMark Brown2012-02-162-13/+55
| | | | | | | | | | | | | | | | | | | | | | | | I suspect the timer register may also be volatile. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: ak4535: Remove bitrotted driver versionMark Brown2012-02-161-4/+0
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: ak4535: Make I2C usage unconditionalMark Brown2012-02-161-23/+1
| | | | | | | | | | | | | | | | | | | | | | | | Convert to module_i2c_driver() too. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: ak4535: Remove -codec from driver nameMark Brown2012-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Redundant, the device is only a CODEC. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8962: Convert to runtime PM for bias off managementMark Brown2012-02-161-41/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows userspace control of final power off, allowing policy decisions for register configuration retention. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8962: Don't automatically enable and disable FLLMark Brown2012-02-161-66/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Only enable and disable the FLL when explicitly told to, supporting some additional use cases and making the driver behaviour more standard. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8962: Clean up register dump cruftMark Brown2012-02-161-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | No longer needed with regmap. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8962: Add new SYSCLK ratios for new device revisionsMark Brown2012-02-161-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8962: Log the selected SYSCLK ratioMark Brown2012-02-161-0/+2
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8962: Only configure BCLK in hw_params when audio is activeMark Brown2012-02-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise we might not have a sensible clocking setup ready. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8962: Update the clocking when setting system clockMark Brown2012-02-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure we update for any changes in cases where we reconfigure while live (eg, for analogue bypass). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: spitz: Fix kcontrols to use card instead of codecLiam Girdwood2012-02-161-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Machine kcontrols now use card instead of codec for thier "chip". Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Show device id in the debug messageAxel Lin2012-02-153-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Show the id we read when the id mismatch is detected. This is useful for debugging. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: Get correct revision id for wm2200Axel Lin2012-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: core: add platform DAPM debugfs supportSebastien Guiriec2012-02-151-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow platform widgets to be visible in debugfs like codec widgets. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: dapm: Convert pin switches to use snd_soc_cardMark Brown2012-02-151-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the addition of the non-CODEC control adds card controls like the DAPM pin switch have been broken as they are expecting the private data for the control to be the CODEC but it's now the card. Fix that for the pin switches, an audit of other drivers is required. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | | | ASoC: core: Convert CODEC debugfs init to use dev_warn()Liam Girdwood2012-02-151-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the codec debugfs initialisation to use dev_warn() instead of printk(KERN_WARNING). Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: dapm: Notify stream event to all card components.Liam Girdwood2012-02-151-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently when DAPM widgets are power sequenced the stream_event() completion callback is only called for the stream_event originator DAPM context. Other components in the card may also be interested so make sure they are also notified of any widget power events. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: dapm - Make DAPM reset code a separate function.Liam Girdwood2012-02-151-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's useful to export the DAPM reset as a static function for future use by other DAPM functions. e.g. The dynamic PCM query widgets resets the DAPM graph before working out active paths. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8994: Use slow start for VMIDMark Brown2012-02-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Improves performance on power up. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm9081: Use idle_bias_offMark Brown2012-02-141-25/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main role of the WM9081 is as a class D speaker amplifier so there is no concern about pops. There are also very few registers and a fast power up time so we can happily mark the driver as idle_bias_off. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm9081: Move WM9081 IRQ platform data handling into I2C probeMark Brown2012-02-141-11/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Better style and better supports idle_bias_off which we're going to implement. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8988: Remove unneded -codec from driver nameMark Brown2012-02-131-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8988: Convert to direct regmap API usageMark Brown2012-02-131-20/+120
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm9081: Use module_i2c_driverMark Brown2012-02-131-22/+1
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: tegra+alc5632: Added digital microphone DAPM widget.Leon Romanovsky2012-02-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ALC5632 codec supports digital microphone. This patch adds DAPM widget. Signed-off-by: Leon Romanovsky <leon@leon.nu> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud