linux/sound/soc/codecs
John Hsu b50455fab4 ASoC: nau8825: cross talk suppression measurement function
The cross talk measurement function can reduce cross talk across the JKTIP
HPL) and JKR1(HPR) outputs which measures the cross talk signal level to
determine what is the cross talk reduction gain. This system works by
sending a 23Hz -24dBV sine wave into the headset output DAC and through
the PGA. The output of the PGA is then connected to an internal current
sense which measures the attenuated 23Hz signal and passing the output to
an ADC which converts the measurement to a binary code. With two separated
measurement, one for JKR1(HPR) and the other JKTIP(HPL), measurement data
can be separated read in IMM_RMS_L for HSR and HSL after each measurement.

Thus, the measurement function has four states to complete whole sequence.
(1)Prepare state : Prepare the resource for detection and transfer to HPR
IMM stat to make JKR1(HPR) impedance measure.
(2)HPR IMM state : Read out orignal signal level of JKR1(HPR) and transfer
to HPL IMM state to make JKTIP(HPL) impedance measure.
(3)HPL IMM state : Read out cross talk signal level of JKTIP(HPL) and
transfer to IMM state to determine suppression sidetone gain.
(4)IMM state : Computes cross talk suppression sidetone gain with orignal
and cross talk signal level. Apply this gain and then restore codec con-
figuration. Then transfer to Done state for ending.

In order to get the cross talk suppression sidetone gain, we need the
function to compute log10 value and the result is round off to 3 decimal.
This function takes reference to dvb-math. The source code locates as the
following. "Linux/drivers/media/dvb-core/dvb_math.c"
Then, the orignal and cross talk signal vlues need to be characterized.
The sidetone value can be converted to decibel with the equation below.
sidetone = 20 * log (original signal level / crosstalk signal level)

Besides, the state machine for cross talk process needs interruptions to
trigger worked. We have the RMS intrruption enabled with the internal VCO
clock when headset connected. In the interrupt handler, the driver will
judge the headset is high impedance or not. If yes, the cross talk supp-
ression shouldn't apply and do nothing but relieve the protection raised
before. Otherwise, apply the cross talk suppression in the headset and
start the process.

Because the process spends a lot of time, there is an resource race issue
easily between the application and interruption. They will control codec
power and clock concurrently. In one situaiton, the jack is inserted when
playback, and then the application changes to headset device. The applica-
tion prepares the playback and interrupt handler raises work for cross
talk process together. For this case, the solution is that driver delays
soc jack report until cross talk process completes. The mechanism can
avoid application to do playback preparation before cross talk detection
is still working.
In another situaiton, the system suspends when playback. After resume, the
system restarts playback, and meanwhile jack detection restarts. The play-
back preparation and cross talk process triggered by interruptions happens
concurrently. For the case, the driver provides the semaphone to syn-
chronize the playback and interrupt handler. In order to avoid the play-
back interfered by cross talk process, the driver make the playback prepa-
ration halted until cross talk process finish. After codec resume, the
driver finds the codec dai is active, and then the driver raises the pro-
tection for cross talk function to avoid the playback recovers before
cross talk process finish.

The driver also provides cancel method to forcely cancel the cross talk
task and restores the configuration to original status. Before the codec
remove, ejection, or suspend, the driver is obliged to cancel the cross
talk detection process. It can reduce the risk of failure when quickly and
continually doing jack insertion and ejection.

Signed-off-by: John Hsu <KCHSU0@nuvoton.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2016-06-13 11:39:02 +01:00
..
88pm860x-codec.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
88pm860x-codec.h ASoC: 88pm860x: Use regmap for I/O 2013-09-20 10:40:51 +01:00
ab8500-codec.c Merge remote-tracking branches 'asoc/topic/ab8500', 'asoc/topic/adau17x1', 'asoc/topic/ads117x', 'asoc/topic/adsp' and 'asoc/topic/arizona' into asoc-next 2016-03-13 15:16:41 +07:00
ab8500-codec.h
ac97.c ASoC: ac97: Remove rate constraints 2015-05-12 18:58:17 +01:00
ad193x-i2c.c ASoC: ad193x: add support to ad1934 2015-10-05 17:42:49 +01:00
ad193x-spi.c sound updates for 4.4-rc1 2015-11-06 11:04:07 -08:00
ad193x.c ASoC: ad193x: Drop .volatile_reg implementation 2015-10-20 16:59:29 +01:00
ad193x.h ASoC: ad193x: add support to ad1934 2015-10-05 17:42:49 +01:00
ad1836.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
ad1836.h
ad1980.c ASoC: ad1980: Use core AC'97 reset helper 2015-07-23 17:33:31 +01:00
ad73311.c ASoC: codecs: drop owner assignment from platform_drivers 2014-10-20 16:22:07 +02:00
ad73311.h
adau17x1.c ASoC: adau17x1: Replace direct snd_soc_codec dapm field access 2015-05-04 18:30:57 +01:00
adau17x1.h ASoC: adau17x1: Fix incorrect BCLK ratio definitions 2016-02-24 13:12:10 +09:00
adau1373.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
adau1373.h
adau1701.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
adau1701.h
adau1761-i2c.c ASoC: adau17x1: Add basic DT support for adau17x1 2016-02-24 13:14:05 +09:00
adau1761-spi.c ASoC: adau17x1: Add basic DT support for adau17x1 2016-02-24 13:14:05 +09:00
adau1761.c ASoC: adau17x1: Correct typos in file headers 2016-02-24 13:14:05 +09:00
adau1761.h ASoC: Add ADAU1361/ADAU1761 audio CODEC support 2014-05-27 20:54:50 +01:00
adau1781-i2c.c ASoC: adau17x1: Add basic DT support for adau17x1 2016-02-24 13:14:05 +09:00
adau1781-spi.c ASoC: adau17x1: Add basic DT support for adau17x1 2016-02-24 13:14:05 +09:00
adau1781.c ASoC: adau17x1: Correct typos in file headers 2016-02-24 13:14:05 +09:00
adau1781.h ASoC: Add ADAU1381/ADAU1781 audio CODEC support 2014-05-27 20:54:51 +01:00
adau1977-i2c.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
adau1977-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
adau1977.c Merge remote-tracking branches 'asoc/topic/adau1977', 'asoc/topic/adav80x', 'asoc/topic/arizona' and 'asoc/topic/atmel' into asoc-next 2015-06-05 18:54:49 +01:00
adau1977.h ASoC: Add ADAU1977 CODEC driver 2014-02-19 13:36:15 +09:00
adav80x.c ASoC: adav80x: Use snd_pcm_hw_constraint_single() 2015-10-21 14:24:34 +02:00
adav80x.h ASoC: adav80x: Split SPI and I2C code into different modules 2014-02-18 10:30:25 +09:00
adav801.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
adav803.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
ads117x.c ASoC: ads117x: Add device tree compatible string 2016-03-05 14:02:13 +09:00
ak4104.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
ak4535.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
ak4535.h
ak4554.c ASoC: ak4554: constify of_device_id array 2015-03-22 18:05:23 +00:00
ak4613.c ASoC: ak4613: tidyup vendor prefix from ak4613 to asahi-kasei 2015-11-20 18:06:44 +00:00
ak4641.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
ak4641.h
ak4642.c ASoC: ak4642: Enable cache usage to fix crashes on resume 2016-05-18 19:13:28 +01:00
ak4671.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
ak4671.h ASoC: ak4671: Convert to direct regmap API usage 2014-02-11 20:40:10 +00:00
ak5386.c ASoC: codecs: drop owner assignment from platform_drivers 2014-10-20 16:22:07 +02:00
alc5623.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
alc5623.h
alc5632.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
alc5632.h
arizona.c Merge remote-tracking branches 'asoc/topic/adsp', 'asoc/topic/ak4624', 'asoc/topic/atmel' and 'asoc/topic/au1x' into asoc-next 2016-05-13 14:26:35 +01:00
arizona.h ASoC: arizona: Free speaker thermal IRQs in CODEC remove 2016-04-15 18:01:02 +01:00
bt-sco.c ASoC: bt-sco: Add devicetree support for bt-sco codec 2015-05-12 19:43:41 +01:00
cq93vc.c ASoC: Move bias level update to the core 2015-04-27 21:34:45 +01:00
cs35l32.c ASoC: cs35l32: avoid uninitialized variable access 2016-03-15 09:23:35 +00:00
cs35l32.h ASoC: cs35l32: Fix define for CS35L32_SDOUT_3ST 2015-07-23 16:01:56 +01:00
cs42l51-i2c.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
cs42l51.c ASoC: cs42l51: Fix enum ctl accesses in a wrong type 2016-03-01 12:03:45 +09:00
cs42l51.h ASoC: cs42l51: re-hook of_match_table pointer 2014-11-12 15:56:09 +00:00
cs42l52.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
cs42l52.h ASoC: cs42l52: Fix mask for REVID 2014-04-07 10:48:50 +01:00
cs42l56.c ASoC: cs42l56: Use IS_ENABLED() instead of checking for built-in or module 2016-04-26 12:07:43 +01:00
cs42l56.h ASoC: cs42l56: Fix new value argument in snd_soc_update_bits calls 2014-06-01 11:49:25 +01:00
cs42l73.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
cs42l73.h ASoC: cs42l73: Namespace defines for cs42l73 codec 2013-10-18 00:37:29 +01:00
cs42xx8-i2c.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
cs42xx8.c ASoC: cs42xx8: fix the noise in the right dac channel with mono playback 2016-02-04 12:11:42 +00:00
cs42xx8.h ASoC: cs42xx8: Setup of_match_table 2015-07-07 13:35:13 +01:00
cs47l24.c Merge remote-tracking branches 'asoc/topic/adsp', 'asoc/topic/ak4624', 'asoc/topic/atmel' and 'asoc/topic/au1x' into asoc-next 2016-05-13 14:26:35 +01:00
cs47l24.h ASoC: cs47l24: Add driver for Cirrus Logic CS47L24 and WM1831 codecs 2015-11-16 09:50:49 +00:00
cs4265.c Merge remote-tracking branches 'asoc/topic/const', 'asoc/topic/cs35l32', 'asoc/topic/cs4265' and 'asoc/topic/cs42l52' into asoc-next 2015-08-30 15:52:59 +01:00
cs4265.h ASoC: Add support for the CS4265 CODEC 2014-06-24 16:16:13 +01:00
cs4270.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
cs4271-i2c.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
cs4271-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
cs4271.c ASoC: cs4271: add regulator consumer support 2016-02-26 11:44:32 +09:00
cs4271.h ASoC: cs4271: Split SPI and I2C code into different modules 2014-10-20 12:20:02 +01:00
cs4349.c ASoC: cs4349: fix platform_no_drv_owner.cocci warnings 2015-08-25 07:53:24 +01:00
cs4349.h ASoC: cs4349: Drop platform data support 2015-07-20 18:18:46 +01:00
cx20442.c ASoC: cx20442: Replace direct snd_soc_codec dapm field access 2015-05-11 17:33:31 +01:00
cx20442.h
da732x_reg.h
da732x.c ASoC: da732x: Fix enum ctl accesses in a wrong type 2016-03-01 12:04:04 +09:00
da732x.h ASoC: da732x: Fix typo in include guard 2014-08-22 13:34:39 -05:00
da7210.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
da7213.c ASoC: da7213: Allow PLL disable/bypass when using 32KHz sysclk 2016-05-10 19:24:19 +01:00
da7213.h ASoC: da7213: Update PLL ranges to improve locking at frequency boundary 2016-05-10 19:24:19 +01:00
da7218.c ASoC: da7218: Update PLL ranges and dividers to improve locking 2016-04-22 16:26:19 +01:00
da7218.h ASoC: da7218: Update PLL ranges and dividers to improve locking 2016-04-22 16:26:19 +01:00
da7219-aad.c ASoC: codecs: Add da7219 codec driver 2015-10-02 18:11:27 +01:00
da7219-aad.h ASoC: codecs: Add da7219 codec driver 2015-10-02 18:11:27 +01:00
da7219.c ASoC: da7129: Add missing include of acpi.h 2016-05-06 18:13:17 +01:00
da7219.h ASoC: da7219: Update PLL ranges and dividers to improve locking 2016-04-19 17:39:52 +01:00
da9055.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
dmic.c ASoC: codecs: drop owner assignment from platform_drivers 2014-10-20 16:22:07 +02:00
es8328-i2c.c ASoC: es8328-i2c: Fix i2c_device_id name field in es8328_id 2014-10-28 10:48:03 +00:00
es8328-spi.c ASoC: add es8328 codec driver 2014-08-16 17:17:13 -05:00
es8328.c ASoC: es8328: Set symmetric rates 2016-05-10 18:56:01 +01:00
es8328.h ASoC: es8328: Support more sample formats 2016-05-10 18:56:01 +01:00
gtm601.c ASoC: gtm601: Constify soc_codec_dev_gtm601 2015-07-07 14:23:53 +01:00
hdac_hdmi.c ASoC: hdac_hdmi: Remove the unused 'timeout' variable 2016-05-17 11:31:55 +01:00
hdac_hdmi.h ASoC: hdac_hdmi: Add jack reporting 2016-02-15 20:54:03 +00:00
hdmi-codec.c ASoC: hdmi-codec: Add ELD control 2016-04-22 10:21:13 +01:00
ics43432.c ASoC: ics43432: Fix build errors 2015-08-28 17:17:29 +01:00
inno_rk3036.c ASoC: rk3036: fix platform_no_drv_owner.cocci warnings 2015-11-23 14:36:58 +00:00
inno_rk3036.h ASoC: rk3036: Inno codec driver for RK3036 SoC 2015-11-23 14:36:53 +00:00
isabelle.c Merge remote-tracking branches 'asoc/topic/max98090', 'asoc/topic/max98095', 'asoc/topic/max98357a', 'asoc/topic/max9877' and 'asoc/topic/max98925' into asoc-next 2015-08-30 15:54:57 +01:00
isabelle.h
jz4740.c ASoC: jz4740: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE 2015-08-05 13:22:47 +01:00
Kconfig Merge remote-tracking branch 'asoc/topic/wm8960' into asoc-next 2016-05-27 13:45:59 +01:00
l3.c
lm4857.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
lm49453.c Merge remote-tracking branches 'asoc/topic/max98090', 'asoc/topic/max98095', 'asoc/topic/max98357a', 'asoc/topic/max9877' and 'asoc/topic/max98925' into asoc-next 2015-08-30 15:54:57 +01:00
lm49453.h
Makefile Merge remote-tracking branch 'asoc/topic/kconfig' into asoc-next 2016-05-27 13:45:52 +01:00
max9768.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
max9850.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
max9850.h
max9867.c ASoC: max9867: silence and array overflow warning 2016-02-26 10:34:51 +09:00
max9867.h ASoC: Add max9867 codec driver 2016-02-18 14:17:48 +00:00
max9877.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
max9877.h
max98088.c ASoC: max98088: Fix enum ctl accesses in a wrong type 2016-03-01 12:05:53 +09:00
max98088.h ASoC: codecs: max98088: fix typo in constant 2015-07-07 13:14:15 +01:00
max98090.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
max98090.h ASoC: max98090: Fix sequencing when starting additional routes 2015-08-10 12:57:35 +01:00
max98095.c ASoC: max98095: Fix enum ctl accesses in a wrong type 2016-03-01 12:06:51 +09:00
max98095.h
max98357a.c ASoC: max98357a: Add ACPI ID for Maxim 2015-12-18 08:23:57 +00:00
max98371.c ASoC: max98371 Remove duplicate entry in max98371_reg 2016-05-11 16:39:56 +01:00
max98371.h ASoC: Add max98371 codec driver 2016-04-28 18:16:04 +01:00
max98925.c Merge remote-tracking branches 'asoc/topic/txx9', 'asoc/topic/uda134x', 'asoc/topic/ux500' and 'asoc/topic/width' into asoc-next 2015-08-30 15:58:18 +01:00
max98925.h ASoC: Add max98925 codec driver 2015-03-11 19:16:07 +00:00
max98926.c ASoC: max98926: Constify max98926_reg and max98926_regmap 2016-02-21 03:08:50 +09:00
max98926.h ASoC: Add max98926 codec driver 2016-01-27 20:23:20 +00:00
mc13783.c ASoC: Constify snd_soc_dai_ops variables 2015-07-15 12:12:46 +01:00
mc13783.h
ml26124.c Merge branches 'topic/owner' and 'topic/reg-default' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-max9877 2015-07-16 21:35:01 +01:00
ml26124.h
nau8825.c ASoC: nau8825: cross talk suppression measurement function 2016-06-13 11:39:02 +01:00
nau8825.h ASoC: nau8825: cross talk suppression measurement function 2016-06-13 11:39:02 +01:00
pcm179x-i2c.c ASoC: pcm179x: Add I2C interface driver 2016-01-29 00:36:21 +01:00
pcm179x-spi.c ASoC: pcm179x: Split into core and SPI parts 2016-01-29 00:36:16 +01:00
pcm179x.c ASoC: pcm179x: Support continuous rates 2016-01-29 00:36:26 +01:00
pcm179x.h ASoC: pcm179x: Support continuous rates 2016-01-29 00:36:26 +01:00
pcm512x-i2c.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
pcm512x-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
pcm512x.c ASoC: Use params_width() at appropriate places 2015-07-24 18:31:31 +01:00
pcm512x.h ASoC: pcm512x: Avoid the PLL for the DAC clock, if possible 2015-01-28 19:28:53 +00:00
pcm1681.c Merge remote-tracking branch 'asoc/topic/ssm4567' into asoc-next 2015-08-30 15:52:16 +01:00
pcm3008.c ASoC: pcm3008: Replace w->codec snd_soc_dapm_to_codec(w->dapm) 2015-01-15 11:57:05 +00:00
pcm3008.h
pcm3168a-i2c.c ASoC: pcm3168a: Add driver for pcm3168a codec 2015-12-12 22:39:59 +00:00
pcm3168a-spi.c ASoC: pcm3168a: Add driver for pcm3168a codec 2015-12-12 22:39:59 +00:00
pcm3168a.c ASoC: pcm3168a: remove unused variable 2016-03-05 12:57:16 +09:00
pcm3168a.h ASoC: pcm3168a: Add driver for pcm3168a codec 2015-12-12 22:39:59 +00:00
pcm5102a.c ASoC: pcm5102a: Add support for PCM5102A codec 2016-05-13 11:49:44 +01:00
rl6231.c ASoC: rl6231: fix range of DMIC clock 2015-11-16 13:17:01 +00:00
rl6231.h ASoC: Add function "rl6231_get_pre_div" to correct the dmic clock calculation 2015-08-05 10:42:35 +01:00
rl6347a.c ASoC: rl6347a: Clean up unneeded inclusion of header files 2015-09-24 10:30:47 -07:00
rl6347a.h ASoC: rl6347a: Clean up unneeded inclusion of header files 2015-09-24 10:30:47 -07:00
rt286.c Merge remote-tracking branches 'asoc/fix/imx-spdif', 'asoc/fix/mtk', 'asoc/fix/mxs-saif', 'asoc/fix/qcom' and 'asoc/fix/rt286' into asoc-linus 2016-02-10 19:23:07 +00:00
rt286.h ASoC: rt286: Add customize setting for Dell Dino 2015-02-05 18:18:02 +00:00
rt298.c Merge remote-tracking branch 'asoc/topic/rt298' into asoc-next 2016-05-27 13:45:50 +01:00
rt298.h ASoC: rt298: reset AD dilter is there is no MCLK 2016-04-26 11:11:08 +01:00
rt5514.c ASoC: rt5514: add rt5514 codec driver 2016-02-03 17:07:32 +00:00
rt5514.h ASoC: rt5514: add rt5514 codec driver 2016-02-03 17:07:32 +00:00
rt5616.c ASoC: rt5616: add missing mute control for HPVOL 2016-03-07 14:19:15 +07:00
rt5616.h ASoC: rt5616: add rt5616 codec driver 2015-12-19 12:02:18 +00:00
rt5631.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
rt5631.h
rt5640.c ASoC: rt5640: Correct the digital interface data select 2016-03-18 10:00:25 +00:00
rt5640.h ASoC: rt5640: Correct the digital interface data select 2016-03-18 10:00:25 +00:00
rt5645.c ASoC: rt5645: polling jd status in all conditions 2016-05-05 13:06:39 +01:00
rt5645.h ASoC: rt5645: add sys clk detection 2015-12-30 16:35:07 +00:00
rt5651.c ASoC: rt5651: add ACPI and OF support 2015-12-23 12:21:14 +00:00
rt5651.h ASoC: rt5640: Add the function of the PLL clock calculation to RL6231 shared support 2014-06-01 20:04:30 +01:00
rt5659.c Merge remote-tracking branches 'asoc/topic/rt5640', 'asoc/topic/rt5659', 'asoc/topic/samsung' and 'asoc/topic/ssm4567' into asoc-next 2016-03-13 15:17:47 +07:00
rt5659.h ASoC: rt5659: Fix irq leak 2016-01-13 12:40:56 +00:00
rt5670-dsp.h ASoC: add RT5670 CODEC driver 2014-07-02 20:49:25 +01:00
rt5670.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
rt5670.h ASoC: rt5670: fix wrong bit def for pll src 2015-11-17 11:45:00 +00:00
rt5677-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
rt5677-spi.h ASoC: rt5677: Allow arbitrary block read/write via SPI 2015-08-25 17:34:30 +01:00
rt5677.c sound updates #2 for 4.7-rc1 2016-05-28 12:23:12 -07:00
rt5677.h ASoC: rt5677: Switch to use descriptor-based gpiod API 2015-07-07 13:34:03 +01:00
sgtl5000.c ASoC: sgtl5000: fix VAG power up timing 2015-12-17 12:13:40 +00:00
sgtl5000.h ASoC: sgtl5000: Fix up define for SGTL5000_SMALL_POP 2015-07-22 10:49:02 +01:00
si476x.c ASoC: Constify snd_soc_dai_ops variables 2015-07-15 12:12:46 +01:00
sigmadsp-i2c.c ASoC: sigmadsp: Fix missleading return value 2016-02-10 18:55:01 +00:00
sigmadsp-regmap.c ASoC: sigmadsp: Add support for fw v2 2014-11-20 09:55:34 +00:00
sigmadsp.c ASoC: sigmadsp: uninitialized variable in sigmadsp_activate_ctrl() 2014-11-27 10:59:33 +00:00
sigmadsp.h ASoC: sigmadsp: Add support for fw v2 2014-11-20 09:55:34 +00:00
sirf-audio-codec.c ASoC: sirf-audio-codec: Staticise local symbols 2015-07-15 12:32:56 +01:00
sirf-audio-codec.h ASoC: sirf: Move the tx rx enable from port to codec, that will not need register sharing 2014-04-14 17:28:17 +01:00
sn95031.c ASoC: sn95031: Replace direct snd_soc_codec dapm field access 2015-05-15 16:48:56 +01:00
sn95031.h ASoC: sn95031: Pass CODEC to sn95031_jack_detection() 2015-03-04 17:09:51 +00:00
spdif_receiver.c ASoC: codecs: drop owner assignment from platform_drivers 2014-10-20 16:22:07 +02:00
spdif_transmitter.c ASoC: codecs: drop owner assignment from platform_drivers 2014-10-20 16:22:07 +02:00
ssm2518.c ASoC: ssm2518: Use a signed return type for ssm2518_lookup_mcs() 2015-12-22 23:59:25 +00:00
ssm2518.h
ssm2602-i2c.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
ssm2602-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
ssm2602.c ASoC: ssm2602: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE 2015-08-05 13:23:35 +01:00
ssm2602.h ASoC: ssm2602: Split SPI and I2C code into different modules 2014-02-18 10:07:33 +09:00
ssm4567.c ASoC: ssm4567: Reset device before regcache_sync() 2016-01-27 13:33:50 +00:00
sta32x.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
sta32x.h ASoC: sta32x: correct bit shift value for IDE register 2015-01-27 17:10:00 +00:00
sta350.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
sta350.h ASoC: sta350: add support for bits in miscellaneous registers 2014-05-05 12:52:59 -07:00
sta529.c Merge remote-tracking branches 'asoc/topic/ssm2518', 'asoc/topic/sta529', 'asoc/topic/sti' and 'asoc/topic/sti-sas' into asoc-next 2015-08-30 15:57:13 +01:00
stac9766.c ASoC: stac9766: Use core reset helper 2015-07-23 17:33:34 +01:00
stac9766.h
sti-sas.c ASoC: sti-sas: fix x86 compilation issue. 2015-07-16 09:59:23 +01:00
tas571x.c ASoC: tas571x: added support for TAS5721 2016-03-31 10:25:38 -07:00
tas571x.h ASoC: tas571x: added missing register literals 2016-03-31 10:25:38 -07:00
tas2552.c ASoC: tas2552: fix dBscale-min declaration 2015-10-06 11:53:46 +01:00
tas2552.h ASoC: tas2552: Fix off-by-one for max_register setting 2015-07-23 16:46:31 +01:00
tas5086.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
tas5720.c ASoC: add support for TAS5720 digital amplifier 2016-04-27 16:48:53 +01:00
tas5720.h ASoC: add support for TAS5720 digital amplifier 2016-04-27 16:48:53 +01:00
tfa9879.c Merge branches 'topic/owner' and 'topic/reg-default' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-max9877 2015-07-16 21:35:01 +01:00
tfa9879.h ASoC: tfa9879: New driver for NXP Semiconductors TFA9879 amplifier. 2014-11-09 09:46:43 +00:00
tlv320aic3x.c ASoC: Updates for v4.4 2015-10-26 11:15:54 +09:00
tlv320aic3x.h ASoC: tlv320aic3x: Add TDM support 2014-11-10 12:04:02 +00:00
tlv320aic23-i2c.c ASoC: tlv320aic23: remove incorrect __exit markups 2015-03-09 18:24:44 +00:00
tlv320aic23-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
tlv320aic23.c ASoC: Move bias level update to the core 2015-04-27 21:34:45 +01:00
tlv320aic23.h ASoC: tlv320aic23: add support for SPI control mode 2014-03-07 10:55:33 +08:00
tlv320aic26.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
tlv320aic26.h ASoC: tlv320aic26: Convert to direct regmap API usage 2013-09-25 13:30:59 +01:00
tlv320aic31xx.c ASoC: tlv320aix31xx: Add ACPI match for Lenovo 100S 2016-04-19 17:41:15 +01:00
tlv320aic31xx.h ASoC: tlv320aic31xx: Enable support for S24_LE format 2014-09-04 12:05:31 +01:00
tlv320aic32x4-i2c.c ASoC: tlv320aic32x4: Break out I2C support into separate module 2016-04-19 10:54:43 +01:00
tlv320aic32x4-spi.c ASoC: tlv320aic32x4: Add SPI support 2016-04-19 10:54:47 +01:00
tlv320aic32x4.c ASoC: tlv320aic32x4: Properly implement the positive and negative pins into the mixers 2016-05-13 11:54:51 +01:00
tlv320aic32x4.h ASoC: tlv320aic32x4: Break out I2C support into separate module 2016-04-19 10:54:43 +01:00
tlv320dac33.c ASoC: tlv320dac33: Fix enum ctl accesses in a wrong type 2016-03-01 12:09:06 +09:00
tlv320dac33.h
tpa6130a2.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
tpa6130a2.h
ts3a227e.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
ts3a227e.h ASoC: add TI ts3a227e headset chip driver 2014-11-14 10:46:41 +00:00
twl4030.c ASoC: twl4030: Use snd_pcm_hw_constraint_single() 2015-10-21 14:24:44 +02:00
twl6040.c Merge remote-tracking branch 'asoc/topic/twl6040' into asoc-next 2016-05-27 13:45:30 +01:00
twl6040.h
uda134x.c ASoC: uda134x: Use snd_pcm_hw_constraint_single() 2015-10-21 14:24:52 +02:00
uda134x.h ASoC: uda134x: Convert to regmap 2015-07-13 11:51:35 +01:00
uda1380.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
uda1380.h
wl1273.c ASoC: wl1273: Fix enum ctl accesses in a wrong type 2016-03-01 12:09:30 +09:00
wl1273.h
wm0010.c Merge remote-tracking branches 'spi/topic/omap-100k', 'spi/topic/omap-uwire', 'spi/topic/owner', 'spi/topic/pxa' and 'spi/topic/pxa2xx' into spi-next 2015-11-04 11:02:12 +00:00
wm1250-ev1.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
wm2000.c ASoC: wm2000: a couple harmless underflows 2015-10-22 13:59:11 +01:00
wm2000.h
wm2200.c Merge remote-tracking branches 'asoc/topic/txx9', 'asoc/topic/uda134x', 'asoc/topic/ux500' and 'asoc/topic/width' into asoc-next 2015-08-30 15:58:18 +01:00
wm2200.h
wm5100-tables.c
wm5100.c ASoC: wm5100: use gpiochip data pointer 2016-04-26 15:36:19 +02:00
wm5100.h
wm5102.c Merge remote-tracking branches 'asoc/topic/adsp', 'asoc/topic/ak4624', 'asoc/topic/atmel' and 'asoc/topic/au1x' into asoc-next 2016-05-13 14:26:35 +01:00
wm5102.h
wm5110.c Merge remote-tracking branches 'asoc/topic/adsp', 'asoc/topic/ak4624', 'asoc/topic/atmel' and 'asoc/topic/au1x' into asoc-next 2016-05-13 14:26:35 +01:00
wm5110.h
wm8350.c ASoC: wm8350: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE 2015-08-05 13:23:52 +01:00
wm8350.h
wm8400.c ASoC: wm8400: Don't use range container for TLV with one entry 2015-08-05 13:23:56 +01:00
wm8400.h
wm8510.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm8510.h
wm8523.c Merge remote-tracking branches 'asoc/topic/fsl-spdif', 'asoc/topic/fsl-ssi', 'asoc/topic/gtm601', 'asoc/topic/ics43432' and 'asoc/topic/ids' into asoc-next 2015-08-30 15:54:15 +01:00
wm8523.h
wm8580.c Merge remote-tracking branches 'asoc/topic/fsl-spdif', 'asoc/topic/fsl-ssi', 'asoc/topic/gtm601', 'asoc/topic/ics43432' and 'asoc/topic/ids' into asoc-next 2015-08-30 15:54:15 +01:00
wm8580.h
wm8711.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm8711.h
wm8727.c ASoC: codecs: drop owner assignment from platform_drivers 2014-10-20 16:22:07 +02:00
wm8728.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm8728.h
wm8731.c sound updates for 4.4-rc1 2015-11-06 11:04:07 -08:00
wm8731.h
wm8737.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm8737.h
wm8741.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm8741.h ASoC: wm8741: Add differential mono mode support 2015-05-13 15:51:36 +01:00
wm8750.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm8750.h
wm8753.c ASoC: wm8753: Fix enum ctl accesses in a wrong type 2016-03-01 12:09:46 +09:00
wm8753.h
wm8770.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm8770.h
wm8776.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm8776.h
wm8782.c ASoC: codecs: drop owner assignment from platform_drivers 2014-10-20 16:22:07 +02:00
wm8804-i2c.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
wm8804-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm8804.c ASoC: wm8804: Drop duplicate const 2015-07-29 15:05:08 +01:00
wm8804.h ASoC: wm8804: Enable runtime PM 2015-04-08 19:25:40 +01:00
wm8900.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm8900.h
wm8903.c ASoC: wm8903: use gpiochip data pointer 2016-04-26 15:36:40 +02:00
wm8903.h ASoC: wm8903: Fix define for WM8903_VMID_RES_250K 2015-05-13 12:49:39 +01:00
wm8904.c ASoC: wm8904: Fix enum ctl accesses in a wrong type 2016-03-01 12:10:08 +09:00
wm8904.h
wm8940.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
wm8940.h
wm8955.c ASoC: wm8955: harmless underflow in wm8955_put_deemph() 2015-10-22 13:57:39 +01:00
wm8955.h
wm8958-dsp2.c ASoC: wm8958: Fix enum ctl accesses in a wrong type 2016-03-01 12:10:42 +09:00
wm8960.c Merge remote-tracking branches 'asoc/fix/rt5659', 'asoc/fix/sigmadsp', 'asoc/fix/simple', 'asoc/fix/wm5110' and 'asoc/fix/wm8960' into asoc-linus 2016-02-10 19:23:09 +00:00
wm8960.h ASoC: wm8960: update pll and clock setting function 2015-08-11 17:11:52 +01:00
wm8961.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
wm8961.h
wm8962.c sound updates #2 for 4.7-rc1 2016-05-28 12:23:12 -07:00
wm8962.h ASoC: wm8962: Adjust clk definitions so that simple card can work 2016-03-29 10:05:24 -07:00
wm8971.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
wm8971.h
wm8974.c ASoC: wm8974: configure pll and mclk divider automatically 2016-01-25 15:50:05 +00:00
wm8974.h
wm8978.c ASoC: drivers: Drop owner assignment from i2c_driver 2015-07-15 12:50:43 +01:00
wm8978.h
wm8983.c ASoC: wm8983: Fix enum ctl accesses in a wrong type 2016-03-01 12:11:10 +09:00
wm8983.h
wm8985.c ASoC: wm8985: Fix enum ctl accesses in a wrong type 2016-03-01 12:11:22 +09:00
wm8985.h
wm8988.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm8988.h
wm8990.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
wm8990.h ASoC: wm8990: Use supplies to manage input power 2013-11-25 15:49:49 +00:00
wm8991.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
wm8991.h ASoC: wm8991: Use a supply to manage input power 2013-11-24 13:53:26 +00:00
wm8993.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
wm8993.h
wm8994.c ASoC: wm8994: Fix enum ctl accesses in a wrong type 2016-03-01 12:11:42 +09:00
wm8994.h ASoC: wm8958: Move DSP firmware lock to driver level 2014-11-10 19:08:22 +00:00
wm8995.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm8995.h
wm8996.c ASoC: wm8996: use gpiochip data pointer 2016-04-26 15:36:57 +02:00
wm8996.h
wm8997.c ASoC: arizona: Free speaker thermal IRQs in CODEC remove 2016-04-15 18:01:02 +01:00
wm8997.h ASoC: wm8997: Initial CODEC driver 2013-08-13 11:31:56 +01:00
wm8998.c ASoC: arizona: Free speaker thermal IRQs in CODEC remove 2016-04-15 18:01:02 +01:00
wm8998.h ASoC: wm8998: Initial WM8998 codec driver 2015-10-02 17:51:34 +01:00
wm9081.c ASoC: wm9081: Fix enum ctl accesses in a wrong type 2016-03-01 12:12:37 +09:00
wm9081.h
wm9090.c Merge remote-tracking branches 'asoc/topic/tas2552', 'asoc/topic/tas5086', 'asoc/topic/tegra', 'asoc/topic/tlv' and 'asoc/topic/topology' into asoc-next 2015-08-30 15:57:34 +01:00
wm9090.h
wm9705.c ASoC: wm9705: Use core AC'97 reset helper 2015-07-23 17:33:37 +01:00
wm9705.h
wm9712.c ASoC: wm9712: Use core AC'97 reset helper 2015-07-23 17:33:40 +01:00
wm9712.h
wm9713.c ASoC: wm9713: fix regmap free path 2016-02-24 12:43:06 +09:00
wm9713.h ASoC: wm9713: Use core AC'97 reset helper 2015-07-23 17:33:43 +01:00
wm_adsp.c ASoC: wm_adsp: Detach compressed stream on free 2016-05-04 17:51:31 +01:00
wm_adsp.h ASoC: wm_adsp: free memory when unloaded or closed 2016-04-27 16:21:23 +01:00
wm_hubs.c ASoC: wm_hubs: Replace TLV_DB_RANGE_HEAD with DECLARE_TLV_DB_RANGE 2015-08-05 13:24:42 +01:00
wm_hubs.h
wmfw.h ASoC: wm_adsp: Add support for DSP control flags 2015-04-27 15:38:26 +01:00