OpenCloudOS-Kernel/sound/soc/codecs
Mark Brown 04de57c153 ASoC: wm_hubs: Enable class W for output mixer paths
Class W can be used for any path where only data from the DAC is routed
to the headphones. Currently we only enable it when the direct DAC to
headphone path is used but it can also be enabled for paths that go via
the output mixer providing the DAC is the only input to the output mixer.
Implement support for this, including updates to the class W status when
the output mixer configuration is changed. This also allows us to enable
the DC servo optimisations for DAC to headphone paths where the output
mixer is used.

In general the direct DAC path is still preferred as this will offer
better performance on most wm_hubs devices but these additional paths
can simplify use case management.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-04-27 18:42:12 +01:00
..
88pm860x-codec.c ASoC: Convert 88pm860x-codec to devm_kzalloc() 2011-12-27 12:58:02 +00:00
88pm860x-codec.h ASoC: add 88pm860x codec driver 2010-08-18 18:03:09 +01:00
Kconfig ASoC: Support TI LM49453 Audio driver 2012-04-01 11:35:41 +01:00
Makefile ASoC: Support TI LM49453 Audio driver 2012-04-01 11:35:41 +01:00
ac97.c ASoC: ac97: Fix build due to removal of 'runtime' definition 2012-04-11 11:43:19 +01:00
ad193x.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
ad193x.h ASoC: ad193x: Use snd_soc_update_bits where appropriate 2011-11-28 18:57:52 +00:00
ad1836.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
ad1836.h ASoC: Fix wrong define for AD1836_ADC_WORD_OFFSET 2011-11-22 13:06:14 +00:00
ad1980.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
ad1980.h Merge branch 'for-2.6.36' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into for-2.6.37 2010-08-15 14:56:40 +01:00
ad73311.c ASoC: Convert CODEC drivers to module_platform_driver 2011-11-28 11:33:29 +00:00
ad73311.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
adau1373.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
adau1373.h ASoC: Add ADAU1373 codec support 2011-08-17 00:53:54 +09:00
adau1701.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
adau1701.h ASoC: Add ADAU1701 codec driver 2011-06-16 11:24:17 +01:00
adav80x.c ASoC: Drop unused state parameter from CODEC suspend callback 2011-12-02 10:32:03 +00:00
adav80x.h ASoC: Add ADAV80x codec driver 2011-06-28 17:11:20 +01:00
ads117x.c ASoC: Convert CODEC drivers to module_platform_driver 2011-11-28 11:33:29 +00:00
ak4104.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
ak4535.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
ak4535.h ASoC: ak4535: Convert to direct regmap API usage 2012-02-16 23:04:45 -08:00
ak4641.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
ak4641.h ASoC: Asahi Kasei AK4641 codec driver 2011-05-19 14:10:45 -07:00
ak4642.c ASoC: ak4642: fixup: mute needs +1 step 2012-04-05 11:08:45 +01:00
ak4671.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
ak4671.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
alc5623.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
alc5623.h ASoC: add support for alc562[123] codecs 2010-10-21 13:51:13 -07:00
alc5632.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
alc5632.h ASoC: alc5632: Refactored DAPM routes to add voice support 2012-02-11 23:02:47 +00:00
cq93vc.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
cs42l51.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
cs42l51.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
cs42l73.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
cs42l73.h ASoC: cs42l73: Unify the way to define bits of register 2011-11-22 13:02:09 +00:00
cs4270.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
cs4271.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
cx20442.c ASoC: cx20442: add bias control over a platform provided regulator 2012-01-09 11:20:16 +00:00
cx20442.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
da7210.c ASoC: da7210: Minor bugfix for non pll slave mode 2012-04-27 18:38:47 +01:00
dfbmcs320.c ASoC: Convert CODEC drivers to module_platform_driver 2011-11-28 11:33:29 +00:00
dmic.c ASoC: Convert CODEC drivers to module_platform_driver 2011-11-28 11:33:29 +00:00
jz4740.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
l3.c
lm4857.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
lm49453.c ASoC: lm49453: fix build warnings 2012-04-05 22:01:19 +01:00
lm49453.h ASoC: Support TI LM49453 Audio driver 2012-04-01 11:35:41 +01:00
max9768.c ASoC: max9768: Fix build and use new add control API. 2012-02-06 16:52:16 +00:00
max9850.c ASoC: Convert max9850 to devm_kzalloc() 2012-01-02 12:28:11 +00:00
max9850.h ASoC: Add MAX9850 codec driver 2011-03-11 12:01:44 +00:00
max9877.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
max9877.h
max98088.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
max98088.h ASoC: codecs: max98088: Added digital mute function in DAI1 and DAI2 2011-05-15 21:26:36 -07:00
max98095.c ASoC: max98095: Fix build failure 2012-04-02 14:53:13 +01:00
max98095.h ASoC: max98095: add jack detection 2012-04-01 11:28:24 +01:00
ml26124.c ASoC: Add LAPIS Semiconductor ML26124 driver 2012-04-01 11:28:28 +01:00
ml26124.h ASoC: Add LAPIS Semiconductor ML26124 driver 2012-04-01 11:28:28 +01:00
pcm3008.c ASoC: Drop unused state parameter from CODEC suspend callback 2011-12-02 10:32:03 +00:00
pcm3008.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
rt5631.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
rt5631.h ASoC: Add driver for rt5631 2011-09-21 15:52:23 +01:00
sgtl5000.c Linux 3.4-rc3 2012-04-16 19:40:27 +01:00
sgtl5000.h ASoC: sgtl5000: Fix define for SGTL5000_BIAS_R_MASK 2011-10-19 13:08:18 +01:00
sigmadsp.c ASoC: SigmaDSP: Add regmap support 2011-11-29 12:01:23 +00:00
sigmadsp.h ASoC: SigmaDSP: Add regmap support 2011-11-29 12:01:23 +00:00
sn95031.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
sn95031.h ASoC: sn95031: Add support for reading mic bias 2011-02-09 22:32:53 +00:00
spdif_transciever.c ASoC: Convert CODEC drivers to module_platform_driver 2011-11-28 11:33:29 +00:00
ssm2602.c ASoC: SSM2602: Convert to direct regmap API usage 2012-04-25 11:28:10 +01:00
ssm2602.h ASoC: ssm2602: Support setting the oscillator and the clock output state 2011-09-27 13:30:48 +01:00
sta32x.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
sta32x.h ASoC: sta32x: preserve coefficient RAM 2011-11-14 21:32:12 +00:00
stac9766.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
stac9766.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tlv320aic3x.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
tlv320aic3x.h ASoC: tlv320aic3x: remove unused code 2012-02-06 16:44:50 +00:00
tlv320aic23.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
tlv320aic23.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tlv320aic26.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
tlv320aic26.h Fix common misspellings 2011-03-31 11:26:23 -03:00
tlv320aic32x4.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
tlv320aic32x4.h ASoC: Add TI tlv320aic32x4 codec support. 2011-03-04 18:21:08 +00:00
tlv320dac33.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
tlv320dac33.h ASoC: tlv320dac33: Update e-mail address 2011-05-11 16:12:35 +01:00
tpa6130a2.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
tpa6130a2.h ASoC: tpa6130a2: Update e-mail address 2011-05-11 16:12:45 +01:00
twl4030.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
twl6040.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
twl6040.h ASoC: twl6040 - add method to query HS DC offset step size in mV 2012-01-20 13:58:26 +00:00
uda134x.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
uda134x.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
uda1380.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
uda1380.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wl1273.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wl1273.h ASoC: WL1273 FM radio: Fix breakage with MFD API changes 2011-01-14 12:29:40 +00:00
wm1250-ev1.c ASoC: wm1250-ev1: Support sample rate configuration 2012-04-19 14:10:21 +01:00
wm2000.c ASoC: wm2000: Fix use-after-free - don't release_firmware() twice on error 2012-01-24 11:34:19 +00:00
wm2000.h ASoC: Convert WM2000 into a standard CODEC driver 2011-12-03 21:35:21 +00:00
wm2200.c ASoC: Get correct revision id for wm2200 2012-02-15 18:18:56 -08:00
wm2200.h ASoC: wm2200: Add WM2200 CODEC driver 2012-01-26 16:07:55 +00:00
wm5100-tables.c ASoC: Update regmap access for WM5100 DSP control registers 2012-04-23 18:52:31 +01:00
wm5100.c ASoC: wm5100: Convert to devm_regmap_init_i2c() 2012-04-01 11:28:23 +01:00
wm5100.h ASoC: Update regmap access for WM5100 DSP control registers 2012-04-23 18:52:31 +01:00
wm8350.c ASoC: Convert WM8350 to table based DAPM and control init 2011-12-03 21:35:10 +00:00
wm8350.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8400.c ASoC: wm8400: Use snd_soc_write() and snd_soc_read() 2012-04-05 22:05:31 +01:00
wm8400.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8510.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8510.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8523.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8523.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8580.c ASoC: Fix return value of wm8580_set_sysclk() 2012-01-02 13:08:40 +00:00
wm8580.h ASoC: Automatically calculate clock ratio for WM8580 2010-08-15 14:52:12 +01:00
wm8711.c ASoC: Convert WM8711 to table based control init 2011-12-03 21:35:17 +00:00
wm8711.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8727.c ASoC: Remove unused -codec from Wolfson device driver names 2011-12-03 21:35:01 +00:00
wm8728.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8728.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8731.c ASoC: Convert WM8731 to direct regmap API usage 2012-01-24 11:43:18 +00:00
wm8731.h ASoC: Support non-crystal master clocks for WM8731 2010-08-18 16:52:56 +01:00
wm8737.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8737.h ASoC: Add initial WM8737 driver 2010-11-24 11:33:12 +00:00
wm8741.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8741.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8750.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8750.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8753.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8753.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8770.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8770.h ASoC: WM8770: Initial driver 2010-11-06 11:35:39 -04:00
wm8776.c ASoC: wm8776: Add WM8775 device ID to the WM8776 2012-02-21 09:13:59 +00:00
wm8776.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8782.c ASoC: Convert CODEC drivers to module_platform_driver 2011-11-28 11:33:29 +00:00
wm8804.c ASoC: Add missing regmap_init_i2c in wm8804_i2c_probe 2012-03-06 12:22:11 +00:00
wm8804.h ASoC: WM8804: Initial driver 2010-09-30 13:32:21 -07:00
wm8900.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8900.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8903.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8903.h Merge branch 'for-2.6.38' into for-2.6.39 2011-02-22 10:38:13 -08:00
wm8904.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8904.h ASoC: Optimise performance of WM8904 ADC 128fs OSR mode 2012-01-20 13:58:26 +00:00
wm8940.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8940.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8955.c ASoC: Convert WM8955 to table based DAPM and control init 2012-01-20 13:58:25 +00:00
wm8955.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8958-dsp2.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8960.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8960.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8961.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8961.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8962.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8962.h ASoC: Compress WM8962 register access map 2010-10-11 03:52:04 -07:00
wm8971.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8971.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8974.c ASoC: Remove wm8974 private data 2012-01-20 13:58:22 +00:00
wm8974.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8978.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8978.h ASoC: Convert wm8978 to direct regmap API usage 2012-01-20 13:58:19 +00:00
wm8983.c ASoC: wm8983: Remove useless snd_kcontrol 2012-01-20 13:58:29 +00:00
wm8983.h ASoC: WM8983: Initial driver 2011-07-15 23:39:53 +09:00
wm8985.c ASoC: wm8985: Convert to direct regmap API usage 2012-01-21 21:15:42 +00:00
wm8985.h ASoC: WM8985: Initial driver 2010-09-15 16:11:24 +01:00
wm8988.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8988.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8990.c ASoC: codecs: Remove rtd->codec usage from CODEC drivers 2012-04-04 15:59:12 +01:00
wm8990.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8991.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8991.h ASoC: WM8991: Add initial WM8991 driver 2011-01-17 13:50:20 +00:00
wm8993.c ASoC: wm_hubs: Factor out class W management 2012-04-27 18:42:11 +01:00
wm8993.h ASoC: wm_hubs: Clamp inputs to VMID while we ramp 2012-02-11 23:11:21 +00:00
wm8994.c ASoC: wm_hubs: Factor out class W management 2012-04-27 18:42:11 +01:00
wm8994.h ASoC: wm8994: Implement FLL bypass support 2012-04-10 11:11:22 +01:00
wm8995.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8995.h ASoC: Remove WM8995 write sequencer bitfield definitions 2010-12-24 11:32:45 +00:00
wm8996.c ASoC: wm8996: Put the microphone biases into bypass mode when idle 2012-04-26 18:06:56 +01:00
wm8996.h ASoC: Disable register synchronisation for low frequency WM8996 SYSCLK 2012-01-20 13:54:34 +00:00
wm9081.c ASoC: wm9081: Use idle_bias_off 2012-02-14 18:13:06 -08:00
wm9081.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9090.c ASoC: Show device id in the debug message 2012-02-15 22:19:55 -08:00
wm9090.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9705.c ASoC: wm9705: Fix build due to removal of 'runtime' definition 2012-04-11 11:43:19 +01:00
wm9705.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9712.c ASoC: wm9712: Fix build due to missing definition of "runtime" 2012-04-10 22:35:18 +01:00
wm9712.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9713.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm9713.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm_hubs.c ASoC: wm_hubs: Enable class W for output mixer paths 2012-04-27 18:42:12 +01:00
wm_hubs.h ASoC: wm_hubs: Factor out class W management 2012-04-27 18:42:11 +01:00