summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: pcm3168a: add HW constraint for non RIGHT_JKuninori Morimoto2018-10-121-0/+36
| | | | | | | | | | | RIGHT_J only can handle 16bit data bits. Current driver just errored if user requests non RIGHT_J + 16bit combination. But it is not useful for user. This patch adds HW constraint for it, and avoid error on such situation. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: max98373: Sort DHT Rot Pnt Volume in reverse orderRyan Lee2018-10-111-7/+7
| | | | | Signed-off-by: Ryan Lee <ryans.lee@maximintegrated.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: max98373: Sort max98373_bde_gain_tlv in reverse orderRyan Lee2018-10-111-9/+9
| | | | | Signed-off-by: Ryan Lee <ryans.lee@maximintegrated.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: max98373: Sort BDE Limiter Thresh Volume in reverse orderRyan Lee2018-10-111-5/+5
| | | | | Signed-off-by: Ryan Lee <ryans.lee@maximintegrated.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: max98373: Sort Digital Volume in reverse orderRyan Lee2018-10-111-2/+2
| | | | | Signed-off-by: Ryan Lee <ryans.lee@maximintegrated.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: max98988: add I2C dependencyArnd Bergmann2018-10-101-0/+1
| | | | | | | | | | | | | | | | max98988 only builds with I2C support enabled, otherwise we get a build error: sound/soc/codecs/max98088.c:1789:1: error: data definition has no type or storage class [-Werror] module_i2c_driver(max98088_i2c_driver); ^~~~~~~~~~~~~~~~~ sound/soc/codecs/max98088.c:1789:1: error: type defaults to 'int' in declaration of 'module_i2c_driver' [-Werror=implicit-int] sound/soc/codecs/max98088.c:1789:1: error: parameter names (without types) in function declaration [-Werror] sound/soc/codecs/max98088.c:1780:26: error: 'max98088_i2c_driver' defined but not used [-Werror=unused-variable] Fixes: 24ae67c58250 ("ASoC: max98988: make it selectable") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: max98988: make it selectableMarco Felsch2018-10-081-1/+1
| | | | | | | | Currently the driver will build only if SND_SOC_ALL_CODECS is set. Adding a Kconfig menu description to build the driver standalone. Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: max98088: Add master clock handlingAndreas Färber2018-10-081-0/+26
| | | | | | | | | | | | | | If master clock is provided through device tree, then update the master clock frequency during set_sysclk. Cc: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Tushar Behera <trblinux@gmail.com> Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> [m.felsch@pengutronix.de: move mclk request to i2c_probe] [m.felsch@pengutronix.de: make use of snd_soc_component_get_bias_level()] Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: wm8782: add support for regulatorsDaniel Mack2018-10-081-0/+63
| | | | | | | | Lookup regulators for Vdd and Vdda during probe, and enable them when the component is linked. Signed-off-by: Daniel Mack <daniel@zonque.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: rt274: Add fall-through annotationsTakashi Iwai2018-10-051-0/+2
| | | | | | | | As a preparatory patch for the upcoming -Wimplicit-fallthrough compiler checks, add the "fall through" annotations in rt274 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: pcm186x: Use the standard fall-through annotationTakashi Iwai2018-10-051-1/+2
| | | | | | | | | As a preparatory patch for the upcoming -Wimplicit-fallthrough compiler checks, replace with the standard "fall through" annotation. Unfortunately gcc doesn't understand the mixed comment lines. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: adau1761: Use the standard fall-through annotationTakashi Iwai2018-10-051-1/+2
| | | | | | | | | As a preparatory patch for the upcoming -Wimplicit-fallthrough compiler checks, replace with the standard "fall through" annotation at the right place. It has to be put right before the next label. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: add fault detect recovery property to DT bindingsDaniel Mack2018-10-041-0/+2
| | | | | | | | | The driver already has support for setting the FDRB bit in the CONFA register through platform data, but there was no property to set it in the device-tree bindings. Signed-off-by: Daniel Mack <daniel@zonque.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: wm9712: fix unused variable warningArnd Bergmann2018-09-271-1/+2
| | | | | | | | | | | | | The 'ret' variable is now only used in an #ifdef, and causes a warning if it is declared outside of that block: sound/soc/codecs/wm9712.c: In function 'wm9712_soc_probe': sound/soc/codecs/wm9712.c:641:6: error: unused variable 'ret' [-Werror=unused-variable] Fixes: 2ed1a8e0ce8d ("ASoC: wm9712: add ac97 new bus support") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: max98088: add OF supportAndreas Färber2018-09-251-0/+10
| | | | | | | | | | MAX98088 is an older version of the MAX98089 device. Signed-off-by: Andreas Färber <afaerber@suse.de> [m.felsch@pengutronix.de: add CONFIG_OF compile switch] [m.felsch@pengutronix.de: adapt commit message] Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: cs4265: Add a MIC pre. routeMatt Flax2018-09-251-2/+3
| | | | | | | | | | The cs4265 driver is missing a microphone preamp enable. This patch enables/disables the microphone preamp when mic selection is made using the kcontrol. Signed-off-by: Matt Flax <flatmax@flatmax.org> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: rt5663: Remove the boost volume in the beginning of playbackOder Chiou2018-09-201-1/+6
| | | | | | | | The patch removes the boost volume in the beginning of playback while the DAC volume set to lower. Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: add for_each_card_rtds() macroKuninori Morimoto2018-09-201-1/+1
| | | | | | | | To be more readable code, this patch adds new for_each_card_rtds() macro, and replace existing code to it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: rt5677-spi: Drop unused GPIO includeLinus Walleij2018-09-181-1/+0
| | | | | | | | This SPI driver does not use the legacy GPIO header so just delete it. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: rt5682: Minor code modificationShuming Fan2018-09-181-4/+11
| | | | | | | | | | Minor code changes are: - improve the readability in patch list - add i2c remove function - regmap_register_patch changes to regmap_multi_reg_write Signed-off-by: Shuming Fan <shumingf@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: rt5682: Fix the boost volume at the begining of playbackShuming Fan2018-09-181-0/+5
| | | | | | | | This patch fixed the boost volume at the begining of playback while DAC volume set to lower level. Signed-off-by: Shuming Fan <shumingf@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: rt5682: Update calibration functionShuming Fan2018-09-181-2/+11
| | | | | | | The ADC/DAC path should open while calibration process. Signed-off-by: Shuming Fan <shumingf@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* Merge branch 'asoc-4.19' into asoc-4.20 for rt5682 deps.Mark Brown2018-09-182-11/+8
|\
| * ASoC: rt5682: Remove HP volume controlShuming Fan2018-09-181-5/+0
| | | | | | | | | | | | | | | | | | | | This patch removed Headphone Playback Volume control. Due to codec settings, we don't want the user to change HP analog gain. The user could use DAC1 Playback Volume control to change playback volume. Signed-off-by: Shuming Fan <shumingf@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: rt5514-spi: Get the period_bytes in the copy work to make sure the ↵Oder Chiou2018-09-171-6/+8
| | | | | | | | | | | | | | | | | | | | | | value correctly The value of period_bytes will get the zero before the hw_params() is not run completely. Move the function snd_pcm_lib_period_bytes() to copy work, and make sure that is not zero. Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: cs4265: fix MMTLR Data switch controlSébastien Szymanski2018-09-101-2/+2
| | | | | | | | | | | | | | | | | | The MMTLR bit is in the CS4265_SPDIF_CTL2 register at address 0x12 bit 0 and not at address 0x0 bit 1. Fix this. Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
* | ASoC: rt5682: Improve HP performanceShuming Fan2018-09-182-3/+43
| | | | | | | | | | | | | | We change the settings while HP power-up for better performance. Signed-off-by: Shuming Fan <shumingf@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: remove redundant includezhong jiang2018-09-183-3/+0
| | | | | | | | | | | | | | | | | | | | | | module.h already contained moduleparam.h, so it is safe to remove the redundant include. The issue is detected with the help of Coccinelle. Signed-off-by: zhong jiang <zhongjiang@huawei.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: es8328: Fix fall-through annotationsGustavo A. R. Silva2018-09-171-2/+2
| | | | | | | | | | | | | | | | | | | | Replace "fallthru" with a proper "fall through" annotation. This fix is part of the ongoing efforts to enabling -Wimplicit-fallthrough Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: rt5668: remove empty rt5668_i2c_remove()Kuninori Morimoto2018-09-111-6/+0
| | | | | | | | | | | | | | | | rt5668_i2c_remove() is empty, and no longer needed. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: tscs454: use devm_snd_soc_register_component()Kuninori Morimoto2018-09-101-1/+1
| | | | | | | | | | | | | | | | Now we have devm_snd_soc_register_component(). Let's use it instead of snd_soc_register_component(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: rt5668: use devm_snd_soc_register_component()Kuninori Morimoto2018-09-101-3/+1
| | | | | | | | | | | | | | | | Now we have devm_snd_soc_register_component(). Let's use it instead of snd_soc_register_component(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: hdac_hda: use devm_snd_soc_register_component()Kuninori Morimoto2018-09-101-2/+1
| | | | | | | | | | | | | | | | Now we have devm_snd_soc_register_component(). Let's use it instead of snd_soc_register_component(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: max98373: usleep_range() needs include/delay.hGrant Grundler2018-09-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit ca917f9fe1a0fab added use of usleep_range() but not the corresponding "include <linux/delay.h>". The result is with Chrome OS won't build because warnings are forced to be errors: mnt/host/source/src/third_party/kernel/v4.4/sound/soc/codecs/max98373.c:734:2: error: implicit declaration of function 'usleep_range' [-Werror,-Wimplicit-function-declaration] usleep_range(10000, 11000); ^ Including delay.h "fixes" this. Signed-off-by: Grant Grundler <grundler@chromium.org> Reviewed-by: Benson Leung <bleung@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: Intel: hdac_hdmi: Limit sampling rates at dai creationYong Zhi2018-09-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Playback of 44.1Khz contents with HDMI plugged returns "Invalid pipe config" because HDMI paths in the FW topology are configured to operate at 48Khz. This patch filters out sampling rates not supported at hdac_hdmi_create_dais() to let user space SRC to do the converting. Signed-off-by: Yong Zhi <yong.zhi@intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: sgtl5000: avoid division by zero if lo_vag is zeroColin Ian King2018-09-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | In the case where lo_vag <= SGTL5000_LINE_OUT_GND_BASE, lo_vag is set to zero and later vol_quot is computed by dividing by lo_vag causing a division by zero error. Fix this by avoiding a zero division and set vol_quot to zero in this specific case so that the lowest setting for i is correctly set. Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: hdac_hdmi: remove redundant check for !port conditionColin Ian King2018-09-061-3/+0
| | | | | | | | | | | | | | | | The !port check is redundant as it being performed in the following check. Remove it. Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: tlv320aic31xx: Add overflow detection supportAndrew F. Davis2018-09-042-2/+39
| | | | | | | | | | | | | | | | | | | | Similar to short circuit detection, when the ADC/DAC is saturated and overflows poor audio quality can result and should be reported to the user. This device support Automatic Dynamic Range Compression (DRC) to reduce this but it is not enabled currently in this driver. Signed-off-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: tlv320aic31xx: Add short circuit detection supportAndrew F. Davis2018-09-032-0/+71
| | | | | | | | | | | | | | | | | | | | These devices support detecting and reporting short circuits across the output stages. Add support for reporting these issue. Do this by registering an interrupt if available and enabling this error to trigger that interrupt in the device. Signed-off-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: tas6424: Add channel fault reportingAndrew F. Davis2018-08-312-6/+56
| | | | | | | | | | | | | | | | The TAS6426 has a register that reports channel faults such as overcurrent and continuous DC output. Add reporting of this here. Signed-off-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | Merge branch 'asoc-4.19' into asoc-4.20 tas dependencyMark Brown2018-08-315-10/+30
|\|
| * ASoC: tas6424: Save last fault register even when clearAndrew F. Davis2018-08-311-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | When there is no fault bit set in a fault register we skip the fault reporting section for that register. This also skips over saving that registers value. We save the value so we will not double report an error, but if an error clears then returns we will also not report it as we did not save the all cleared register value. Fix this by saving the fault register value in the all clear path. Signed-off-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
| * ASoC: sigmadsp: safeload should not have lower byte limitDanny Smith2018-08-281-2/+1
| | | | | | | | | | | | | | | | | | Fixed range in safeload conditional to allow safeload to up to 20 bytes, without a lower limit. Signed-off-by: Danny Smith <dannys@axis.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: wm8804: Add ACPI supportPierre-Louis Bossart2018-08-281-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | HID made of either Wolfson/CirrusLogic PCI ID + 8804 identifier. This helps enumerate the HifiBerry Digi+ HAT boards on the Up2 platform. The scripts at https://github.com/thesofproject/acpi-scripts can be used to add the ACPI initrd overlays. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: rt5682: Change DAC/ADC volume scaleShuming Fan2018-08-281-4/+4
| | | | | | | | | | | | | | | | The step of DAC/ADC volume scale changes from 0.375dB to 0.75dB Signed-off-by: Shuming Fan <shumingf@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
| * ASoC: max98373: Added 10ms sleep after amp software resetRyan Lee2018-08-281-0/+2
| | | | | | | | | | Signed-off-by: Ryan Lee <ryans.lee@maximintegrated.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: tas6424: Print full register name in error messageAndrew F. Davis2018-08-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The current short version of the register name may be ambiguous when another fault register detection is added. Use the full name. While here fix comment about clearing faults, the CLEAR_FAULT register actually only clears sticky bits, which are only warnings, fault bits can only cleared by resolving the fault. Signed-off-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: cs4265: Add a S/PDIF enable switchMatt Flax2018-08-311-0/+1
| | | | | | | | | | | | | | | | This patch adds a S/PDIF enable switch as a SOC_SINGLE. Signed-off-by: Matt Flax <flatmax@flatmax.org> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: cs4265: Add native 32bit I2S transportMatt Flax2018-08-311-1/+2
| | | | | | | | | | | | | | | | | | The cs4265 uses 32 bit transport on the I2S bus. This patch enables native 32 bit mode for machine drivers which use this sound card driver. Signed-off-by: Matt Flax <flatmax@flatmax.org> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: cs4265: SOC_SINGLE register value error fixMatt Flax2018-08-311-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | The cs4265 driver declares the "MMTLR Data Switch" register setting with a 0 register value rather then the 0x12 register (CS4265_SPDIF_CTL2). This incorrect value causes alsamixer to fault with the output : cannot load mixer controls: Input/output error This patch corrects the register value. alsamixer now runs. Signed-off-by: Matt Flax <flatmax@flatmax.org> Signed-off-by: Mark Brown <broonie@kernel.org>