summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: tlv320adcx140: Add tx offset slot programmingDan Murphy2020-07-091-30/+10
| | | | | | | | | | | Add the TX offset slot programming. There is no RX offset slot register. Since there is no RX offset the check for slot symmetry can be removed. Signed-off-by: Dan Murphy <dmurphy@ti.com> Link: https://lore.kernel.org/r/20200709185129.10505-2-dmurphy@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: tlv320adcx140: Add ASI enable for channel 5-8Dan Murphy2020-07-091-0/+22
| | | | | | | | Add the ALSA controls to enable the ASI for channels 5-8 Signed-off-by: Dan Murphy <dmurphy@ti.com> Link: https://lore.kernel.org/r/20200709185129.10505-1-dmurphy@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
* Merge series "ASoC: topology: fix error handling flow" from Pierre-Louis ↵Mark Brown2020-07-081-9/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bossart <pierre-louis.bossart@linux.intel.com>: While experimenting and introducing errors in Baytrail topology files until I got them right, I encountered multiple kernel oopses and memory leaks. This is a first batch to harden the code, but we should probably think of a tool to fuzz the topology... Pierre-Louis Bossart (5): ASoC: topology: fix kernel oops on route addition error ASoC: topology: fix tlvs in error handling for widget_dmixer ASoC: topology: use break on errors, not continue ASoC: topology: factor kfree(se) in error handling ASoC: topology: add more logs when topology load fails. sound/soc/soc-topology.c | 97 ++++++++++++++++++++++++---------------- 1 file changed, 58 insertions(+), 39 deletions(-) base-commit: a5911ac5790acaf98c929b826b3f7b4a438f9759 -- 2.25.1
| * ASoC: rt5682: cancel jack_detect_work if hs_jack is set to null even ↵Oder Chiou2020-07-011-9/+10
| | | | | | | | | | | | | | | | | | | | | | soundwire mode Base on https://patchwork.kernel.org/patch/11237953/ Soundwire mode also should follow it. Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Link: https://lore.kernel.org/r/20200701071645.32061-1-oder_chiou@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: da7213: add default clock handlingSebastian Reichel2020-07-072-5/+80
| | | | | | | | | | | | | | | | | | | | | | This adds default clock/PLL configuration to the driver for usage with generic drivers like simple-card for usage with a fixed rate clock. Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> Reviewed-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> Link: https://lore.kernel.org/r/20200626164623.87894-1-sebastian.reichel@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: codecs: wm8400: remove unused variablesPierre-Louis Bossart2020-07-061-12/+0
| | | | | | | | | | | | | | | | | | Fix W=1 warning by removing unused variables Suggested-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200702163633.162508-1-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: rt5670: Rename dev_gpio to gpio1_is_irqHans de Goede2020-07-032-13/+13
| | | | | | | | | | | | | | | | | | | | Rename the not really descriptive dev_gpio quirk / setting to gpio1_is_irq, which describes what it actually does. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200703100823.258033-3-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: rt5670: Remove struct rt5670_platform_dataHans de Goede2020-07-032-33/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | platform_data is an obsolete concept, instead device_properties, set through e.g. device-tree, should be used. struct rt5670_platform_data is only used internally by the rt5670 codec driver, so lets remove it before someone starts relying on it. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200703100823.258033-2-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: codecs: wm8994: fix kernel-docPierre-Louis Bossart2020-07-021-0/+4
| | | | | | | | | | | | | | | | | | Fix W=1 warning Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20200701181320.80848-7-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: codecs: wm9713: remove spurious kernel-doc comment startPierre-Louis Bossart2020-07-021-1/+1
| | | | | | | | | | | | | | | | | | Fix W=1 warning Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20200701181320.80848-6-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: codecs: wm8960: fix kernel-docPierre-Louis Bossart2020-07-021-1/+1
| | | | | | | | | | | | | | | | | | Fix W=1 warning Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20200701181320.80848-5-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: codecs: wm8986: fix missing kernel-doc argumentsPierre-Louis Bossart2020-07-021-0/+3
| | | | | | | | | | | | | | | | | | Fix W=1 warning Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20200701181320.80848-4-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: codecs: cs42l42: remove always-true comparisonsPierre-Louis Bossart2020-07-021-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix W=1 warnings: cs42l42.c: In function 'cs42l42_handle_device_data': cs42l42.c:1661:12: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 1661 | if ((val >= CS42L42_BTN_DET_INIT_DBNCE_MIN) && | ^~ cs42l42.c:1679:12: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 1679 | if ((val >= CS42L42_BTN_DET_EVENT_DBNCE_MIN) && | ^~ cs42l42.c:1698:23: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] 1698 | if ((thresholds[i] >= CS42L42_HS_DET_LEVEL_MIN) && | ^~ Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200701181320.80848-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: codecs: cs4270: fix kernel-docPierre-Louis Bossart2020-07-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix W=1 warnings cs4270.c:508: warning: Function parameter or member 'component' not described in 'cs4270_probe' cs4270.c:508: warning: Excess function parameter 'pdev' description in 'cs4270_probe' cs4270.c:548: warning: Function parameter or member 'component' not described in 'cs4270_remove' cs4270.c:548: warning: Excess function parameter 'pdev' description in 'cs4270_remove' Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200701181320.80848-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | Merge branch 'for-5.8' of ↵Mark Brown2020-06-294-25/+77
|\| | | | | | | https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.9
| * ASoC: rt5670: Fix dac- and adc- vol-tlv values being off by a factor of 10Hans de Goede2020-06-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The adc_vol_tlv volume-control has a range from -17.625 dB to +30 dB, not -176.25 dB to + 300 dB. This wrong scale is esp. a problem in userspace apps which translate the dB scale to a linear scale. With the logarithmic dB scale being of by a factor of 10 we loose all precision in the lower area of the range when apps translate things to a linear scale. E.g. the 0 dB default, which corresponds with a value of 47 of the 0 - 127 range for the control, would be shown as 0/100 in alsa-mixer. Since the centi-dB values used in the TLV struct cannot represent the 0.375 dB step size used by these controls, change the TLV definition for them to specify a min and max value instead of min + stepsize. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20200628155231.71089-5-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: rt5670: Add new gpio1_is_ext_spk_en quirk and enable it on the Lenovo ↵Hans de Goede2020-06-291-15/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Miix 2 10 The Lenovo Miix 2 10 has a keyboard dock with extra speakers in the dock. Rather then the ACL5672's GPIO1 pin being used as IRQ to the CPU, it is actually used to enable the amplifier for these speakers (the IRQ to the CPU comes directly from the jack-detect switch). Add a quirk for having an ext speaker-amplifier enable pin on GPIO1 and replace the Lenovo Miix 2 10's dmi_system_id table entry's wrong GPIO_DEV quirk (which needs to be renamed to GPIO1_IS_IRQ) with the new RT5670_GPIO1_IS_EXT_SPK_EN quirk, so that we enable the external speaker-amplifier as necessary. Also update the ident field for the dmi_system_id table entry, the Miix models are not Thinkpads. Fixes: 67e03ff3f32f ("ASoC: codecs: rt5670: add Thinkpad Tablet 10 quirk") Signed-off-by: Hans de Goede <hdegoede@redhat.com> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1786723 Link: https://lore.kernel.org/r/20200628155231.71089-4-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: rt5670: Correct RT5670_LDO_SEL_MASKHans de Goede2020-06-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RT5670_PWR_ANLG1 register has 3 bits to select the LDO voltage, so the correct mask is 0x7 not 0x3. Because of this wrong mask we were programming the ldo bits to a setting of binary 001 (0x05 & 0x03) instead of binary 101 when moving to SND_SOC_BIAS_PREPARE. According to the datasheet 001 is a reserved value, so no idea what it did, since the driver was working fine before I guess we got lucky and it does something which is ok. Fixes: 5e8351de740d ("ASoC: add RT5670 CODEC driver") Signed-off-by: Hans de Goede <hdegoede@redhat.com> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20200628155231.71089-3-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: rt5682: fix the pop noise while OMTP type headset pluginShuming Fan2020-06-241-1/+8
| | | | | | | | | | | | | | | | | | To turn the headphone output switch off during jack type detection, it could avoid the pop noise when jack type switches to OMTP type. Signed-off-by: Shuming Fan <shumingf@realtek.com> Link: https://lore.kernel.org/r/20200623125312.27896-1-shumingf@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: hdac_hda: fix memleak with regmap not freed on removePierre-Louis Bossart2020-06-171-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kmemleak throws error reports on module load/unload tests, add snd_hdac_regmap_exit() in .remove(). While we are at it, also fix the error handling flow in .probe() to use snd_hdac_regmap_exit() if needed. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20200617164144.17859-1-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: tas2562: Add voltage sense slot configurationDan Murphy2020-06-291-14/+51
| | | | | | | | | | | | | | | | | | | | | | | | Add Vsense slot configuration based on the device tree. Adding this property enables the slot programming to be moved to the tdm_set_slot callback. This in affect sets the slots for the Isense and Vsense and enabling this these modes are now based on whether these features were powered on or not. Signed-off-by: Dan Murphy <dmurphy@ti.com> Link: https://lore.kernel.org/r/20200626154143.20351-3-dmurphy@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: tas2562: Add right and left channel slot programmingDan Murphy2020-06-292-17/+59
| | | | | | | | | | | | | | | | | | Add programming for the tdm slots for the right and left. This also requires configuring the RX/TX offsets for the DAI format type. Signed-off-by: Dan Murphy <dmurphy@ti.com> Link: https://lore.kernel.org/r/20200626154143.20351-1-dmurphy@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: rt1015: add missing header inclusionTzung-Bi Shih2020-06-251-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To fix compilation error: error: implicit declaration of function 'ACPI_PTR' [-Werror,-Wimplicit-function-declaration] .acpi_match_table = ACPI_PTR(rt1015_acpi_match), ^ Adds the missing header "acpi.h" inclusion and sorts in alphabetical. Signed-off-by: Tzung-Bi Shih <tzungbi@google.com> Link: https://lore.kernel.org/r/20200625153543.85039-4-tzungbi@google.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: tas2562: Fix format issue for extra space before a commaDan Murphy2020-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | Fix the issue found that there is an extra space before a comma in the volume control. Fixes: bf726b1c86f2c ("ASoC: tas2562: Add support for digital volume control") Signed-off-by: Dan Murphy <dmurphy@ti.com> Link: https://lore.kernel.org/r/20200624174932.9604-4-dmurphy@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: tas2562: Update shutdown GPIO propertyDan Murphy2020-06-251-2/+2
| | | | | | | | | | | | | | | | | | Update the shutdown GPIO property to be shutdown from shut-down. Fixes: c173dba44c2d2 ("ASoC: tas2562: Introduce the TAS2562 amplifier") Signed-off-by: Dan Murphy <dmurphy@ti.com> Link: https://lore.kernel.org/r/20200624174932.9604-3-dmurphy@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: rt1011: fix KASAN out-of-bounds bug in find_next_bit()Fred Oh2020-06-231-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KASAN throws the following warning in rt1011.c: [ 170.777603] BUG: KASAN: stack-out-of-bounds in _find_next_bit.constprop.0+0x3e/0xf0 find_next_bit() relies on unsigned long pointer arguments, but this driver uses a type cast that generates the KASAN warning. Replace find_next_bit() and find_last_bit() with __ffs() and __fls() to pass the value and avoid casting pointers to make the warning go away. Signed-off-by: Fred Oh <fred.oh@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Link: https://lore.kernel.org/r/20200622151348.28063-1-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | Merge series "ASoC: merge snd_soc_component_read() and ↵Mark Brown2020-06-22103-840/+772
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | snd_soc_component_read32()" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>: Hi Mark Because we can use "read" function which is using "regmap" or "driver", current ALSA SoC drivers are using both snd_soc_component_read() // for regmap snd_soc_component_read32() // for driver callback These are similar but needs different parameter. This patch aggressively merge snd_soc_component_read() and _read32(), and makes snd_soc_component_read/write() as generally style. New read doesn't return error if it failed, thus, it can't keep compatibility, but assuming it is not a big problem. Because 1) it will indicate error message, 2) it can do nothing anyway if it fails "read". [02/16] patch is not directly connected to read function merging, but need to be apply after [01/16]. Kuninori Morimoto (16): ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32() ASoC: soc-component: use io_mutex correctly ASoC: pxa: rename to snd_soc_component_read() ASoC: atmel: rename to snd_soc_component_read() ASoC: codecs: rename to snd_soc_component_read() ASoC: codecs: wcd*: rename to snd_soc_component_read() ASoC: codecs: tlv*: rename to snd_soc_component_read() ASoC: codecs: max*: rename to snd_soc_component_read() ASoC: codecs: msm*: rename to snd_soc_component_read() ASoC: codecs: alc*: rename to snd_soc_component_read() ASoC: codecs: wm*: rename to snd_soc_component_read() ASoC: codecs: rt*: rename to snd_soc_component_read() ASoC: codecs: da*: rename to snd_soc_component_read() ASoC: codecs: cs*: rename to snd_soc_component_read() ASoC: codecs: ak*: rename to snd_soc_component_read() ASoC: remove snd_soc_component_read32() include/sound/soc-component.h | 4 +- sound/soc/atmel/atmel-pdmic.c | 4 +- sound/soc/codecs/88pm860x-codec.c | 14 ++--- sound/soc/codecs/ab8500-codec.c | 8 +-- sound/soc/codecs/ad1980.c | 4 +- sound/soc/codecs/ak4458.c | 2 +- sound/soc/codecs/ak4535.c | 4 +- sound/soc/codecs/ak4613.c | 4 +- sound/soc/codecs/ak4671.c | 8 +-- sound/soc/codecs/alc5623.c | 6 +- sound/soc/codecs/alc5632.c | 6 +- sound/soc/codecs/arizona.c | 18 +++--- sound/soc/codecs/cs4270.c | 10 +-- sound/soc/codecs/cs42l42.c | 2 +- sound/soc/codecs/cs42l51.c | 8 +-- sound/soc/codecs/cs42l73.c | 4 +- sound/soc/codecs/cs47l35.c | 10 +-- sound/soc/codecs/cs47l85.c | 10 +-- sound/soc/codecs/da7210.c | 24 ++++---- sound/soc/codecs/da7213.c | 24 ++++---- sound/soc/codecs/da7218.c | 34 +++++------ sound/soc/codecs/da7219-aad.c | 16 ++--- sound/soc/codecs/da7219.c | 20 +++--- sound/soc/codecs/da732x.c | 18 +++--- sound/soc/codecs/da9055.c | 14 ++--- sound/soc/codecs/inno_rk3036.c | 6 +- sound/soc/codecs/madera.c | 49 +++------------ sound/soc/codecs/max98088.c | 12 ++-- sound/soc/codecs/max98090.c | 20 +++--- sound/soc/codecs/max98095.c | 16 ++--- sound/soc/codecs/max9850.c | 2 +- sound/soc/codecs/msm8916-wcd-analog.c | 14 ++--- sound/soc/codecs/msm8916-wcd-digital.c | 16 ++--- sound/soc/codecs/nau8822.c | 6 +- sound/soc/codecs/rt1305.c | 2 +- sound/soc/codecs/rt298.c | 2 +- sound/soc/codecs/rt5616.c | 2 +- sound/soc/codecs/rt5631.c | 32 +++++----- sound/soc/codecs/rt5640.c | 10 +-- sound/soc/codecs/rt5645.c | 16 ++--- sound/soc/codecs/rt5651.c | 6 +- sound/soc/codecs/rt5659.c | 14 ++--- sound/soc/codecs/rt5660.c | 2 +- sound/soc/codecs/rt5663.c | 34 +++++------ sound/soc/codecs/rt5665.c | 16 ++--- sound/soc/codecs/rt5668.c | 16 ++--- sound/soc/codecs/rt5670.c | 18 +++--- sound/soc/codecs/rt5682-i2c.c | 2 +- sound/soc/codecs/rt5682.c | 19 +++--- sound/soc/codecs/sgtl5000.c | 16 ++--- sound/soc/codecs/sta32x.c | 4 +- sound/soc/codecs/tas2552.c | 4 +- sound/soc/codecs/tas5720.c | 4 +- sound/soc/codecs/tda7419.c | 9 +-- sound/soc/codecs/tlv320aic23.c | 14 ++--- sound/soc/codecs/tlv320aic26.c | 4 +- sound/soc/codecs/tlv320aic32x4.c | 16 ++--- sound/soc/codecs/tlv320aic3x.c | 14 ++--- sound/soc/codecs/tscs42xx.c | 4 +- sound/soc/codecs/tscs454.c | 24 ++------ sound/soc/codecs/wcd-clsh-v2.c | 2 +- sound/soc/codecs/wcd9335.c | 48 +++++++-------- sound/soc/codecs/wcd934x.c | 52 ++++++++-------- sound/soc/codecs/wm2200.c | 4 +- sound/soc/codecs/wm5100.c | 18 +++--- sound/soc/codecs/wm5110.c | 6 +- sound/soc/codecs/wm8350.c | 32 +++++----- sound/soc/codecs/wm8400.c | 50 +++++++-------- sound/soc/codecs/wm8510.c | 28 ++++----- sound/soc/codecs/wm8523.c | 6 +- sound/soc/codecs/wm8580.c | 12 ++-- sound/soc/codecs/wm8711.c | 8 +-- sound/soc/codecs/wm8728.c | 10 +-- sound/soc/codecs/wm8731.c | 6 +- sound/soc/codecs/wm8750.c | 8 +-- sound/soc/codecs/wm8753.c | 42 ++++++------- sound/soc/codecs/wm8770.c | 2 +- sound/soc/codecs/wm8776.c | 2 +- sound/soc/codecs/wm8804.c | 2 +- sound/soc/codecs/wm8900.c | 22 +++---- sound/soc/codecs/wm8903.c | 20 +++--- sound/soc/codecs/wm8904.c | 16 ++--- sound/soc/codecs/wm8940.c | 32 +++++----- sound/soc/codecs/wm8955.c | 2 +- sound/soc/codecs/wm8958-dsp2.c | 18 +++--- sound/soc/codecs/wm8960.c | 20 +++--- sound/soc/codecs/wm8961.c | 58 +++++++++--------- sound/soc/codecs/wm8962.c | 31 +++++----- sound/soc/codecs/wm8971.c | 8 +-- sound/soc/codecs/wm8974.c | 24 ++++---- sound/soc/codecs/wm8978.c | 12 ++-- sound/soc/codecs/wm8983.c | 8 +-- sound/soc/codecs/wm8985.c | 8 +-- sound/soc/codecs/wm8988.c | 12 ++-- sound/soc/codecs/wm8990.c | 18 +++--- sound/soc/codecs/wm8991.c | 38 ++++++------ sound/soc/codecs/wm8993.c | 28 ++++----- sound/soc/codecs/wm8994.c | 60 +++++++++--------- sound/soc/codecs/wm8995.c | 16 ++--- sound/soc/codecs/wm8996.c | 30 ++++----- sound/soc/codecs/wm8998.c | 8 +-- sound/soc/codecs/wm9081.c | 36 +++++------ sound/soc/codecs/wm9090.c | 4 +- sound/soc/codecs/wm9713.c | 2 +- sound/soc/codecs/wm_hubs.c | 30 ++++----- sound/soc/fsl/fsl_audmix.c | 10 +-- sound/soc/fsl/fsl_easrc.c | 5 +- sound/soc/meson/aiu-encoder-i2s.c | 3 +- sound/soc/meson/aiu-fifo-i2s.c | 3 +- sound/soc/meson/aiu-fifo.c | 3 +- sound/soc/pxa/mioa701_wm9713.c | 8 +-- sound/soc/soc-ac97.c | 7 +-- sound/soc/soc-component.c | 84 ++++++++++++++------------ sound/soc/soc-dapm.c | 31 ++++------ sound/soc/soc-ops.c | 43 +++---------- 115 files changed, 854 insertions(+), 963 deletions(-) -- 2.25.1
| * | ASoC: codecs: ak*: rename to snd_soc_component_read()Kuninori Morimoto2020-06-223-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use snd_soc_component_read() instead of snd_soc_component_read32() This patch renames _read32() to _read() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/878sgn4mc0.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: cs*: rename to snd_soc_component_read()Kuninori Morimoto2020-06-224-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use snd_soc_component_read() instead of snd_soc_component_read32() This patch renames _read32() to _read() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87a7134mc4.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: da*: rename to snd_soc_component_read()Kuninori Morimoto2020-06-227-75/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use snd_soc_component_read() instead of snd_soc_component_read32() This patch renames _read32() to _read() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> Link: https://lore.kernel.org/r/87bllj4mc8.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: rt*: rename to snd_soc_component_read()Kuninori Morimoto2020-06-2214-93/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use snd_soc_component_read() instead of snd_soc_component_read32() This patch renames _read32() to _read() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87d05z4mce.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: wm*: rename to snd_soc_component_read()Kuninori Morimoto2020-06-2242-398/+399
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use snd_soc_component_read() instead of snd_soc_component_read32() This patch renames _read32() to _read() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87eeqf4mcl.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: alc*: rename to snd_soc_component_read()Kuninori Morimoto2020-06-222-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use snd_soc_component_read() instead of snd_soc_component_read32() This patch renames _read32() to _read() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87ftav4md9.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: msm*: rename to snd_soc_component_read()Kuninori Morimoto2020-06-222-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use snd_soc_component_read() instead of snd_soc_component_read32() This patch renames _read32() to _read() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87h7vb4mdf.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: max*: rename to snd_soc_component_read()Kuninori Morimoto2020-06-224-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use snd_soc_component_read() instead of snd_soc_component_read32() This patch renames _read32() to _read() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87imfr4mdl.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: tlv*: rename to snd_soc_component_read()Kuninori Morimoto2020-06-224-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use snd_soc_component_read() instead of snd_soc_component_read32() This patch renames _read32() to _read() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87k1074mds.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: wcd*: rename to snd_soc_component_read()Kuninori Morimoto2020-06-223-51/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use snd_soc_component_read() instead of snd_soc_component_read32() This patch renames _read32() to _read() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/87lfkn4mdy.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: rename to snd_soc_component_read()Kuninori Morimoto2020-06-229-38/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to use snd_soc_component_read() instead of snd_soc_component_read32() This patch renames _read32() to _read() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87mu534me5.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: soc-component: merge snd_soc_component_read() and ↵Kuninori Morimoto2020-06-2211-96/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | snd_soc_component_read32() We had read/write function for Codec, Platform, etc, but these has been merged into snd_soc_component_read/write(). Internally, it is using regmap or driver function. In read case, each styles are like below regmap ret = regmap_read(..., reg, &val); driver function val = xxx->read(..., reg); Because of this kind of different style, to keep same read style, when we merged each read function into snd_soc_component_read(), we created snd_soc_component_read32(), like below. commit 738b49efe6c6 ("ASoC: add snd_soc_component_read32") (1) val = snd_soc_component_read32(component, reg); (2) ret = snd_soc_component_read(component, reg, &val); Many drivers are using snd_soc_component_read32(), and some drivers are using snd_soc_component_read() today. In generally, we don't check read function successes, because, we will have many other issues at initial timing if read function didn't work. Now we can use soc_component_err() when error case. This means, it is easy to notice if error occurred. This patch aggressively merge snd_soc_component_read() and _read32(), and makes snd_soc_component_read/write() as generally style. This patch do 1) merge snd_soc_component_read() and snd_soc_component_read32() 2) it uses soc_component_err() when error case (easy to notice) 3) keeps read32 for now by #define 4) update snd_soc_component_read() for all drivers Because _read() user drivers are not too many, this patch changes all user drivers. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/87sgev4mfl.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | | ASoC: wm_adsp: Add controls for calibration and diagnostic FWVlad Karpovich2020-06-221-2/+8
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | Exposed additional mixer controls to select calibration or diagnostic firmware. 'Calibration' --> chip-dsp<id>-spk-cali.wmfw (.bin) 'Diagnostic' --> chip-dsp<id>-spk-diag.wmfw (.bin) Signed-off-by: Vlad Karpovich <Vlad.Karpovich@cirrus.com> Signed-off-by: David Rhodes <david.rhodes@cirrus.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20200619212651.2739-1-david.rhodes@cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: rt1015: Flush DAC data before playback.Jack Yu2020-06-162-4/+19
| | | | | | | | | | | | | | | | Flush DAC data before playback. Signed-off-by: Jack Yu <jack.yu@realtek.com> Link: https://lore.kernel.org/r/20200616023644.4523-1-jack.yu@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | Merge series "ASoC: max98357a: support MAX98360A in OF" from Tzung-Bi Shih ↵Mark Brown2020-06-151-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <tzungbi@google.com>: Commit 1a0f2433d738 ("ASoC: max98357a: Add ACPI HID MAX98360A") supports MAX98360A in ACPI world. This series supports MAX98360A in OF world. Tzung-Bi Shih (2): ASoC: max98357a: add compatible string for MAX98360A ASoC: dt-bindings: add compatible string for MAX98360A .../devicetree/bindings/sound/max98357a.txt | 12 +++++++++--- sound/soc/codecs/max98357a.c | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) -- 2.27.0.278.ge193c7cf3a9-goog
| * | ASoC: max98357a: add compatible string for MAX98360ATzung-Bi Shih2020-06-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Maxim MAX98360A audio amplifier is functionally identical to MAX98357A. Adds compatible string "maxim,max98360a" for driver reuse. Signed-off-by: Tzung-Bi Shih <tzungbi@google.com> Link: https://lore.kernel.org/r/20200605034931.107713-2-tzungbi@google.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | | Merge series "ASoC: mediatek: mt6358: support DMIC one-wire mode" from ↵Mark Brown2020-06-151-1/+22
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Jiaxin Yu <jiaxin.yu@mediatek.com>: v2 changes: 1. Uses a DT property to select DMIC mode instead of a mixer control. v1 changes: 1. Uses a mixer control to select DMIC mode. 2. patchwork list: https://patchwork.kernel.org/patch/11578309 Jiaxin Yu (2): ASoC: mediatek: mt6358: support DMIC one-wire mode ASoC: dt-bindings: mediatek: mt6358: add dmic-mode property Documentation/devicetree/bindings/sound/mt6358.txt | 6 ++++++ sound/soc/codecs/mt6358.c | 23 +++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) -- 1.8.1.1.dirty _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
| * | | ASoC: mediatek: mt6358: support DMIC one-wire modeJiaxin Yu2020-06-151-1/+22
| |/ / | | | | | | | | | | | | | | | | | | | | | Supports DMIC one-wire mode. Uses a DT property "dmic-mode" to select. Signed-off-by: Jiaxin Yu <jiaxin.yu@mediatek.com> Link: https://lore.kernel.org/r/1591353222-18576-2-git-send-email-jiaxin.yu@mediatek.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | | ASoC: max98390: Add Amp init common setting func.Steve Lee2020-06-151-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add amp common init function to gather common init setting and finaize. - add max98390_init_regs func - move amp setting to max98390_init_regs func. - removed unneceary setting and finalize common register values. Signed-off-by: Steve Lee <steves.lee@maximintegrated.com> Link: https://lore.kernel.org/r/20200611094718.18371-1-steves.lee@maximintegrated.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | | ASoC: rt5682: DAI wclk supports 44100 Hz outputderek.fang2020-06-151-18/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | DAI Wclk of rt5682 only supports 48000Hz output so far, this patch lets it support 44100Hz. Signed-off-by: derek.fang <derek.fang@realtek.com> Link: https://lore.kernel.org/r/1591938925-1070-4-git-send-email-derek.fang@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | | ASoC: rt5682: Let PLL2 support the freq conversion for 44100Hz sample ratederek.fang2020-06-152-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | PLL2 of rt5682 only supports the freq conversion for 48000Hz sample rate so far, this patch lets it support 44100Hz. Signed-off-by: derek.fang <derek.fang@realtek.com> Link: https://lore.kernel.org/r/1591938925-1070-3-git-send-email-derek.fang@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | | ASoC: rl6231: Add new supports on rl6231derek.fang2020-06-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Add pll preset maps for Realtek codecs' PLL2 freq conversions. Signed-off-by: derek.fang <derek.fang@realtek.com> Link: https://lore.kernel.org/r/1591938925-1070-2-git-send-email-derek.fang@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | | ASoC: wm8960: Support headphone jack detection functionShengjiu Wang2020-06-151-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add two platform variables for headphone jack detection. "hp_cfg" is for configuration of heaphone jack detection. "gpio_cfg" is for configuration of gpio, the gpio is used for plug & unplug interrupt on SoC. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1591180013-12416-2-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>