openwrt/staging/blogic.git
5 years agoASoC: stm32: sai: simplify dai driver initialisation
Arnaud Pouliquen [Tue, 23 Apr 2019 15:58:08 +0000 (17:58 +0200)]
ASoC: stm32: sai: simplify dai driver initialisation

Suppress the useless dynamic allocation of the dai driver structure.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoMerge branch 'asoc-5.1' into asoc-5.2
Mark Brown [Fri, 26 Apr 2019 10:02:03 +0000 (11:02 +0100)]
Merge branch 'asoc-5.1' into asoc-5.2

5 years agoASoC: simple-card: Read pin switches conf from devicetree
Paul Cercueil [Fri, 26 Apr 2019 02:25:50 +0000 (04:25 +0200)]
ASoC: simple-card: Read pin switches conf from devicetree

When the routing path between a widget (e.g. "Speaker") and the codec
goes through an external amplifier, having a pin switch for this widget
allows the amplifier to be disabled when the widget is not to be used
(e.g. when using headphones).

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: fsl_sai: Add missing return 0 in remove()
Nicolin Chen [Fri, 26 Apr 2019 03:20:50 +0000 (20:20 -0700)]
ASoC: fsl_sai: Add missing return 0 in remove()

Build warning being reported:
    sound/soc/fsl/fsl_sai.c: In function 'fsl_sai_remove':
    sound/soc/fsl/fsl_sai.c:921:1: warning: no return statement in
    function returning non-void [-Wreturn-type]

So this patch just adds a "return 0" to fix it.

Fixes: 812ad463e089 ("ASoC: fsl_sai: Add support for runtime pm")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: simple-card-utils: add asoc_simple_parse_pin_switches()
Paul Cercueil [Fri, 26 Apr 2019 02:25:49 +0000 (04:25 +0200)]
ASoC: simple-card-utils: add asoc_simple_parse_pin_switches()

This function is a helper that permits to create pin switch controls for
a list of widgets whose names are listed in the PREFIX "pin-switches"
devicetree property.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: mediatek: btcvsd fix irq mask
KaiChieh Chuang [Fri, 26 Apr 2019 02:09:43 +0000 (10:09 +0800)]
ASoC: mediatek: btcvsd fix irq mask

disable = 1
enable = 0
prevent AP wake up, when not AP BTSCO scenario

Signed-off-by: KaiChieh Chuang <kaichieh.chuang@mediatek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: Intel: bytcr_rt5651: align quirk override handling
Pierre-Louis Bossart [Fri, 19 Apr 2019 20:12:18 +0000 (15:12 -0500)]
ASoC: Intel: bytcr_rt5651: align quirk override handling

As discussed on alsa-devel, a zero value is useful to get rid of all
quirks. Set default to -1 and align types as done in other machine
drivers.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: Intel: bytcr_rt5640: align quirk override handling
Pierre-Louis Bossart [Fri, 19 Apr 2019 20:12:17 +0000 (15:12 -0500)]
ASoC: Intel: bytcr_rt5640: align quirk override handling

As discussed on alsa-devel, a zero value is useful to get rid of all
quirks. Set default to -1 and align types as done in other machine
drivers.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: Intel: bytcht_es8316: fix compilation warning
Pierre-Louis Bossart [Fri, 19 Apr 2019 20:12:16 +0000 (15:12 -0500)]
ASoC: Intel: bytcht_es8316: fix compilation warning

Remove warning below, align with other machine drivers.

bytcht_es8316.c:508:11: warning: cast from pointer to integer of
different size [-Wpointer-to-int-cast]

   quirk = (int)dmi_id->driver_data;
           ^
Fixes: a8d218f4fe811 ('ASoC: Intel: bytcht_es8316: Add quirk for the Teclast X98+ II')
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: fsl_sai: Add support for runtime pm
Daniel Baluta [Sun, 21 Apr 2019 19:39:09 +0000 (19:39 +0000)]
ASoC: fsl_sai: Add support for runtime pm

Basically the same actions as for system PM, so make use
of pm_runtime_force_suspend/pm_runtime_force_resume.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: fsl_sai: Update is_slave_mode with correct value
Daniel Baluta [Sun, 21 Apr 2019 19:39:08 +0000 (19:39 +0000)]
ASoC: fsl_sai: Update is_slave_mode with correct value

is_slave_mode defaults to false because sai structure
that contains it is kzalloc'ed.

Anyhow, if we decide to set the following configuration
SAI slave -> SAI master, is_slave_mode will remain set on true
although SAI being master it should be set to false.

Fix this by updating is_slave_mode for each call of
fsl_sai_set_dai_fmt.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: doc: simple-card: Add pin-switches property
Paul Cercueil [Sat, 20 Apr 2019 10:45:51 +0000 (12:45 +0200)]
ASoC: doc: simple-card: Add pin-switches property

The simple-audio-card,pin-switches property can contain the list of
widget names for which pin switches must be created.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: sprd: Add Spreadtrum multi-channel data transfer support
Baolin Wang [Tue, 23 Apr 2019 02:26:22 +0000 (10:26 +0800)]
ASoC: sprd: Add Spreadtrum multi-channel data transfer support

On Spreadtrum platform, the audio subsystem will use the multi-channel
data transfer controller to transfer sound stream between audio subsystem
and other AP/CP subsystem.

It can support 10 DAC channel and 10 ADC channel, and each channel has
512 bytes depth data fifo. Moreover each channel can be used DMA mode
or interrupt mode to transfer data.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agodt-bindings: ASoC: Add Spreadtrum multi-channel data transfer support
Baolin Wang [Tue, 23 Apr 2019 02:26:21 +0000 (10:26 +0800)]
dt-bindings: ASoC: Add Spreadtrum multi-channel data transfer support

On Spreadtrum platform, the audio subsystem will use the multi-channel
data transfer controller to transfer sound stream between audio subsystem
and other AP/CP subsystem.

It can support 10 DAC channel and 10 ADC channel, and each channel has
512 bytes depth data fifo. Moreover each channel can be used DMA mode
or interrupt mode to transfer data.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: codecs: rt5682: initialize mutex before using
Xun Zhang [Fri, 19 Apr 2019 20:53:49 +0000 (15:53 -0500)]
ASoC: codecs: rt5682: initialize mutex before using

In rt5682 codec driver, a mutex called "calibrate_mutex" is used
in rt5682_calibrate() before initialization, which causes warning
in lock debug. Move the initialization before the usage of mutex.

Signed-off-by: Xun Zhang <xun2.zhang@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: stm32: i2s: return the get_irq error
Fabien Dessenne [Wed, 24 Apr 2019 15:28:44 +0000 (17:28 +0200)]
ASoC: stm32: i2s: return the get_irq error

During probe, return the "get_irq" error value instead of -ENOENT. This
allows the driver to be deferred probed if needed.

Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: rsnd: fixup 6ch settings to 8ch
Kuninori Morimoto [Thu, 25 Apr 2019 06:16:58 +0000 (15:16 +0900)]
ASoC: rsnd: fixup 6ch settings to 8ch

rsnd need to use 8ch clock settings for 6ch for TDM.
Otherwise, it can't work correctly.
This patch fixup it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: codec: hdac_hdmi add device_link to card device
Libin Yang [Sat, 13 Apr 2019 13:18:12 +0000 (21:18 +0800)]
ASoC: codec: hdac_hdmi add device_link to card device

In resume from S3, HDAC HDMI codec driver dapm event callback may be
operated before HDMI codec driver turns on the display audio power
domain because of the contest between display driver and hdmi codec driver.

This patch adds the device_link between soc card device (consumer) and
hdmi codec device (supplier) to make sure the sequence is always correct.

Signed-off-by: Libin Yang <libin.yang@intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
5 years agoASoC: Intel: Haswell: Remove set but not used variable 'stage_type'
YueHaibing [Thu, 18 Apr 2019 02:48:48 +0000 (10:48 +0800)]
ASoC: Intel: Haswell: Remove set but not used variable 'stage_type'

Fixes gcc '-Wunused-but-set-variable' warning:

sound/soc/intel/haswell/sst-haswell-ipc.c: In function 'hsw_stream_message':
sound/soc/intel/haswell/sst-haswell-ipc.c:669:29: warning: variable 'stage_type' set but not used [-Wunused-but-set-variable]

It is never used since introduction in
commit ba57f68235cf ("ASoC: Intel: create haswell folder and move haswell platform files in")

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: pcm: save fixed-up hw_params of BE
Libin Yang [Fri, 19 Apr 2019 01:53:12 +0000 (09:53 +0800)]
ASoC: pcm: save fixed-up hw_params of BE

Some drivers mandate setting up hw params after resuming from system sleep.
Since, the hw_params ioctl is not invoked upon resuming, the fixed-up BE
dai hw params should be saved so the driver can use it in its resume
sequence.

Signed-off-by: Libin Yang <libin.yang@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: tobermory: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:22:02 +0000 (12:22 +0200)]
ASoC: samsung: tobermory: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: tm2_wm5110: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:22:01 +0000 (12:22 +0200)]
ASoC: samsung: tm2_wm5110: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: speyside: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:22:00 +0000 (12:22 +0200)]
ASoC: samsung: speyside: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: spdif: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:59 +0000 (12:21 +0200)]
ASoC: samsung: spdif: Convert to SPDX License Identifier

Replace GPL v2.0 license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: snow: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:58 +0000 (12:21 +0200)]
ASoC: samsung: snow: Convert to SPDX License Identifier

Replace GPL v2.0 license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: smdk_wm8994*: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:57 +0000 (12:21 +0200)]
ASoC: samsung: smdk_wm8994*: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: smdk_wm8580: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:56 +0000 (12:21 +0200)]
ASoC: samsung: smdk_wm8580: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: smdk_spdif: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:55 +0000 (12:21 +0200)]
ASoC: samsung: smdk_spdif: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: smartq_wm8987: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:54 +0000 (12:21 +0200)]
ASoC: samsung: smartq_wm8987: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: s3c24xx_uda134x: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:53 +0000 (12:21 +0200)]
ASoC: samsung: s3c24xx_uda134x: Convert to SPDX License Identifier

Replace GPL v2.0 license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: s3c24xx_simtec*: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:52 +0000 (12:21 +0200)]
ASoC: samsung: s3c24xx_simtec*: Convert to SPDX License Identifier

Replace GPL v2.0 license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: s3c2412-i2s: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:51 +0000 (12:21 +0200)]
ASoC: samsung: s3c2412-i2s: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: rx1950_uda1380: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:50 +0000 (12:21 +0200)]
ASoC: samsung: rx1950_uda1380: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: s3c24xx-i2s: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:49 +0000 (12:21 +0200)]
ASoC: samsung: s3c24xx-i2s: Convert to SPDX License Identifier

Replace GPL v2.0(+) license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: s3c-i2s-v2: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:48 +0000 (12:21 +0200)]
ASoC: samsung: s3c-i2s-v2: Convert to SPDX License Identifier

Replace GPL v2.0 license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: pcm: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:47 +0000 (12:21 +0200)]
ASoC: samsung: pcm: Convert to SPDX License Identifier

Replace GPL v2.0 license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: odroid: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:46 +0000 (12:21 +0200)]
ASoC: samsung: odroid: Convert to SPDX License Identifier

Replace GPL v2.0 license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: neo1973_wm8753: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:45 +0000 (12:21 +0200)]
ASoC: samsung: neo1973_wm8753: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: lowland: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:44 +0000 (12:21 +0200)]
ASoC: samsung: lowland: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: littlemill: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:43 +0000 (12:21 +0200)]
ASoC: samsung: littlemill: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: jive_wm8750: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:42 +0000 (12:21 +0200)]
ASoC: samsung: jive_wm8750: Convert to SPDX License Identifier

Replace GPL v2.0 license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: idma: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:41 +0000 (12:21 +0200)]
ASoC: samsung: idma: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: i2s: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:40 +0000 (12:21 +0200)]
ASoC: samsung: i2s: Convert to SPDX License Identifier

Replace remaining GPL v2.0 license statements with SPDX license
identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: h1940_uda1380: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:39 +0000 (12:21 +0200)]
ASoC: samsung: h1940_uda1380: Convert to SPDX License Identifier

Replace GPL v2.0+ license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: dmaengine: Convert to SPDX License Indentifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:38 +0000 (12:21 +0200)]
ASoC: samsung: dmaengine: Convert to SPDX License Indentifier

Replace GPL v2.0 license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: bells: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:37 +0000 (12:21 +0200)]
ASoC: samsung: bells: Convert to SPDX License Identifier

Replace GPL v2.0 license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: arndale: Convert to SPDX License Identifier
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:36 +0000 (12:21 +0200)]
ASoC: samsung: arndale: Convert to SPDX License Identifier

Replace GPL v2.0 license statements with SPDX license identifier.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: tlv320aic32x4: Fix spacing
Annaliese McDermond [Fri, 5 Apr 2019 21:54:30 +0000 (14:54 -0700)]
ASoC: tlv320aic32x4: Fix spacing

Fix some cosmetic spacing issues reported by Julia Lawall
<julia.lawall@lip6.fr>.

Signed-off-by: Annaliese McDermond <nh6z@nh6z.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: Intel: kbl_da7219_max98927: remove headset
Jenny TC [Tue, 26 Mar 2019 17:20:56 +0000 (22:50 +0530)]
ASoC: Intel: kbl_da7219_max98927: remove headset

kbl_da7219_max98927 supports two configurations - One with da7219 &
max98927/373 and other one with max98927/373 alone. This patch
removes the headset dais from max98927/373 configuration. Since the
snd_soc_dapm_ignore_suspend for DMIC is called from da7219_codec_init,
the code is re-arranged to invoke snd_soc_dapm_ignore_suspend from
kabylake_dmic_init.

Signed-off-by: Jenny TC <jenny.tc@intel.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: pcm: update module refcount if module_get_upon_open is set
Ranjani Sridharan [Fri, 5 Apr 2019 16:57:09 +0000 (09:57 -0700)]
ASoC: pcm: update module refcount if module_get_upon_open is set

Setting the module_get_upon_open field for component driver
prevents the module refcount from being incremented during
component probe(). This could lead to the module being
allowed to be unloaded when a pcm stream is open. So,
if this field is set, the module's refcount should be
incremented during pcm open to prevent module removal
when the component is in use. And, the refcount should
be decremented upon pcm close.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: core: conditionally increase module refcount on component open
Ranjani Sridharan [Fri, 5 Apr 2019 16:57:08 +0000 (09:57 -0700)]
ASoC: core: conditionally increase module refcount on component open

Recently, for Intel platforms the "ignore_module_refcount" field
was introduced for the component driver. In order to avoid a
deadlock preventing the PCI modules from being removed
even when the card was idle, the refcounts were not incremented
for the device driver module during component probe.

However, this change introduced a nasty side effect:
the device driver module can be unloaded while a pcm stream is open.

This patch proposes to change the field to be renamed as
"module_get_upon_open". When this field is set, the module
refcount should be incremented on pcm open amd decremented
upon pcm close. This will enable modules to be removed
when no PCM playback/capture happens and prevent removal
when the component is actually in use.

Also, align with the skylake component driver with the new name.

Fixes: b450b878('ASoC: core: don't increase component module refcount
                 unconditionally'
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: Intel: bytcht_es8316: Add quirk for the Teclast X98+ II
Paul Cercueil [Fri, 29 Mar 2019 21:50:45 +0000 (22:50 +0100)]
ASoC: Intel: bytcht_es8316: Add quirk for the Teclast X98+ II

The Teclast X98+ II is a Cherrytrail tablet, which require two quirks:
- it has stereo speakers,
- its jack detection mechanism is inverted.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: Intel: bytcht_es8316: Add quirk for inverted jack detect
Paul Cercueil [Fri, 29 Mar 2019 21:50:44 +0000 (22:50 +0100)]
ASoC: Intel: bytcht_es8316: Add quirk for inverted jack detect

Add a quirk to support boards whose jack detection mechanism is
inverted.

It will set the 'everest,jack-detect-inverted' boolean device property
for the es8316 codec driver.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm1133-ev1: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:50:10 +0000 (14:50 +0300)]
ASoC: wm1133-ev1: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: phycore-ac97: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:50:09 +0000 (14:50 +0300)]
ASoC: phycore-ac97: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: pcm030-audio-fabric: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:50:08 +0000 (14:50 +0300)]
ASoC: pcm030-audio-fabric: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: p1022_rdk: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:50:07 +0000 (14:50 +0300)]
ASoC: p1022_rdk: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: p1022_ds: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:50:06 +0000 (14:50 +0300)]
ASoC: p1022_ds: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: mx27vis-aic32x4: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:50:05 +0000 (14:50 +0300)]
ASoC: mx27vis-aic32x4: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: mpc8610_hpcd: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:50:04 +0000 (14:50 +0300)]
ASoC: mpc8610_hpcd: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: mpc5200_psc_i2s: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:50:03 +0000 (14:50 +0300)]
ASoC: mpc5200_psc_i2s: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: mpc5200_psc_ac97: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:50:02 +0000 (14:50 +0300)]
ASoC: mpc5200_psc_ac97: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: mpc5200_dma: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:50:01 +0000 (14:50 +0300)]
ASoC: mpc5200_dma: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: imx-ssi: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:50:00 +0000 (14:50 +0300)]
ASoC: imx-ssi: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: imx-spdif: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:49:59 +0000 (14:49 +0300)]
ASoC: imx-spdif: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: imx-pcm-fiq: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:49:58 +0000 (14:49 +0300)]
ASoC: imx-pcm-fiq: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: imx-mc13783: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:49:57 +0000 (14:49 +0300)]
ASoC: imx-mc13783: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: imx-es8328: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:49:56 +0000 (14:49 +0300)]
ASoC: imx-es8328: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: imx-audmux: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:49:55 +0000 (14:49 +0300)]
ASoC: imx-audmux: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: fsl-dma: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:49:54 +0000 (14:49 +0300)]
ASoC: fsl-dma: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: eukrea-tlv320: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:49:53 +0000 (14:49 +0300)]
ASoC: eukrea-tlv320: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: imx-pcm: Switch to SPDX identifier
Andra Danciu [Fri, 5 Apr 2019 11:49:51 +0000 (14:49 +0300)]
ASoC: imx-pcm: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.

Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: stm32: fix sai driver name initialisation
Arnaud Pouliquen [Fri, 5 Apr 2019 09:19:11 +0000 (11:19 +0200)]
ASoC: stm32: fix sai driver name initialisation

This patch fixes the sai driver structure overwriting which results in
a cpu dai name equal NULL.

Fixes: 3e086ed ("ASoC: stm32: add SAI driver")
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: topology: Use the correct dobj to free enum control values and texts
Ranjani Sridharan [Fri, 5 Apr 2019 02:48:33 +0000 (19:48 -0700)]
ASoC: topology: Use the correct dobj to free enum control values and texts

The control values and texts of the enum kcontrol associated
with a widget need to be freed when the widget is removed.
However, both struct snd_soc_dapm_widget and struct soc_enum
contain a dobj member, which resulted in a confusion.
The existing code generates a null pointer dereference by
attempting to free the values and texts from the dobj which
belongs to the widget instead of the dobj belonging to the
enum kcontrol.

The suggested fix is to use the correct dobj member (se->dobj)
of the enum kcontrol.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: cs42l51: change mic bias DAPM
Olivier Moysan [Wed, 3 Apr 2019 13:23:35 +0000 (15:23 +0200)]
ASoC: cs42l51: change mic bias DAPM

Use SND_SOC_DAPM_SUPPLY for mic bias DAPM
instead of deprecated SND_SOC_DAPM_MICBIAS.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: fsl_esai: Support synchronous mode
S.j. Wang [Thu, 4 Apr 2019 09:40:56 +0000 (09:40 +0000)]
ASoC: fsl_esai: Support synchronous mode

In ESAI synchronous mode, the clock is generated by Tx, So
we should always set registers of Tx which relate with the
bit clock and frame clock generation (TCCR, TCR, ECR), even
there is only Rx is working.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: topology: fix big-endian check
Pierre-Louis Bossart [Thu, 4 Apr 2019 19:13:58 +0000 (14:13 -0500)]
ASoC: topology: fix big-endian check

Use an explicit define to avoid Sparse issues coming from the use of
cpu_to_be32

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: topology: fix endianness issues
Pierre-Louis Bossart [Thu, 4 Apr 2019 19:13:57 +0000 (14:13 -0500)]
ASoC: topology: fix endianness issues

Use le16/32/64_to_cpu() as needed to make Sparse happy.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: meson: axg-tdmout: add g12a support
Jerome Brunet [Thu, 4 Apr 2019 11:17:33 +0000 (13:17 +0200)]
ASoC: meson: axg-tdmout: add g12a support

The axg tdmout driver just need a different skew offset to operate
correctly on the g12a SoC family.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: meson: axg-tdm-formatter: rework quirks settings
Jerome Brunet [Thu, 4 Apr 2019 11:17:32 +0000 (13:17 +0200)]
ASoC: meson: axg-tdm-formatter: rework quirks settings

The g12a tdmout requires a different signal skew offset than the axg.
With this change, the skew offset is added as a parameter of the tdm
formatters to prepare the addition of the g12a support.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: meson: axg-frddr: add g12a support
Jerome Brunet [Thu, 4 Apr 2019 11:17:31 +0000 (13:17 +0200)]
ASoC: meson: axg-frddr: add g12a support

On the axg, frddr could only be connected to 1 downstream element, so the
playback was possible on 1 interface only at a time.

On the g12a, the frddr may connect and wait for the request of up to 3
downstream elements. With this, it possible for single playback to be
played on several interfaces at the same time.

Like the toddr fifo, the g12a frddr also need to take care of resetting
the read pointer to the initial fifo address when preparing a playback.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: meson: axg-toddr: add g12a support
Jerome Brunet [Thu, 4 Apr 2019 11:17:30 +0000 (13:17 +0200)]
ASoC: meson: axg-toddr: add g12a support

Since the g12a SoC fifo can set the fifo initial start address, we must
make sure to actually reset the write pointer to this address when
starting a capture.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: meson: axg-fifo: add g12a support
Jerome Brunet [Thu, 4 Apr 2019 11:17:29 +0000 (13:17 +0200)]
ASoC: meson: axg-fifo: add g12a support

The g12a fifos gained the ability to set the initial address of the
pointer within the buffer, instead of defaulting to the buffer start
address.

It is not very useful to us (yet) but we need to put a copy the buffer
start address in the related register for the fifo to work properly on the
g12a SoC family

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: meson: add g12a compatibles
Jerome Brunet [Thu, 4 Apr 2019 11:17:28 +0000 (13:17 +0200)]
ASoC: meson: add g12a compatibles

Add new compatible strings for the g12a devices.
Audio wise, the g12a is fairly to close to the axg, yet some differences
need to be handled.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: core: remove link components before cleaning up card resources
Ranjani Sridharan [Fri, 5 Apr 2019 00:30:40 +0000 (17:30 -0700)]
ASoC: core: remove link components before cleaning up card resources

When the card is registered by the machine driver,
dai link components are probed after the snd_card is
created. This is done in snd_soc_bind_card() which calls
snd_soc_instantiate_card() to first create the snd_card
and then probes the link components by calling
soc_probe_link_components(). The snd_card is used by the
component driver to add the kcontrols associated
with dapm widgets to the card.

When the machine driver is unregistered, the snd_card
is freed when the card resources are cleaned up.
But the snd_card needs to be valid while unloading the
topology dapm widgets in order to remove the kcontrols
from the card.

Since, unloading topology is done when the component
driver is removed, the link components should be removed
in snd_soc_unbind_card(). This will ensure that the kcontrols
are removed before the card resources are cleaned up and
the snd_card itself is freed.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: intel: skylake: add remove() callback for component driver
Ranjani Sridharan [Fri, 5 Apr 2019 00:30:39 +0000 (17:30 -0700)]
ASoC: intel: skylake: add remove() callback for component driver

Topology is not unloaded in the core during unregister_component()
anymore. So, add the remove() callback that will unload the
topology.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: cs35l35: Disable regulators on driver removal
Charles Keepax [Thu, 4 Apr 2019 16:27:20 +0000 (17:27 +0100)]
ASoC: cs35l35: Disable regulators on driver removal

The chips main power supplies VA and VP are enabled during probe but
then never disabled, this will cause warnings from the regulator
framework on driver removal. Fix this by adding a remove callback and
disabling the supplies, whilst doing so follow best practice and put the
chip back into reset as well.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: cs42l51: add adc volume control
Olivier Moysan [Wed, 3 Apr 2019 13:23:37 +0000 (15:23 +0200)]
ASoC: cs42l51: add adc volume control

Add ADC boost volume control for CS42L51 codec.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: cs42l51: add power management
Olivier Moysan [Wed, 3 Apr 2019 13:23:36 +0000 (15:23 +0200)]
ASoC: cs42l51: add power management

Add sleep PM callbacks to support system low power modes.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: cs42l51: add support of master mode
Olivier Moysan [Wed, 3 Apr 2019 13:23:34 +0000 (15:23 +0200)]
ASoC: cs42l51: add support of master mode

Add support of master mode for cs42l51 cirrus audio codec.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: cs42l51: add reset management
Olivier Moysan [Wed, 3 Apr 2019 13:23:33 +0000 (15:23 +0200)]
ASoC: cs42l51: add reset management

Manage cs42l51 audio codec reset pin.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: cs42l51: add regulator management
Olivier Moysan [Wed, 3 Apr 2019 13:23:32 +0000 (15:23 +0200)]
ASoC: cs42l51: add regulator management

Add cs42l51 audio codec power supply management
through regulator framework.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: dt-bindings: update cs42l51 bindings
Olivier Moysan [Wed, 3 Apr 2019 13:23:31 +0000 (15:23 +0200)]
ASoC: dt-bindings: update cs42l51 bindings

Add compatible, reg, regulator, and reset
to Cirrus CS42L51 audio codec bindings.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm_adsp: Avoid calling snd_compr_stop_error from WDT expiry
Charles Keepax [Thu, 4 Apr 2019 12:56:01 +0000 (13:56 +0100)]
ASoC: wm_adsp: Avoid calling snd_compr_stop_error from WDT expiry

It is unsafe to call snd_compr_stop_error from outside of the
compressed ops. Firstly the compressed device lock needs to be held
and secondly it queues error work to issue a trigger stop which
should not happen after the stream has been freed. To avoid these
issues use the same trick used for the IRQ handling, simply send a
snd_compr_fragment_elapsed to cause user-space to wake on the poll,
then report the error when user-space issues the pointer request
after it wakes.

Fixes: a2bcbc1b9ac2f ("ASoC: wm_adsp: Shutdown any compressed streams on DSP watchdog timeout")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@kernel.org
5 years agoASoC: max98357a: add missing supported rates
Jerome Brunet [Thu, 4 Apr 2019 11:50:15 +0000 (13:50 +0200)]
ASoC: max98357a: add missing supported rates

According the publicly available datasheet (and some test) the max98357a
also supports 32, 44.1 and 88.2 kHz sample rate.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: tlv320aic32x4: Add Playback PowerTune Controls
Annaliese McDermond [Thu, 4 Apr 2019 04:01:55 +0000 (21:01 -0700)]
ASoC: tlv320aic32x4: Add Playback PowerTune Controls

PowerTune controls the power level of the chip.  On playback this
indirectly controls things like the gain of the various output
amplifiers.  This can allow for the decrease of output levels
from the codec.  This adds controls for those power levels to
the driver.

Signed-off-by: Annaliese McDermond <nh6z@nh6z.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: tlv320aic32x4: Add Switch for Setting Common Mode Voltage
Annaliese McDermond [Thu, 4 Apr 2019 04:01:54 +0000 (21:01 -0700)]
ASoC: tlv320aic32x4: Add Switch for Setting Common Mode Voltage

Add a switch for setting common mode voltage.  This can allow
for higher drive levels on the amplifier outputs.

Signed-off-by: Annaliese McDermond <nh6z@nh6z.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: rockchip: pdm: Mark RXFIFO_DATA as volatile and precious
Sugar Zhang [Thu, 4 Apr 2019 03:57:08 +0000 (11:57 +0800)]
ASoC: rockchip: pdm: Mark RXFIFO_DATA as volatile and precious

This patch marks RXFIFO_DATA as precious to avoid being read
outside a call from the driver, such as regmap debugfs

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: sprd: Fix spelling mistake "faied" -> "failed"
Colin Ian King [Thu, 4 Apr 2019 07:56:03 +0000 (08:56 +0100)]
ASoC: sprd: Fix spelling mistake "faied" -> "failed"

There are two identical spelling mistakes in dev_err messages. Fix them.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
Reviewed-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: rockchip: pdm: Correct PDM_CTRL0 reg value
Sugar Zhang [Thu, 4 Apr 2019 03:57:57 +0000 (11:57 +0800)]
ASoC: rockchip: pdm: Correct PDM_CTRL0 reg value

This patch fix the wrong reg value for rk322x/rk322xh,
cuz there is no STORE JUSTIFIED MODE on it.

on rk322x/rk322xh, the same bit means PDM_MODE/RESERVED,
if the bit is set to RESERVED, the controller will not work.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>