summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs
AgeCommit message (Collapse)Author
2012-03-27Merge tag 'asoc-3.4' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into next/boards The asoc branch that was already merged into v3.4 contains some board-level changes that conflict with patches we already have here, so pull in that branch to resolve the conflicts. Conflicts: arch/arm/mach-imx/mach-imx27_visstrim_m10.c arch/arm/mach-omap2/board-omap4panda.c Signed-off-by: Arnd Bergmann <arnd@arndb.de> [olof: Amended fix for mismerge as reported by Kevin Hilman] Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-19ASoC: wm8994: Provide VMID mode control and fix default sequenceMark Brown
The optimal management of VMID depends on a number of factors which vary dynamically at runtime, for example the connection to a system docking station. In some circumstances it is desirable to keep VMID enabled all the time, in others it is desirable to aggressively power it up and down. Provide a callback allowing machine driver to configure either the normal power up/down mode (WM8994_VMID_MODE_NORMAL) or to maintain VMID even when idle (WM8994_VMID_MODE_FORCE). This callback, wm8994_vmid_mode(), should be called with the CODEC lock. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-19ASoC: wm8994: Add missing break in resumeMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-19ASoC: wm_hubs: Don't actively manage LINEOUT_VMID_BUFMark Brown
It can just be enabled all the time with no impact. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-14ASoC: wm8996: Add 44.1kHz supportMark Brown
The WM8996 specification has been updated to specify 44.1kHz as a supported sample rate. Update the driver to accept this configuration. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-12ASoC: wm8994: Prevent ABBA deadlock with CODEC and accdet mutexesMark Brown
Currently we can the accdet mutex from within DAPM when updating the device state which means we take accdet then the CODEC mutex but we also do the locking the other way around when responding to the jackdet IRQ. Move all the jackdet use of the CODEC mutex out of the accdet lock to avoid this. Since all the DAPM interactions depend only on a single threaded IRQ this is still serialised. The locking improvements in 3.5 allow a better solution there. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-09ASoC: da7210: Remove extra registers from defaults listAshish Chavan
This patch removes following registers from reg map defaults, - Registers which are currently not used by driver - Non existing registers - Volatile registers Signed-off-by: Ashish Chavan <ashish.chavan@kpitcummins.com> Signed-off-by: David Dajun Chen <dchen@diasemi.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-08ASoC: wm8996: Remove separate output stage enable stepMark Brown
Marginally improve performance during startup. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-08ASoC: wm8996: Remove some volatile regisers from the defaults tableMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-08ASoC: da7210: Update for using I2C regmapAshish Chavan
Current DA7210 driver has I2C support using older register cache methods. This patch updates it for latest regmap framework. This has been tested on DA7210 EVB with Samsung SMDK6410 board. Signed-off-by: Ashish Chavan <ashish.chavan@kpitcummins.com> Signed-off-by: David Dajun Chen <dchen@diasemi.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06Merge tag 'asoc-3.4' of ↵Takashi Iwai
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into topic/asoc A few more ASoC updates, the main one is the move of the audmux driver from arch/arm into sound/soc. There's also some general driver specific tweaks and fixes.
2012-03-06ASoC: Add missing regmap_init_i2c in wm8804_i2c_probeAxel Lin
commit 891271c "ASoC: Convert wm8804 to direct regmap API usage" only converts wm8804_spi_probe to use regmap_init_spi. This patch adds missing regmap_init_i2c in wm8804_i2c_probe. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06ASoC: wm8962: Remove defaults for volatile registersMark Brown
Save a little RAM. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06ASoC: wm8962: Remove unneeded pm_runtime_set_active()Mark Brown
The default pm_runtime status is enabled which is what we want. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06ASoC: wm8994: Use audio mode for jack detection when system is activeMark Brown
When we are out of system sleep always use audio mode for jack detection in order to avoid potential performance issues handing off between modes. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-05Merge tag 'asoc-3.4' of ↵Takashi Iwai
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into topic/asoc This has been a very active release for ASoC, as well as the usual raft of bugfixes and driver updates there's quite a few framework enhancements. Most are either small or are laying the groundwork for user visible features (especially dynamic PCM), the most directly visible change is the dmaengine library. There's also a bunch of regmap API enhancements pulled into the tree so that either the framework or drivers can take advantage of the new features. Changes include: - Support for widgets not associated with a CODEC, an important part of the dynamic PCM framework. - A library factoring out the common code shared by dmaengine based DMA drivers contributed by Lars-Peter Clausen. This will save a lot of code and make it much easier to deploy enhancements to dmaengine. - Support for binary controls, used for providing runtime configuration of algorithm coefficients. - A new DAPM widget type for regulator supplies allowing drivers for devices that can power down unused supplies while active to do without any per-driver code. - DAPM widgets for DAIs, initially giving a speed boost for playback startup and shutdown and also the basis for CODEC<->CODEC DAI link support. - Support for specifying the number of significant bits on audio interfaces, useful for allowing applications to know how much effort to put into generating data for a larger sample format. - Conversion of the FSI driver used on some SH processors to DMAEngine. - New CODEC drivers for Maxim MAX9768 and Wolfson Microelectronics WM2200.
2012-03-04ASoC: wm8753: fix initializationDenis 'GNUtoo' Carikli
Without that fix the wm8753 SPI initialization fails, and then produces a kernel panic during boot with the following call trace: Unable to handle kernel paging request at virtual address 37386d9b [<c01ccafc>] (regmap_get_val_bytes+0x0/0x14) from [<c0243dfc>] (snd_soc_codec_set_cache_io+0x9c/0xcc) [<c0243dfc>] (snd_soc_codec_set_cache_io+0x9c/0xcc) from [<c0244a4c>] (wm8753_probe+0x5c/0x1c4) [<c0244a4c>] (wm8753_probe+0x5c/0x1c4) from [<c023bb24>] (soc_probe_codec+0x174/0x284) [<c023bb24>] (soc_probe_codec+0x174/0x284) from [<c023c2c0>] (snd_soc_instantiate_cards+0x68c/0xe28) [<c023c2c0>] (snd_soc_instantiate_cards+0x68c/0xe28) from [<c023d278>] (snd_soc_register_card+0x240/0x2d4) [<c023d278>] (snd_soc_register_card+0x240/0x2d4) from [<c023d330>] (soc_probe+0x24/0x40) [<c023d330>] (soc_probe+0x24/0x40) from [<c01c3900>] (platform_drv_probe+0x14/0x18) [...] The commit d3398ff05907167f463e119421b053ce043741d1 ( ASoC: Convert WM8753 to direct regmap API usage ) introduced the problem. Thanks to Lars-Peter Clausen for helping me a bit during the debugging. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04ASoC: wm8994: Factor out WM1811A detection mode settingMark Brown
Push everything through one function for active use cases, should be no practical effect. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04ASoC: wm8994: Don't bother updating the jackdet mode needlesslyMark Brown
If we're not doing jackdet it's not needed. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04ASoC: wm8994: Disable JACKDET when disabling detectonMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04ASoC: wm8994: Make sure we sync DAPM on WM8958 detection mode changesMark Brown
Normally this will have no effect as we set detection up at system startup before DAPM syncs take effect, this will only be useful if the system enables and disables detection at runtime. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04ASoC: wm_hubs: Disable cache of the DC servo calibration for WM1811Mark Brown
The WM1811 DC servo is able to run much faster than previous devices so the benefit of skipping calibration is not useful. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04ASoC: wm8994: Suppress noop updates of FLL KMark Brown
Using snd_soc_write() means we always write to the register even if it already contains the newly calculated value. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04ASoC: wm8994: Push wm8994 private data allocation out into device probeMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-02ASoC: wm8962: Run the headphone in class G mode when sidetone is enabledMark Brown
Class W mode with sidetone is not fully supported. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-01ASoC: wm8994: Disable debounce of jack detection on inserted jackMark Brown
Don't debounce jack detection for inserted jacks, giving improved responsiveness. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-01ASoC: wm8962: Remove register default for PLL2Mark Brown
The initial value can be changed depending on system configuration. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-29ASoC: wm8994: Remove stub of register access codeMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-29ASoC: wm_hubs: Bomb out if we can't read back the DC servo resultMark Brown
Should have no practical impact but it's safer than trying to soldier on. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-29ASoC: wm8996: Remove stub register cacheMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-29ASoC: wm8996: Fix /RESET bounce orderingMark Brown
We want to leave the device out of rather than in reset. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-29ASoC: wm8994: Make sure we don't have MICBIAS on during jackdet modeMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-28ASoC: Remove unnecessary -codec from cs4270 driver nameShawn Guo
Similar to what commit 1e3ad57 (ASoC: Remove redundant -codec from WM8776 driver name) does for wm8776 driver, this patch does the same thing for cs4270 driver. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-27ASoC: wm8753: Convert to devm_kzalloc()Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-23ASoC: wm8962: Convert interrupt handler to direct regmap usageMark Brown
Avoids potential locking issues with anything that needs the CODEC lock. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-23ASoC: wm8962: Remove mistakenly committed debug loggingMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-23ASoC: ak4104: Convert to direct regmap API usageMark Brown
Since the cache is currently open coded this is more of a win than for most devices. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Daniel Mack <zonque@gmail.com>
2012-02-23ASoC: ak4104: Use snd_soc_write() rather than internal write functionMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Daniel Mack <zonque@gmail.com>
2012-02-23ASoC: ak4104: Use snd_soc_update_bits() for read/modify/writeMark Brown
Don't use the internal I/O functions directly. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Daniel Mack <zonque@gmail.com>
2012-02-21ASoC: wm8994: Move wm_hubs callback before we start ramping VMIDMark Brown
Allows the generic code to set up for that. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm8996: Convert to use DAPM routes for stream connectionsMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm5100: Implement DRC coefficient configurationMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm8996: Implement DRC coefficient configurationMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm8994: Support external capacitors on MICBIAS2 with jack detectionMark Brown
When an external capacitor is connected to MICBIAS2 on devices with jack detection (which is not required but may be done in some systems) then the loading may mean that better performance is obtained when the microphone bias is enabled normally rather than using the low power mode. Provide platform data allowing systems to indicate if they require this. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm8994: Actively discharge idle MICBIAS with jack detectMark Brown
This minimises the chance of any external capacitors that are fitted being discharged into headphones as they insert. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm8994: Enable headphone startup mode 1 for WM1811 and WM8958Mark Brown
The latest recommendation for optimal performance. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: ak4642: fixup HeadPhone L/R dapm settingsKuninori Morimoto
Current ak4642 driver had wrong dapm settings for headphone L/R. If you select headphone L, and select R after that, headphone L setting was removed by R settings. This patch fixes it up. It provides just "Headphone Enable" to user side Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: twl4030: Debug code cleanupPeter Ujfalusi
Replace the printk(KERN_ERR* instances with dev_err in the driver. While we are here clean up some of the debug messages as well. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm_hubs: Convert headphone driver to output driver widgetMark Brown
Mostly for neatness, though it may help with sequencing in some situations. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21ASoC: wm8776: Add WM8775 device ID to the WM8776Mark Brown
The WM8775 is register compatible with the WM8776 so can be supported with the same driver though it is an ADC only part. Add the device ID to the WM8776 driver, further updates will be added in the future. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>