Takashi Iwai
d02b105909
Merge tag 'asoc-fix-v5.8-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
...
ASoC: Fixes for v5.8
A few small driver specific fixes, nothing particularly dramatic.
2020-06-30 19:49:38 +02:00
Shuming Fan
9bc5fd71b6
ASoC: rt5682: fix the pop noise while OMTP type headset plugin
...
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 >
2020-06-24 15:30:03 +01:00
Takashi Iwai
91ef3d9f9f
Merge tag 'asoc-fix-v5.8-rc2' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
...
ASoC: Fixes for v5.8
This is a collection of mostly small fixes, mostly fixing fallout from
some of the DPCM changes that went in last time around which shook out
some issues on i.MX and Qualcomm platforms. The addition of a managed
version of snd_soc_register_dai() is to fix resource leaks.
There's also a few new device IDs for x86 systems.
2020-06-22 13:49:14 +02:00
Pierre-Louis Bossart
a94eaccefe
ASoC: hdac_hda: fix memleak with regmap not freed on remove
...
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 >
2020-06-17 20:28:30 +01:00
Jack Yu
e74a1e7eae
ASoC: rt1015: Update rt1015 default register value according to spec modification.
...
Update rt1015 default register value according to spec modification.
Signed-off-by: Jack Yu <jack.yu@realtek.com >
Link: https://lore.kernel.org/r/20200615032433.31061-1-jack.yu@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-06-15 15:18:33 +01:00
derek.fang
19ab0f005b
ASoC: rt5682: Let dai clks be registered whether mclk exists or not
...
According to ideal rt5682 CCF, the root clk is mclk.
But in some platforms, mclk is not exported to CCF.
In this condition, rt5682_register_dai_clks will not be called.
This patch lets dai clks could be registered whether mclk exists or not.
Signed-off-by: derek.fang <derek.fang@realtek.com >
Link: https://lore.kernel.org/r/1591938925-1070-5-git-send-email-derek.fang@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-06-15 15:18:29 +01:00
Steve Lee
4008b29eb4
ASoC: max98390: Update regmap readable reg and volatile
...
Update max98390_readable_register and max98390_volatile_reg
Signed-off-by: Steve Lee <steves.lee@maximintegrated.com >
Link: https://lore.kernel.org/r/20200611094800.18422-1-steves.lee@maximintegrated.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-06-11 15:39:30 +01:00
Takashi Iwai
a4f55d927d
Merge tag 'asoc-fix-v5.8' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
...
ASoC: Fixes for v5.8
A small pile of fixes that came in during the merge window, the DPCM
fixes from Pierre are the most notable thing here.
2020-06-10 15:40:49 +02:00
Hans de Goede
79d4f823a0
ASoC: rt5645: Add platform-data for Asus T101HA
...
The Asus T101HA uses the default jack-detect mode 3, but instead of
using an analog microphone it is using a DMIC on dmic-data-pin 1,
like the Asus T100HA. Note unlike the T100HA its jack-detect is not
inverted.
Add a DMI quirk with the correct settings for this model.
Signed-off-by: Hans de Goede <hdegoede@redhat.com >
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/20200608204634.93407-2-hdegoede@redhat.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-06-09 15:46:19 +01:00
Steve Lee
97ed3e509e
ASoC: max98390: Fix potential crash during param fw loading
...
malformed firmware file can cause out-of-bound access and crash
during dsm_param bin loading.
- add MIN/MAX param size to avoid out-of-bound access.
- read start addr and size of param and check bound.
- add condition that fw->size > param_size + _PAYLOAD_OFFSET
to confirm enough data.
Signed-off-by: Steve Lee <steves.lee@maximintegrated.com >
Link: https://lore.kernel.org/r/20200604054731.21140-1-steves.lee@maximintegrated.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-06-04 15:04:30 +01:00
Takashi Iwai
678916ec54
ASoC: max98390: Fix incorrect printf qualifier
...
This patch addresses a compile warning:
sound/soc/codecs/max98390.c:781:3: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘size_t {aka const unsigned int}’ [-Wformat=]
Fixes: a6e3f4f34c
("ASoC: max98390: Added Amplifier Driver")
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Acked-by: Mark Brown <broonie@kernel.org >
Link: https://lore.kernel.org/r/20200602164453.29925-1-tiwai@suse.de
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-06-04 14:42:31 +01:00
Oder Chiou
d605cbb642
ASoC: rl6231: Modify the target DMIC clock rate
...
Some DMIC components will not work correctly in the clock rate 3.072MHz.
We recommend the clock rate 1.536MHz in the gerenal case.
Signed-off-by: Oder Chiou <oder_chiou@realtek.com >
Link: https://lore.kernel.org/r/20200604071016.3981-1-oder_chiou@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-06-04 14:42:29 +01:00
Takashi Iwai
7318234c8d
Merge tag 'asoc-v5.8' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
...
ASoC: Updates for v5.8
This has been another very active release with a bunch of new drivers,
lots of fixes everywhere and continued core improvements from
Morimoto-san:
- Lots of core cleanups and refactorings from Morimoto-san, factoring
out common operations and making the card abstraction more solid.
- Continued work on cleaning up and improving the Intel drivers, along
with some new platform support for them.
- Fixes to make the Marvell SSPA driver work upstream.
- Support for AMD Renoir ACP, Dialog DA7212, Freescale EASRC and
i.MX8M, Intel Elkhard Lake, Maxim MAX98390, Nuvoton NAU8812 and
NAU8814 and Realtek RT1016.
2020-06-01 20:26:07 +02:00
Mark Brown
358c7c61fd
Merge remote-tracking branch 'asoc/for-5.8' into asoc-linus
2020-06-01 13:01:15 +01:00
derek.fang
2aec8ccc1a
ASoC: rt1015: Enable class-D silence and clock detections
...
Avoid noise under bypass boost mode.
Signed-off-by: derek.fang <derek.fang@realtek.com >
Link: https://lore.kernel.org/r/1590750310-30085-1-git-send-email-derek.fang@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-29 13:30:06 +01:00
Chuhong Yuan
8dc1011470
ASoC: sta32x: add missed function calls in error paths
...
sta32x_probe() forgets to call undo functions when it fails, add
the missed function calls to fix it.
Signed-off-by: Chuhong Yuan <hslester96@gmail.com >
Link: https://lore.kernel.org/r/20200528102004.911653-1-hslester96@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-28 13:20:20 +01:00
Arnd Bergmann
a50067d4f3
ASoC: rt5682: split i2c driver into separate module
...
With SND_SOC_AMD_RV_RT5682_MACH using the i2c version of the
driver, we can easily get a build failure when I2C is built-in
but soundwire is not:
WARNING: unmet direct dependencies detected for SND_SOC_RT5682
Depends on [m]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && (I2C [=y] || SOUNDWIRE [=m]) && (SOUNDWIRE [=m] || !SOUNDWIRE [=m]) && (I2C [=y] || !I2C [=y])
Selected by [y]:
- SND_SOC_AMD_RV_RT5682_MACH [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_AMD_ACP3x [=y] && I2C [=y] && CROS_EC [=y]
Selected by [m]:
- SND_SOC_RT5682_SDW [=m] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SOUNDWIRE [=m] && (I2C [=y] || !I2C [=y])
Rework the driver to have three separate modules, with the
main driver just dealing with the common bits and the actual
initialization as part of i2c and sdw specific modules.
The conversion is fairly mechanical to keep it easy to review,
i.e. it moves code around with the minimal required renaming
and changes.
Fixes: 6b8e4e7db3
("ASoC: amd: Add machine driver for Raven based platform")
Fixes: fd443a20c2
("ASoC: rt5682: fix I2C/Soundwire dependencies")
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/20200528091851.2889754-1-arnd@arndb.de
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-28 13:20:19 +01:00
Seven Lee
2b1878afc8
ASoC: nau8810: add I2C device and compatible ID
...
The nau8810 driver can also compatible with nau8812 and nau8814.
Signed-off-by: Seven Lee <wtli@nuvoton.com >
Link: https://lore.kernel.org/r/20200528070510.29959-1-wtli@nuvoton.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-28 13:20:18 +01:00
Paul Cercueil
e6825bae26
ASoC: ingenic: Unconditionally depend on devicetree
...
All boards with Ingenic SoCs probe with devicetree already, we have no
use for a non-devicetree path.
This solves some compilation warnings that were caused by unused
variables in the case where CONFIG_OF was disabled.
Reported-by: kbuild test robot <lkp@intel.com >
Signed-off-by: Paul Cercueil <paul@crapouillou.net >
Link: https://lore.kernel.org/r/20200523125455.12392-1-paul@crapouillou.net
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-28 13:20:17 +01:00
Dan Murphy
850ba84b5c
ASoC: tlv320adcx140: Fix warnings when using W=1
...
Fix the warnings when using the W=1 compiler flag.
sound/soc/codecs/tlv320adcx140.c: In function ‘adcx140_reset’:
sound/soc/codecs/tlv320adcx140.c:570:6: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
570 | int ret = 0;
| ^~~
This was set but only used in case where the reset GPIO is not defined.
Have the function return the value of ret.
sound/soc/codecs/tlv320adcx140.c: In function ‘adcx140_codec_probe’:
sound/soc/codecs/tlv320adcx140.c:778:18: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
778 | if (bias_source < ADCX140_MIC_BIAS_VAL_VREF ||
| ^
sound/soc/codecs/tlv320adcx140.c:789:18: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
789 | if (vref_source < ADCX140_MIC_BIAS_VREF_275V ||
This condition will not occur since if the dt property is not set then
the *_source variable is set to the default value. So there is no way
that *_source can be less then 0. Which is what each #define is set to.
The code just needs to make sure that the dt property is not out of the
upper bounds.
Reported-by: kbuild test robot <lkp@intel.com >
Signed-off-by: Dan Murphy <dmurphy@ti.com >
Link: https://lore.kernel.org/r/20200526175247.15309-1-dmurphy@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-27 14:48:55 +01:00
Dinghao Liu
920bef64cc
ASoC: wm8962: Fix runtime PM imbalance on error
...
pm_runtime_get_sync() increments the runtime PM usage counter even
the call returns an error code. Thus a pairing decrement is needed
on the error handling path to keep the counter balanced.
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn >
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://lore.kernel.org/r/20200527024625.9937-1-dinghao.liu@zju.edu.cn
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-27 14:48:54 +01:00
Dan Murphy
3c35e79cea
ASoC: tlv320adcx140: Add support for configuring GPI pins
...
Add support to configure the GPI pins to the specific configuration.
The pins can be disabled or be configured as data input for any of the
digital mic channels. In addition the GPI can be used a a general
purpose input, a Master clock input or an ASI input for daisy chaining
devices.
Signed-off-by: Dan Murphy <dmurphy@ti.com >
Link: https://lore.kernel.org/r/20200526200917.10385-2-dmurphy@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-27 14:48:52 +01:00
Dinghao Liu
0d71a5cf69
ASoC: tas2552: Fix runtime PM imbalance in tas2552_component_probe
...
pm_runtime_get_sync() increments the runtime PM usage counter even
when it returns an error code. Thus a pairing decrement is needed on
the error handling path to keep the counter balanced.
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn >
Link: https://lore.kernel.org/r/20200525071732.5887-1-dinghao.liu@zju.edu.cn
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-26 17:20:24 +01:00
kbuild test robot
edc475bee0
ASoC: fix semicolon.cocci warnings
...
sound/soc/codecs/zl38060.c:298:2-3: Unneeded semicolon
Remove unneeded semicolon.
Generated by: scripts/coccinelle/misc/semicolon.cocci
Fixes: 52e8a94baf
("ASoC: Add initial ZL38060 driver")
Signed-off-by: kbuild test robot <lkp@intel.com >
CC: Sven Van Asbroeck <thesven73@gmail.com >
Link: https://lore.kernel.org/r/20200525184351.GA37386@5cf39b9a5cc3
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-26 10:55:37 +01:00
Steve Lee
a6e3f4f34c
ASoC: max98390: Added Amplifier Driver
...
This is the initial amplifier driver for max98390.
Reported-by: kbuild test robot <lkp@intel.com >
Signed-off-by: Steve Lee <steves.lee@maximintegrated.com >
Link: https://lore.kernel.org/r/20200518005038.21074-1-steves.lee@maximintegrated.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-25 15:31:08 +01:00
Pavel Dobias
29c859df7b
ASoC: max9867: keep ADCs and DACs always on
...
Updating power management register requires toggling the shutdown
bit otherwise it causes unexpected behavior of the codec.
However, toggling the shutdown bit results in loud speaker crackling.
Setup the power management register only at startup to avoid that.
Signed-off-by: Pavel Dobias <dobias@2n.cz >
Link: https://lore.kernel.org/r/20200522142957.18364-3-dobias@2n.cz
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-22 19:14:08 +01:00
Pavel Dobias
980b63f8d0
ASoC: max9867: add digital microphone controls
...
MAX9867 codec has a possibility of connecting digital microphones.
Add DAPM controls to be able to enable them.
Signed-off-by: Pavel Dobias <dobias@2n.cz >
Link: https://lore.kernel.org/r/20200522142957.18364-2-dobias@2n.cz
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-22 19:14:07 +01:00
Pavel Dobias
80b9fa4dea
ASoC: max9867: add mono playback switch
...
Add Mono Playback switch to codec controls which enables codec's
capability of mixing left and right channel at the DAC output.
Signed-off-by: Pavel Dobias <dobias@2n.cz >
Link: https://lore.kernel.org/r/20200520071904.15801-5-dobias@2n.cz
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-20 15:48:19 +01:00
Pavel Dobias
af53d5738c
ASoC: max9867: add filter controls
...
Adding missing codec controls - ADC/DAC IIR filter selection.
Signed-off-by: Pavel Dobias <dobias@2n.cz >
Link: https://lore.kernel.org/r/20200520071904.15801-3-dobias@2n.cz
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-20 15:48:18 +01:00
Pavel Dobias
d0de8c69f9
ASoC: max9867: don't use regmap defaults
...
MAX9867 codec doesn't have reset pin, so the registers don't
have default values in the case of reboot without powering off.
Remove the reg_defaults struct and let the regmap read initial
state of the registers at startup instead of taking them from
reg_defaults struct.
Signed-off-by: Pavel Dobias <dobias@2n.cz >
Link: https://lore.kernel.org/r/20200520071904.15801-2-dobias@2n.cz
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-20 15:48:17 +01:00
Pavel Dobias
53a58bf96b
ASoC: max9867: fix ADC level control
...
Fix swapped channels in ADC level control.
Signed-off-by: Pavel Dobias <dobias@2n.cz >
Link: https://lore.kernel.org/r/20200520071904.15801-1-dobias@2n.cz
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-20 14:47:39 +01:00
Pavel Dobias
8ba4dc3cff
ASoC: max9867: fix volume controls
...
The xmax values for Master Playback Volume and Mic Boost
Capture Volume are specified incorrectly (one greater)
which results in the wrong dB gain being shown to the user
in the case of Master Playback Volume.
Signed-off-by: Pavel Dobias <dobias@2n.cz >
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20200515120757.24669-1-dobias@2n.cz
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-18 18:33:27 +01:00
Mark Brown
9bb93a40d9
Merge series "ASoC: cleanup DAI/Component activity" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
...
Hi Mark
These are v3 of DAI/Component activity cleanup.
This patch-set exchanges soc-dapm.c :: snd_soc_dai_link_event_xxx()
behavior which updates dai->active but not cares other actives.
But I think original code was wrong.
So, I believe these works correctly, but maybe need some tests or deep review.
v1 -> v2
- function naming "activity" -> "active"
v2 -> v3
- macro -> inline function
- added Reviewed-by from Ranjani, Acked-by from Peter
Link: https://lore.kernel.org/r/875zd39frp.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/87blmq9alx.wl-kuninori.morimoto.gx@renesas.com
Kuninori Morimoto (21):
ASoC: soc-pcm: replace snd_soc_runtime_activate()/deactivate() to macro
ASoC: soc-dai: add snd_soc_dai_action()
ASoC: soc-dapm: use snd_soc_dai_activate()/deactivate()
ASoC: soc-dai: add snd_soc_dai_active()
ASoC: soc-component: add snd_soc_component_active()
ASoC: soc-dai: add snd_soc_dai_stream_active()
ASoC: use snd_soc_xxx_active()
ASoC: atomel: use snd_soc_xxx_active()
ASoC: bcm: use snd_soc_xxx_active()
ASoC: cirrus: use snd_soc_xxx_active()
ASoC: codecs: use snd_soc_xxx_active()
ASoC: fsl: use snd_soc_xxx_active()
ASoC: intel: use snd_soc_xxx_active()
ASoC: jz4740: use snd_soc_xxx_active()
ASoC: mediatek: use snd_soc_xxx_active()
ASoC: meson: use snd_soc_xxx_active()
ASoC: pxa: use snd_soc_xxx_active()
ASoC: ti: use snd_soc_xxx_active()
ASoC: uniphier: use snd_soc_xxx_active()
ASoC: dwc: use snd_soc_xxx_active()
ASoC: cleanup dai / component active code
include/sound/soc-component.h | 6 +-
include/sound/soc-dai.h | 21 +++++-
include/sound/soc.h | 15 ++++-
sound/soc/atmel/atmel_ssc_dai.c | 4 +-
sound/soc/bcm/bcm2835-i2s.c | 6 +-
sound/soc/bcm/cygnus-ssp.c | 4 +-
sound/soc/cirrus/ep93xx-i2s.c | 4 +-
sound/soc/codecs/adav80x.c | 4 +-
sound/soc/codecs/arizona.c | 2 +-
sound/soc/codecs/cs4271.c | 4 +-
sound/soc/codecs/madera.c | 2 +-
sound/soc/codecs/max98090.c | 6 +-
sound/soc/codecs/tlv320aic23.c | 2 +-
sound/soc/codecs/tlv320dac33.c | 2 +-
sound/soc/codecs/uda1380.c | 2 +-
sound/soc/codecs/wl1273.c | 2 +-
sound/soc/codecs/wm8711.c | 2 +-
sound/soc/codecs/wm8753.c | 4 +-
sound/soc/dwc/dwc-i2s.c | 2 +-
sound/soc/fsl/fsl_esai.c | 2 +-
sound/soc/fsl/fsl_spdif.c | 4 +-
sound/soc/intel/atom/sst-mfld-platform-pcm.c | 14 ++--
sound/soc/jz4740/jz4740-i2s.c | 8 +--
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 8 +--
sound/soc/meson/axg-tdm-interface.c | 2 +-
sound/soc/pxa/pxa-ssp.c | 8 +--
sound/soc/pxa/pxa2xx-i2s.c | 2 +-
sound/soc/soc-compress.c | 4 +-
sound/soc/soc-core.c | 11 +--
sound/soc/soc-dai.c | 23 +++++++
sound/soc/soc-dapm.c | 8 +--
sound/soc/soc-pcm.c | 70 +++++++-------------
sound/soc/ti/davinci-mcasp.c | 2 +-
sound/soc/ti/omap-dmic.c | 4 +-
sound/soc/ti/omap-mcbsp.c | 4 +-
sound/soc/ti/omap-mcpdm.c | 8 +--
sound/soc/uniphier/aio-cpu.c | 4 +-
37 files changed, 155 insertions(+), 125 deletions(-)
--
2.17.1
2020-05-18 16:43:49 +01:00
Mark Brown
a1c3ec70ee
Merge series "ASoC: codecs: rt*-sdw: memory leaks and simplifications" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
...
While debugging unrelated memory corruption errors, I detected issues
related to the interaction with the SoundWire and ASoC cores, here are
3 small patches to fix all this.
Pierre-Louis Bossart (3):
ASoC: codecs: rt*-sdw: don't assign slave_ops
ASoC: codecs: rt*-sdw: fix memory leak in set_sdw_stream()
ASoC: codecs: rt1308-sdw: remove duplicate allocation
sound/soc/codecs/rt1308-sdw.c | 11 +++--------
sound/soc/codecs/rt5682-sdw.c | 3 ---
sound/soc/codecs/rt5682.c | 3 +++
sound/soc/codecs/rt700-sdw.c | 3 ---
sound/soc/codecs/rt700.c | 3 +++
sound/soc/codecs/rt711-sdw.c | 3 ---
sound/soc/codecs/rt711.c | 3 +++
sound/soc/codecs/rt715-sdw.c | 3 ---
sound/soc/codecs/rt715.c | 3 +++
9 files changed, 15 insertions(+), 20 deletions(-)
base-commit: d731c1a0f9
--
2.20.1
2020-05-18 16:43:48 +01:00
Kuninori Morimoto
5e518eddd1
ASoC: codecs: use snd_soc_xxx_active()
...
We have snd_soc_dai/dai_stream/component_active() macro
This patch uses it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Link: https://lore.kernel.org/r/87wo5e58j4.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-18 16:15:07 +01:00
Sebastian Reichel
f7a8ae295c
ASoC: da7213: move set_pll to codec level
...
Move set_pll function to component level, so that it can be used at
both component and DAI level.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com >
Link: https://lore.kernel.org/r/20200511132544.82364-5-sebastian.reichel@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-18 14:34:55 +01:00
Sebastian Reichel
9c5c258438
ASoC: da7213: move set_sysclk to codec level
...
Move set_sysclk function to component level, so that it can be used at
both component and DAI level.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com >
Link: https://lore.kernel.org/r/20200511132544.82364-4-sebastian.reichel@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-18 14:34:54 +01:00
Sebastian Reichel
b2a378816d
ASoC: da7213: Add regulator support
...
This adds support for most regulators of da7212 for improved
power management. The only thing skipped was the speaker supply,
which has some undocumented dependencies. It's supposed to be
either always-enabled or always-disabled.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Reviewed-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com >
Link: https://lore.kernel.org/r/20200511132544.82364-3-sebastian.reichel@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-18 14:34:53 +01:00
Sebastian Reichel
95579eaf98
ASoC: da7213: Add da7212 DT compatible
...
This adds a compatible for da7212. It's handled exactly the
same way as DA7213 and follows the ACPI bindings.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Link: https://lore.kernel.org/r/20200511132544.82364-2-sebastian.reichel@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-18 14:34:52 +01:00
Pierre-Louis Bossart
ee5866222a
ASoC: codecs: rt1308-sdw: remove duplicate allocation
...
The .read_prop callback is supposed to be called by the SoundWire core
only. Calling it again from this driver results in an additional
memory allocation for no good reason.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Rander Wang <rander.wang@intel.com >
Cc: Oder Chiou <oder_chiou@realtek.com >
Cc: Shuming Fan <shumingf@realtek.com >
Cc: Jack Yu <jack.yu@realtek.com >
Link: https://lore.kernel.org/r/20200515211531.11416-4-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-18 12:38:30 +01:00
Pierre-Louis Bossart
07b542fe83
ASoC: codecs: rt*-sdw: fix memory leak in set_sdw_stream()
...
Now that the sdw_stream is allocated in machine driver,
set_sdw_stream() is also called with a NULL argument during the
dailink shutdown.
In this case, the drivers should not allocate any memory, and just
return.
Detected with KASAN/kmemleak.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Rander Wang <rander.wang@intel.com >
Cc: Oder Chiou <oder_chiou@realtek.com >
Cc: Shuming Fan <shumingf@realtek.com >
Cc: Jack Yu <jack.yu@realtek.com >
Link: https://lore.kernel.org/r/20200515211531.11416-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-18 12:38:29 +01:00
Pierre-Louis Bossart
b5dff6ec13
ASoC: codecs: rt*-sdw: don't assign slave_ops
...
The SoundWire bus core already assigns the slave ops, no need to set
them a second time manually in each driver.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Reviewed-by: Rander Wang <rander.wang@intel.com >
Cc: Oder Chiou <oder_chiou@realtek.com >
Cc: Shuming Fan <shumingf@realtek.com >
Cc: Jack Yu <jack.yu@realtek.com >
Link: https://lore.kernel.org/r/20200515211531.11416-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-18 12:38:28 +01:00
Ard Biesheuvel
93fa0af479
ASoC: cros_ec_codec: switch to library API for SHA-256
...
The CrOS EC codec driver uses SHA-256 explicitly, and not in a
performance critical manner, so there is really no point in using
the SHASH crypto API here. Let's switch to the library API instead.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org >
Reviewed-by: Tzung-Bi Shih <tzungbi@google.com >
Cc: Cheng-Yi Chiang <cychiang@chromium.org >
Cc: Enric Balletbo i Serra <enric.balletbo@collabora.com >
Cc: Guenter Roeck <groeck@chromium.org >
Cc: Benson Leung <bleung@chromium.org >
Cc: Liam Girdwood <lgirdwood@gmail.com >
Cc: Mark Brown <broonie@kernel.org >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Eric Biggers <ebiggers@kernel.org >
Cc: Herbert Xu <herbert@gondor.apana.org.au >
Cc: Tzung-Bi Shih <tzungbi@google.com >
Link: https://lore.kernel.org/r/20200515100309.20795-1-ardb@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-15 11:56:52 +01:00
Mark Brown
5ae5eb48ca
Merge branch 'for-5.7' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.8
2020-05-14 18:37:31 +01:00
Dan Murphy
79fc48e41e
ASoC: tlv320adcx140: Configure PDM sampling edge
...
Configure the PDM sampling edges based on the values from the firmware.
Signed-off-by: Dan Murphy <dmurphy@ti.com >
Link: https://lore.kernel.org/r/20200514123338.20392-3-dmurphy@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-14 18:05:21 +01:00
Dan Murphy
7cfa610205
ASoC: tlv320adcx140: Add controls for PDM clk
...
Add ALSA controls to configure the PDM clocks.
The clocks need to be configurable to accommodate various microphones
that use clocks for low power/low resolution modes to high power/high
resolution modes.
Signed-off-by: Dan Murphy <dmurphy@ti.com >
Link: https://lore.kernel.org/r/20200514123338.20392-1-dmurphy@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-14 18:05:19 +01:00
Dan Murphy
0e36f32f6b
ASoC: tlv320adcx140: Fix bias config values
...
The device tree binding declares the ti,mic-bias-source and the
ti,vref-source properties as u32. The code reads them as u8 which is
incorrect. Since the device tree binding indicates them as u32 the
conde needs to be updated to read u32.
In addition the bias source needs to be shifted 4 bits to
correctly write the register.
driver family")
Fixes: 37bde5acf040 ("ASoC: tlv320adcx140: Add the tlv320adcx140 codec
Signed-off-by: Dan Murphy <dmurphy@ti.com >
Link: https://lore.kernel.org/r/20200513142807.11802-1-dmurphy@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-13 17:13:23 +01:00
Shengjiu Wang
65e412a01b
ASoC: wm8962: Use force clear for WM8962_SYSCLK_ENA after reset
...
When CLOCKING2 is non-volatile register, we need force clear
the WM8962_SYSCLK_ENA bit after reset, for the value in cache
maybe 0 but in hardware it is 1. Otherwise there will issue
as below statement in driver.
/* SYSCLK defaults to on; make sure it is off so we can safely
* write to registers if the device is declocked.
Fixes: c38b608504
("ASoC: wm8962: set CLOCKING2 as non-volatile register")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com >
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Link: https://lore.kernel.org/r/1589347835-20554-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-13 12:00:13 +01:00
Mark Brown
132a0eb032
Merge branch 'for-5.7' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.8
2020-05-12 16:12:47 +01:00
Arnd Bergmann
a1304cba81
ASoC: cros_ec_codec: allocate shash_desc dynamically
...
The wov_hotword_model_put() function has multiple large variables on
its stack, the largest of which is the result of SHASH_DESC_ON_STACK().
In total, this exceeds the warning limit for 32-bit architectures:
sound/soc/codecs/cros_ec_codec.c:776:12: error: stack frame size of 1152 bytes in function 'wov_hotword_model_put' [-Werror,-Wframe-larger-than=]
The function already has a dynamic crypto_alloc_shash() allocation, so
using kmalloc() for the descriptor is correct as well and does not
introduce any additional failure scenarios. With this, the stack usage
of wov_hotword_model_put() gets reduced to 480 bytes in my test
configuration.
Fixes: b6bc07d436
("ASoC: cros_ec_codec: support WoV")
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Reviewed-by: Tzung-Bi Shih <tzungbi@google.com >
Link: https://lore.kernel.org/r/20200507213405.1869430-1-arnd@arndb.de
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-05-08 18:52:12 +01:00