Age | Commit message (Collapse) | Author | Files | Lines |
|
The snd_soc_put_volsw in max98373_feedback_get is a typo, change it
to snd_soc_get_volsw.
Fixes: 349dd23931d1 ("ASoC: max98373: don't access volatile registers in bias level off")
Signed-off-by: Judy Hsiao <judyhsiao@google.com>
Link: https://lore.kernel.org/r/20210127135620.1143942-1-judyhsiao@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
Make use of snd_soc_component_read_field() to make the code more readable!
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20210126171749.1863-2-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
Reset (aka power off) happens when the reset gpio is made active.
Change function name to ak4458_reset to match devicetree property "reset-gpios"
Signed-off-by: Eliot Blennerhassett <eliot@blennerhassett.gen.nz>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/ce650f47-4ff6-e486-7846-cc3d033f3601@blennerhassett.gen.nz
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
Hi Mark
snd_pcm_runtime / snd_soc_dai / snd_soc_dai_driver / snd_soc_dai_link
have related parameter which is similar but not same naming.
struct snd_pcm_runtime {
...
(A) unsigned int rate;
...
(B) unsigned int sample_bits;
...
};
struct snd_soc_dai {
...
(A) unsigned int rate;
(B) unsigned int sample_bits;
...
};
struct snd_soc_dai_driver {
...
(A) unsigned int symmetric_rates:1;
(B) unsigned int symmetric_samplebits:1;
...
};
struct snd_soc_dai_link {
...
(A) unsigned int symmetric_rates:1;
(B) unsigned int symmetric_samplebits:1;
...
};
Because it is similar but not same naming rule,
code can be verbose / can't share macro.
This patch-set sync naming rule
to struct snd_pcm_runtime base.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Kuninori Morimoto (44):
ASoC: soc-pcm: revert soc_pcm_apply_symmetry()
ASoC: sync parameter naming : rate / sample_bits
ASoC: adi: sync parameter naming (rate/sample_bits)
ASoC: atmel: sync parameter naming (rate/sample_bits)
ASoC: au1x: sync parameter naming (rate/sample_bits)
ASoC: bcm: sync parameter naming (rate/sample_bits)
ASoC: cirrus: sync parameter naming (rate/sample_bits)
ASoC: tegra: sync parameter naming (rate/sample_bits)
ASoC: rockchip: sync parameter naming (rate/sample_bits)
ASoC: samsung: sync parameter naming (rate/sample_bits)
ASoC: sh: sync parameter naming (rate/sample_bits)
ASoC: ti: sync parameter naming (rate/sample_bits)
ASoC: pxa: sync parameter naming (rate/sample_bits)
ASoC: mediatek: sync parameter naming (rate/sample_bits)
ASoC: fsl: sync parameter naming (rate/sample_bits)
ASoC: wm*: sync parameter naming (rate/sample_bits)
ASoC: tlv*: sync parameter naming (rate/sample_bits)
ASoC: rt*: sync parameter naming (rate/sample_bits)
ASoC: nau*: sync parameter naming (rate/sample_bits)
ASoC: tas*: sync parameter naming (rate/sample_bits)
ASoC: da*: sync parameter naming (rate/sample_bits)
ASoC: es*: sync parameter naming (rate/sample_bits)
ASoC: max*: sync parameter naming (rate/sample_bits)
ASoC: cs*: sync parameter naming (rate/sample_bits)
ASoC: tscs*: sync parameter naming (rate/sample_bits)
ASoC: ak*: sync parameter naming (rate/sample_bits)
ASoC: adau*: sync parameter naming (rate/sample_bits)
ASoC: jz4740: sync parameter naming (rate/sample_bits)
ASoC: sunxi: sync parameter naming (rate/sample_bits)
ASoC: zl38060: sync parameter naming (rate/sample_bits)
ASoC: ssm2602: sync parameter naming (rate/sample_bits)
ASoC: sgtl5000: sync parameter naming (rate/sample_bits)
ASoC: mc13783: sync parameter naming (rate/sample_bits)
ASoC: mt6660: sync parameter naming (rate/sample_bits)
ASoC: lochnagar-sc: sync parameter naming (rate/sample_bits)
ASoC: ab8500: sync parameter naming (rate/sample_bits)
ASoC: alc5632: sync parameter naming (rate/sample_bits)
ASoC: cx2072x: sync parameter naming (rate/sample_bits)
ASoC: inno_rk3036: sync parameter naming (rate/sample_bits)
ASoC: lm49453: sync parameter naming (rate/sample_bits)
ASoC: ml26124: sync parameter naming (rate/sample_bits)
ASoC: soc-dai.h: remove symmetric_rates/samplebits
ASoC: soc-pcm: cleanup soc_pcm_apply_symmetry()
ASoC: soc-pcm: cleanup soc_pcm_params_symmetry()
include/sound/soc-dai.h | 4 +-
include/sound/soc.h | 4 +-
sound/soc/adi/axi-i2s.c | 2 +-
sound/soc/atmel/atmel-i2s.c | 2 +-
sound/soc/atmel/mchp-i2s-mcc.c | 4 +-
sound/soc/au1x/i2sc.c | 2 +-
sound/soc/bcm/bcm2835-i2s.c | 4 +-
sound/soc/bcm/bcm63xx-i2s-whistler.c | 2 +-
sound/soc/cirrus/ep93xx-i2s.c | 2 +-
sound/soc/codecs/ab8500-codec.c | 4 +-
sound/soc/codecs/adau1372.c | 2 +-
sound/soc/codecs/adau1373.c | 6 +-
sound/soc/codecs/adau1701.c | 2 +-
sound/soc/codecs/ak4554.c | 2 +-
sound/soc/codecs/ak4613.c | 2 +-
sound/soc/codecs/ak4641.c | 4 +-
sound/soc/codecs/ak4642.c | 2 +-
sound/soc/codecs/alc5632.c | 2 +-
sound/soc/codecs/cs35l32.c | 2 +-
sound/soc/codecs/cs35l33.c | 2 +-
sound/soc/codecs/cs35l34.c | 2 +-
sound/soc/codecs/cs35l35.c | 2 +-
sound/soc/codecs/cs35l36.c | 2 +-
sound/soc/codecs/cs4234.c | 2 +-
sound/soc/codecs/cs4271.c | 2 +-
sound/soc/codecs/cs42l73.c | 6 +-
sound/soc/codecs/cs43130.c | 6 +-
sound/soc/codecs/cs4341.c | 2 +-
sound/soc/codecs/cs4349.c | 2 +-
sound/soc/codecs/cs47l15.c | 12 ++--
sound/soc/codecs/cs47l24.c | 12 ++--
sound/soc/codecs/cs47l35.c | 12 ++--
sound/soc/codecs/cs47l85.c | 16 ++---
sound/soc/codecs/cs47l90.c | 16 ++---
sound/soc/codecs/cs47l92.c | 12 ++--
sound/soc/codecs/cs53l30.c | 2 +-
sound/soc/codecs/cx2072x.c | 2 +-
sound/soc/codecs/da7210.c | 2 +-
sound/soc/codecs/da7213.c | 2 +-
sound/soc/codecs/da7218.c | 4 +-
sound/soc/codecs/da7219.c | 4 +-
sound/soc/codecs/da9055.c | 2 +-
sound/soc/codecs/es8316.c | 2 +-
sound/soc/codecs/es8328.c | 2 +-
sound/soc/codecs/inno_rk3036.c | 2 +-
sound/soc/codecs/jz4740.c | 2 +-
sound/soc/codecs/lm49453.c | 2 +-
sound/soc/codecs/lochnagar-sc.c | 12 ++--
sound/soc/codecs/max9860.c | 2 +-
sound/soc/codecs/max9867.c | 2 +-
sound/soc/codecs/mc13783.c | 2 +-
sound/soc/codecs/ml26124.c | 2 +-
sound/soc/codecs/mt6660.c | 4 +-
sound/soc/codecs/nau8810.c | 2 +-
sound/soc/codecs/nau8822.c | 2 +-
sound/soc/codecs/rt274.c | 2 +-
sound/soc/codecs/rt286.c | 4 +-
sound/soc/codecs/rt298.c | 4 +-
sound/soc/codecs/rt5670.c | 4 +-
sound/soc/codecs/sgtl5000.c | 2 +-
sound/soc/codecs/ssm2602.c | 4 +-
sound/soc/codecs/tas2764.c | 2 +-
sound/soc/codecs/tas2770.c | 2 +-
sound/soc/codecs/tlv320adcx140.c | 2 +-
sound/soc/codecs/tlv320aic31xx.c | 4 +-
sound/soc/codecs/tlv320aic32x4.c | 2 +-
sound/soc/codecs/tlv320aic3x.c | 2 +-
sound/soc/codecs/tscs42xx.c | 4 +-
sound/soc/codecs/tscs454.c | 12 ++--
sound/soc/codecs/wm5102.c | 12 ++--
sound/soc/codecs/wm5110.c | 12 ++--
sound/soc/codecs/wm8510.c | 2 +-
sound/soc/codecs/wm8731.c | 2 +-
sound/soc/codecs/wm8770.c | 2 +-
sound/soc/codecs/wm8804.c | 2 +-
sound/soc/codecs/wm8903.c | 2 +-
sound/soc/codecs/wm8904.c | 2 +-
sound/soc/codecs/wm8940.c | 2 +-
sound/soc/codecs/wm8960.c | 2 +-
sound/soc/codecs/wm8962.c | 2 +-
sound/soc/codecs/wm8974.c | 2 +-
sound/soc/codecs/wm8978.c | 2 +-
sound/soc/codecs/wm8983.c | 2 +-
sound/soc/codecs/wm8985.c | 2 +-
sound/soc/codecs/wm8988.c | 2 +-
sound/soc/codecs/wm8993.c | 2 +-
sound/soc/codecs/wm8994.c | 4 +-
sound/soc/codecs/wm8997.c | 8 +--
sound/soc/codecs/wm8998.c | 12 ++--
sound/soc/codecs/wm9713.c | 2 +-
sound/soc/codecs/zl38060.c | 4 +-
sound/soc/fsl/fsl_esai.c | 4 +-
sound/soc/fsl/fsl_sai.c | 8 +--
sound/soc/fsl/fsl_ssi.c | 4 +-
sound/soc/jz4740/jz4740-i2s.c | 2 +-
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c | 10 +--
sound/soc/mediatek/mt6797/mt6797-dai-pcm.c | 8 +--
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 2 +-
sound/soc/mediatek/mt8183/mt8183-dai-pcm.c | 8 +--
sound/soc/mediatek/mt8192/mt8192-dai-pcm.c | 8 +--
sound/soc/pxa/pxa2xx-i2s.c | 2 +-
sound/soc/rockchip/rockchip_i2s.c | 4 +-
sound/soc/rockchip/rockchip_pdm.c | 2 +-
sound/soc/samsung/i2s.c | 2 +-
sound/soc/samsung/pcm.c | 2 +-
sound/soc/sh/rcar/core.c | 4 +-
sound/soc/soc-pcm.c | 80 +++++++---------------
sound/soc/soc-topology.c | 8 +--
sound/soc/sunxi/sun4i-i2s.c | 2 +-
sound/soc/sunxi/sun8i-codec.c | 12 ++--
sound/soc/tegra/tegra186_dspk.c | 2 +-
sound/soc/tegra/tegra20_i2s.c | 2 +-
sound/soc/tegra/tegra210_dmic.c | 2 +-
sound/soc/tegra/tegra210_i2s.c | 2 +-
sound/soc/tegra/tegra30_i2s.c | 2 +-
sound/soc/ti/davinci-mcasp.c | 2 +-
116 files changed, 253 insertions(+), 283 deletions(-)
--
2.25.1
|
|
The application circuit shall provide MICVDD power.
In default, the codec driver doesn't need to enable LDO2.
In case, a board wants to use VBAT for micbias,
it should add a DAPM route which IN1P connects with LDO2 in the machine driver.
e.g. { "IN1P", NULL, "LDO2" },
Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20210121100353.6402-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87czy6n6t0.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87eeimn6t4.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87ft32n6t8.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87h7nin6tc.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87im7yn6th.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87k0sen6tl.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87lfcun6tp.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87mtxan6tt.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87o8hqn6ty.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87pn26n6u4.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87r1mmn6ub.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87sg72n6ug.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87v9byn6uo.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87wnwen6v8.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87y2gun6vc.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87zh1an6vh.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/871remolg1.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/8735z2olg5.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/874kjiolga.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/875z3yolgf.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/877doeolgk.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/878s8uolgo.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87a6taolgs.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87bldqolgw.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch syncs naming rule.
- xxx_rates;
+ xxx_rate;
- xxx_samplebits;
+ xxx_sample_bits;
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87czy6olh0.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
The zte zx platform is getting removed, so this driver is no
longer needed.
Cc: Jun Nie <jun.nie@linaro.org>
Cc: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20210120162553.21666-3-arnd@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
The CSR SiRF prima2/atlas platforms are getting removed, so this driver
is no longer needed.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Barry Song <baohua@kernel.org>
Link: https://lore.kernel.org/r/20210120162553.21666-2-arnd@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
ASoC: cpcap: Implement set_tdm_slot for voice call support
For using cpcap for voice calls, we need to route audio directly from
the modem to cpcap for TDM (Time Division Multiplexing). The voice call
is direct data between the modem and cpcap with no CPU involvment. In
this mode, the cpcap related audio mixer controls work for the speaker
selection and volume though.
To do this, we need to implement standard snd_soc_dai_set_tdm_slot()
for cpcap. Then the modem codec driver can use snd_soc_dai_set_sysclk(),
snd_soc_dai_set_fmt(), and snd_soc_dai_set_tdm_slot() to configure a
voice call.
Let's add cpcap_voice_set_tdm_slot() for this, and cpcap_voice_call()
helper to configure the additional registers needed for voice call.
Let's also clear CPCAP_REG_VAUDIOC on init in case we have the bit for
CPCAP_BIT_VAUDIO_MODE0 set on init.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
Link: https://lore.kernel.org/r/20210112174704.GA13496@duo.ucw.cz
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
It is not guaranteed that I2S RX is disabled when the kernel booting.
For example, if the kernel crashes while it is enabled, it will keep
enabled until the next time EC reboots. Reset I2S RX when probing to
fix this issue.
Signed-off-by: Yu-Hsuan Hsu <yuhsuan@chromium.org>
Reviewed-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Link: https://lore.kernel.org/r/20210115075301.47995-2-yuhsuan@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
When switching between firmware types, the wrong control
can be selected when requesting control in kernel API.
Use the currently selected DSP firwmare type to select
the proper mixer control.
Signed-off-by: James Schulman <james.schulman@cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210115201105.14075-1-james.schulman@cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
The resume operation relies on multiple transactions to synchronize
the regmap state, make sure the timeout is one order of magnitude
larger than an individual transaction, so that timeouts of failed
transactions are detected first.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20210115061651.9740-2-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
There are two issues with this code. The first error path forgot to set
the error code and instead returns success. The second error path
doesn't clean up.
Fixes: 272b5edd3b8f ("ASoC: Add support for CS42L56 CODEC")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/X9NE/9nK9/TuxuL+@mwanda
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
sound/soc/soc-core.c: soc_remove_component() unconditionally calls
snd_soc_component_set_jack(component, NULL, NULL); on any components
being removed.
This means that on machines where the machine-driver does not provide
a jack through snd_soc_component_set_jack() es8316_disable_jack_detect()
will still get called and at this time es8316->jack will be NULL and
the es8316->jack->status check in es8316_disable_jack_detect() will
lead to a NULL pointer deref.
Fix this by checking for es8316->jack bein NULL at the start of
es8316_disable_jack_detect() and turn the function into a no-op in
that case.
Cc: russianneuromancer <russianneuromancer@ya.ru>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20210112101725.44200-1-hdegoede@redhat.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
Because clk_disable_unprepare() already checked NULL clock parameter,
so the additional check is unnecessary, just remove it.
Signed-off-by: Xu Wang <vulab@iscas.ac.cn>
Link: https://lore.kernel.org/r/20210108084456.6603-1-vulab@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
from Chris Chiu <chiu@endlessos.org>:
These patches are trying to fix the jack detection and internal
microphone problems on ECS EF20 series laptops which are empowered
by Intel Atom x5-Z8350 CPU (CherryTrail) with Realtek rt5645 audio
codec.
---
v2 -> v3:
Restore the accidentally removed terminator of the
dmi_platform_data[].
v1 -> v2:
Invoke callback() of the DMI quirk if it exists, because
the dmi_first_match() doesn't.
---
Chris Chiu (4):
ASoC: rt5645: Introduce mapping for ACPI-defined GPIO
ASoC: rt5645: Add ACPI-defined GPIO for ECS EF20 series
ASoC: rt5645: add inv_hp_det flag
ASoC: rt5645: Enable internal microphone and JD on ECS EF20
include/sound/rt5645.h | 2 ++
sound/soc/codecs/rt5645.c | 45 +++++++++++++++++++++++++++++++++++++++
2 files changed, 47 insertions(+)
--
2.20.1
|
|
wm_adsp_read_data_word() used if (ret) to check for an error from
wm_adsp_read_raw_data_block(). While this is perfectly valid,
wm_adsp_read_raw_data_block() itself uses if (ret < 0) and three
calls to wm_adsp_read_data_word() also use if (ret < 0).
This creates an error check chain like this:
1st) if (ret < 0) return ret;
2nd) if (ret) return ret;
3rd) if (ret < 0) ...
This can confuse the compiler into thinking that there are possible
returns > 0 from the middle if() that are not handled by the final
if(). If this was true it would lead to using uninitialized variables
later in the outer function.
Fix this by changing the test in wm_adsp_read_data_word() to be
if (ret < 0).
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210111133825.8758-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
To avoid the pop noise, this patch enables the feature of fast discharge.
Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20210111092544.9064-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
This patch will be the workaround to fix getting the wrong device ID on the rare chance.
It seems like something unstable when the system resumes. e.g. the bus clock
This patch tries to read the device ID to check several times.
After the test, the driver will get the correct device ID the second time.
Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20210111092740.9128-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
On ECS EF20 series laptops, the internal mic is on DMIC2/IN2P.
And they need the inv_hp_det to make jack detection to work as
exoected.
Signed-off-by: Chris Chiu <chiu@endlessos.org>
Link: https://lore.kernel.org/r/20210111054141.4668-5-chiu@endlessos.org
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
The ECS EF20EA laptop use gpio for jack detection instead of rt5645
rt5645 JD. However, the GPIO polarity is inverse for hp-detect based
on the _DSD property of the RTK2 device.
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"hp-detect-gpio", Package() {^RTK2, 0, 0, 1 }},
}
})
This flag will invert the hp-detect gpio polarity.
Signed-off-by: Chris Chiu <chiu@endlessos.org>
Link: https://lore.kernel.org/r/20210111054141.4668-4-chiu@endlessos.org
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
Add the hp-detect gpio for ECS EF20 series laptops based on the
_CRS defined in DSDT table.
Method (_CRS, 0, NotSerialized)
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x001A, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C2",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0x0000,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004F
}
GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
"\\_SB.GPO3", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x004F
}
})
Return (SBUF) /* \_SB_.PCI0.I2C2.RTK2._CRS.SBUF */
}
Signed-off-by: Chris Chiu <chiu@endlessos.org>
Link: https://lore.kernel.org/r/20210111054141.4668-3-chiu@endlessos.org
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
On at least one laptop (ECS EF20EA) the 'hp-detect' GPIO is defined in
the DSDT table by the ACPI GpioIo resources in _CRS. The GPIO related
information should be mapped to the rt5645 driver to enable the jack
detection also on non-DT platforms.
Signed-off-by: Chris Chiu <chiu@endlessos.org>
Link: https://lore.kernel.org/r/20210111054141.4668-2-chiu@endlessos.org
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
Because clk_disable_unprepare() already checked NULL clock parameter,
so the additional check is unnecessary, just remove it.
Signed-off-by: Xu Wang <vulab@iscas.ac.cn>
Link: https://lore.kernel.org/r/20210108085834.7168-1-vulab@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
Sound is broken on the DragonBoard 410c (apq8016_sbc) since 5.10:
hdmi-audio-codec hdmi-audio-codec.1.auto: ASoC: error at snd_soc_component_set_jack on hdmi-audio-codec.1.auto: -95
qcom-apq8016-sbc 7702000.sound: Failed to set jack: -95
ADV7533: ASoC: error at snd_soc_link_init on ADV7533: -95
hdmi-audio-codec hdmi-audio-codec.1.auto: ASoC: error at snd_soc_component_set_jack on hdmi-audio-codec.1.auto: -95
qcom-apq8016-sbc: probe of 7702000.sound failed with error -95
This happens because apq8016_sbc calls snd_soc_component_set_jack() on
all codec DAIs and attempts to ignore failures with return code -ENOTSUPP.
-ENOTSUPP is also excluded from error logging in soc_component_ret().
However, hdmi_codec_set_jack() returns -E*OP*NOTSUPP if jack detection
is not supported, which is not handled in apq8016_sbc and soc_component_ret().
Make it return -ENOTSUPP instead to fix sound and silence the errors.
Cc: Cheng-Yi Chiang <cychiang@chromium.org>
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Fixes: 55c5cc63ab32 ("ASoC: hdmi-codec: Use set_jack ops to set jack")
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Link: https://lore.kernel.org/r/20210107165131.2535-1-stephan@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
bclk_ratio is unused. Removes bclk_ratio and .set_bclk_ratio callback.
Removes snd_soc_dai_set_bclk_ratio() in a few machine drivers which are
obviously using rt1015.
Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20201224101854.3024823-1-tzungbi@google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
|