summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: Harmony: Call snd_soc_dapm_nc_pinStephen Warren2011-02-131-0/+5
| | | | | Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Tegra: Harmony: Implement mic detectionStephen Warren2011-02-131-3/+22
| | | | | | | | | * Add jack definition for mic jack * Request wm8903 to enable mic detection * Force mic bias on, since it's required for mic detection Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Allow use sleeping gpio in soc-jackJarkko Nikula2011-02-111-1/+1
| | | | | | | | | | It is safe to use sleeping gpio in snd_soc_jack_gpio_detect as it is not called from interrupt context. This avoids WARN_ON from __gpio_get_value if sleeping gpio is registered for jack. 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>
* ASoC: mid-x86: Use the soc-jack apis for jack type detectionVinod Koul2011-02-112-3/+13
| | | | | | | | | | | This patch modifies the mfld_machine to use the new jack apis for adding the voltage zones for jack type detection. It also modifed TI sn95031 codec driver to use these new apis Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Harsha Priya <priya.harsha@intel.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'for-2.6.38' into for-2.6.39Mark Brown2011-02-111-1/+1
|\
| * ASoC: CX20442: fix wrong reg_cache_default contentJanusz Krzysztofik2011-02-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Content of the CX20442's snd_soc_codec_driver.reg_cache_default pointed area, introduced with my recent NULL pointer dereferece fix (commit f019ee5feb344ff0b22b58df4568676295aae14f), occured wrong after further testing, more thorough than just booting successfully. There are two problems with it: 1) It should read (1 << CX20442_TELOUT) | (1 << CX20442_MIC), not CX20442_TELOUT | CX20442_MIC. 2) While correctly matching actual codec hardware state on boot when fixed per 1), a few more code modifications would still be required to reflect that state not only into register cache, but also force them into DAPM pins state, otherwise an inconsitency occures which may prevent further codec state changes from being applied correctly. As a result, the phone stops ringing after reboot, until someone picks up the handset for the first time. Revert that reg_cache_default content to a working, previous de facto default value of 0, in hope this change can still be accepted as an rc cycle fix. Created and tested against linux-2.6.38-rc4 Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Use explicit sequence for WM8903 bias offMark Brown2011-02-111-45/+21
| | | | | | | | | | | | | | | | | | | | This makes no real difference compared to the write sequencer sequence that was previously used but can run without a clock being provided. Also remove the write sequencer support code as this was the last use of it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Don't use write sequencer to power up WM8903Mark Brown2011-02-111-19/+54
| | | | | | | | | | | | | | | | | | The write sequencer sequencer sequence takes longer than is desirable as it brings up a full playback path which is not required at this point. Open coding the sequence cuts the startup time by two thirds. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Convert WM8903 bias management to use snd_soc_update_bits()Mark Brown2011-02-111-10/+7
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Actively manage WM8903 DC servo configurationMark Brown2011-02-102-4/+127
| | | | | | | | | | | | | | | | | | | | Explicitly cache the DC servo offsets for digital paths in the driver, allowing them to be preserved over suspend and resume, and ensure that we recalibrate analogue outputs paths when they are in use so that we cover any changes in the input offset. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: add support for multiple jack typesVinod Koul2011-02-102-0/+69
| | | | | | | | | | | | | | | | | | This patch adds soc-jack support for adding voltage zones and for detecting jack type Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Harsha Priya <priya.harsha@intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-2.6.38' into for-2.6.39Mark Brown2011-02-091-0/+13
|\|
| * ASoC: Sync initial widget state with hardwareMark Brown2011-02-091-0/+13
| | | | | | | | | | | | | | | | | | | | | | ASoC generally uses the register defaults for everything, but in some cases the hardware will default to enabling some of the DAPM widgets (clocks for example). Ensure that DAPM knows about the actual widget state at initialisation by reading the enable bits after instantiating the widgets so they don't get left enabled needlessly. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Fix WM8903 DAC mute defaultMark Brown2011-02-091-3/+3
| | | | | | | | | | | | | | | | The WM8903 register map does not mute the DAC by default at startup so we need to explicitly do so. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Dynamically manage CLK_SYS in WM8903Mark Brown2011-02-091-3/+12
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Convert WM8903 to use PGA_S for output stage enablesMark Brown2011-02-091-120/+60
| | | | | | | | | | | | | | This simplfies the code and slightly reduces the startup time. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Add support for AIF channel muxing on WM8903Mark Brown2011-02-091-4/+62
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Display WM8903 chip revision alphabeticallyMark Brown2011-02-091-2/+2
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Remove redundant -codec from WM8903 driver nameMark Brown2011-02-092-2/+2
| | | | | | | | | | | | | | | | It causes noisy -codecs to appear in things like .codec_name. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Davinci: Replace usage of IO_ADDRESS with ioremap()Vaibhav Bedia2011-02-092-12/+27
| | | | | | | | | | | | | | | | | | This patch modifies the Davinci i2s and mcasp drivers to make use of ioremap() instead of IO_ADDRESS() Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Davinci: Call clk_disable() and clk_put() in case of errorVaibhav Bedia2011-02-092-6/+12
| | | | | | | | | | | | | | | | | | In case of any error in probe() function, clk_disable() and clk_put() should be called if clk_enable() and clk_get() went through. Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Davinci: Use resource_size() helper functionVaibhav Bedia2011-02-092-6/+6
| | | | | | | | | | | | | | | | | | This patch modifies the Davinci i2s and mcasp drivers to make use of the resource_size() helper function for readability. Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: sn95031: Add support for reading mic biasVinod Koul2011-02-092-4/+147
| | | | | | | | | | | | | | | | | | | | This patch adds support to read the mic bias voltage when a jack is inserted. It uses ADC to measure. Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Harsha Priya <priya.harsha@intel.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: mfld_machine: Add support for jack detectionVinod Koul2011-02-091-27/+176
| | | | | | | | | | | | | | | | | | | | This patch adds support for registering jack interupt and registering jack with core Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Harsha Priya <priya.harsha@intel.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: sn95031: Add jack support in the codecVinod Koul2011-02-092-0/+65
| | | | | | | | | | | | | | | | | | | | | | This patch adds support for jack detection and reporting in the codec It however is not fully functional as it doesn't measure adc to figure out what got inserted which will be added later Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Harsha Priya <priya.harsha@intel.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Tegra: Harmony: Add switch control for speakerStephen Warren2011-02-091-1/+9
| | | | | | | | | | | | Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Tegra: Harmony: Add headphone jack detectionStephen Warren2011-02-091-1/+29
| | | | | | | | | | | | Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: soc-cache: dereferencing before checkingDan Carpenter2011-02-081-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | The patch c358e640a66 "ASoC: soc-cache: Add trace event for snd_soc_cache_sync()" introduced a dereference of "codec->cache_ops" before we had checked it for NULL. I pulled the check forward, and then pulled everything in an indent level. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: CS4271: Move Chip Select control out of the CODEC code.Alexander Sverdlin2011-02-082-20/+3
| | | | | | | | | | | | | | | | | | Move Chip Select control out of the CODEC code for CS4271. Signed-off-by: Alexander Sverdlin <subaparts@yandex.ru> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: codecs: wm8753: Fix DAI mode switchingLars-Peter Clausen2011-02-071-175/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The wm8753 codec supports switching between different DAI modes. The current drivers tries to implement this by changing the DAI driver at runtime. But to properly work this would require support from the ASoC core. So this patch takes a different approch on how the DAI mode switching is implemented. The only difference, from a driver point of view, between the different DAI modes is how to program the DAI format to the hardware. So what this patch is, it stores the current format for each DAI in the drivers private struct and when the DAI mode is changed the format gets simply reprogrammed according to the new DAI mode. Futhermore this patch restricts the changing of the DAI format to when the codec is inactive. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: mid-x86: Fix dependency on intel_sst driverVinod Koul2011-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Enabling medfield asoc driver causes compliation error when intel_sst is not selected ERROR: "register_sst_card" [sound/soc/mid-x86/snd-soc-sst-platform.ko] undefined! This patch puts proper dependency to elimate build error Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Harsha Priya <priya.harsha@intel.com> Reported-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: ep93xx-ac97: remove extra empty lineMika Westerberg2011-02-041-1/+0
| | | | | | | | | | Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-2.6.38' into for-2.6.39Mark Brown2011-02-032-7/+37
|\|
| * ASoC: Improve WM8994 digital power sequencingMark Brown2011-02-031-0/+12
| | | | | | | | | | | | | | | | | | | | | | On WM8994 revision D and earlier ensure optimal sequencing with simultaneous usage of AIF1 and AIF2 by tying the signals together so if paths through both are connected the streams are started simultaneously. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Cc: stable@kernel.org
| * ASoC: Create an AIF1ADCDAT signal widget to match AIF2Mark Brown2011-02-031-4/+10
| | | | | | | | | | | | | | | | | | | | Due to the different routing for AIF1 and AIF2 we weren't using a single widget to represent the ADCDAT signal. For consistency add one. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Cc: stable@kernel.org
| * asoc: davinci: da830/omap-l137: correct cpu_dai_nameVaibhav Bedia2011-02-031-3/+15
| | | | | | | | | | | | | | | | | | | | | | McASP1 is used on the DA830/OMAP-L137 platform for the codec. This is different from the DA850/OMAP-L138 platform which uses McASP0. This is fixed by adding a new snd_soc_dai_link struct. Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Sort ALC5623 in Kconfig and MakefileMark Brown2011-02-031-1/+1
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | Merge branch 'for-2.6.38' into for-2.6.39Mark Brown2011-02-021-1/+1
|\|
| * ASoC: fill in snd_soc_pcm_runtime.card before calling snd_soc_dai_link.init()Janusz Krzysztofik2011-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The .card member of the snd_soc_pcm_runtime structure pointed to by the snd_soc_dai_link.init() argument used to be initialized before the function being called. This has changed, probably unintentionally, after recent refactorings. Since the function implementations are free to make use of this pointer, move its assignment back before the function is called to avoid NULL pointer dereferences. Created and tested on Amstrad Delta againts linux-2.6.38-rc2 Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: soc-core: Support debugfs entries larger than PAGE_SIZE bytesDimitris Papastamos2011-02-021-37/+73
| | | | | | | | | | | | | | | | | | | | For some codecs with large register maps, it was not possible to dump all registers via the codec_reg file but only up to PAGE_SIZE bytes. This patch fixes this problem. 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>
* | ASoC: PXA: formattingSven Neumann2011-02-021-8/+8
| | | | | | | | | | | | Signed-off-by: Sven Neumann <s.neumann@raumfeld.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Update PM ifdefs for exported suspend/resumeMark Brown2011-02-021-1/+1
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-2.6.39' of ↵Mark Brown2011-02-013-6/+92
|\ \ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into for-2.6.39
| * | ASoC: omap: rx51: Add earphone supportJarkko Nikula2011-02-011-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Earphone in Nokia RX-51/N900 is connected to left HP output of B part of the TLV320AIC34 dual codec. In RX-51 the codec A is used as a traditional codec and the codec B as an auxiliary device. Audio from codec A goes via the codec B to earphone: MONO_LOUT of A -> LINE2R of B (B interconnects) -> HPLOUT of B -> Earphone. Take earphone into use by utilizing the recent ASoC auxiliary and cross-device support. 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>
| * | ASoC: omap: rx51: Add stereo output support to audio jackJarkko Nikula2011-01-272-4/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Audio jack in Nokia RX-51/N900 is driven by TPA6130 headphone amplifier. This patch adds support for it and stereo output can be active when "Jack Function" == "TV-OUT" || "Headphone". As the TPA6130 can output very high volume levels the output is limited with snd_soc_limit_volume. Limiting value is found from Maemo kernel sources. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * | ASoC: Staticise twl6040_hs_jack_report()Mark Brown2011-01-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | It's an internal function so shouldn't be exported (as sparse points out). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | ASoC: Use snd_pcm_format_width() in snd_soc_params_to_frame_size()Mark Brown2011-02-011-20/+3
| | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | ASoC: soc-core: Ensure codec_reg has fixed length fieldsDimitris Papastamos2011-02-011-3/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the format of the codec_reg file more easily parsable. Remove the header field which gives the codec name. These changes are important when it comes to extend the debugfs codec_reg file to dump more than PAGE_SIZE bytes to make it easier to calculate offsets within the file. We still need to handle the case when the snd_soc_read() call fails and <no data: %d> is outputted. 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>
| | |
| \ \
*-. \ \ Merge branches 'for-2.6.38' and 'tegra-arch' into for-2.6.39Mark Brown2011-02-013-2/+6
|\ \ \ \ | | |_|/ | |/| |
| | * | ARM: tegra: Add to struct harmony_audio_platform_dataStephen Warren2011-02-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add fields to describe all the audio-related GPIOs on Harmony, except for the codec's GPIO IRQ, which will be passed in its i2c_board_info. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>