sfrench/cifs-2.6.git
5 years agoMerge branch 'asoc-4.18' into asoc-4.19 wmadsp dep
Mark Brown [Wed, 8 Aug 2018 16:32:10 +0000 (17:32 +0100)]
Merge branch 'asoc-4.18' into asoc-4.19 wmadsp dep

5 years agoASoC: wm_adsp: Declare firmware controls from codec driver
Richard Fitzgerald [Wed, 8 Aug 2018 16:13:38 +0000 (17:13 +0100)]
ASoC: wm_adsp: Declare firmware controls from codec driver

To allow for more flexibility in naming of DSP-type cores
move the creation of the firmware controls to the codec
drivers instead of having a hardcoded list in wm_adsp.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: max98373: Added software reset register to readable registers
Ryan Lee [Wed, 8 Aug 2018 03:06:38 +0000 (20:06 -0700)]
ASoC: max98373: Added software reset register to readable registers

Signed-off-by: Ryan Lee <ryans.lee@maximintegrated.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm_adsp: Correct DSP pointer for preloader control
Ajit Pandey [Tue, 7 Aug 2018 17:30:42 +0000 (18:30 +0100)]
ASoC: wm_adsp: Correct DSP pointer for preloader control

The offset of the DSP core needs to be taken into account for the DSP
preloader control get and put. Currently the dsp->preloaded variable
will only ever be read/updated on the first DSP, whilst this doesn't
affect the operation of the control the readback will be incorrect.

Signed-off-by: Ajit Pandey <ajit.pandey@cirrus.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
5 years agoASoC: rt5677: Fix initialization of rt5677_of_match.data
Matthias Kaehlcke [Tue, 7 Aug 2018 17:19:40 +0000 (10:19 -0700)]
ASoC: rt5677: Fix initialization of rt5677_of_match.data

The driver expects to find the device id in rt5677_of_match.data, however
it is currently assigned to rt5677_of_match.type. Fix this.

The problem was found with the help of clang:
  sound/soc/codecs/rt5677.c:5010:36: warning: expression which evaluates to
  zero treated as a null pointer constant of type 'const void *'
  [-Wnon-literal-null-conversion]
    { .compatible = "realtek,rt5677", RT5677 },
                                      ^~~~~~

Fixes: ddc9e69b9dc2 ("ASoC: rt5677: Hide platform data in the module sources")
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: compress: make BE and FE order inline with dpcm
Srinivas Kandagatla [Fri, 3 Aug 2018 12:30:03 +0000 (13:30 +0100)]
ASoC: compress: make BE and FE order inline with dpcm

For some reason order of startup/hw_params/prepare are reversed
in dynamic compress usecase when compared to dpcm usecase. This is
a issue with platforms like QCOM where it expects the BE to be
initialized before FE.

Interestingly the compress trigger callback order is inline with dpcm.

Am not 100% sure why the compress audio case has been reversed.
This patch is making the order inline with dpcm.

If the reverse ordering is just co-incendental then this change
makes sense and will avoid inventing some new mechanism to cope
with ordering.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: AMD: Set delay value for the capture case
Akshu Agrawal [Mon, 6 Aug 2018 07:27:16 +0000 (12:57 +0530)]
ASoC: AMD: Set delay value for the capture case

ACP->SYSMEM DMA happens at every I2S->SYSMEM period
completion. Thus, there is delay of x frames till
I2S->SYSMEM reaches a period length. This delay is
communicated to user space.

Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: AMD: Modified DMA pointer for capture
Mukunda, Vijendar [Mon, 6 Aug 2018 07:27:15 +0000 (12:57 +0530)]
ASoC: AMD: Modified DMA pointer for capture

Give position on ACP->SYSMEM DMA channel for
the number of bytes that have been transferred on
the basis of current descriptor under service.

Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: AMD: Make ACP->SYSMEM DMA non circular
Akshu Agrawal [Mon, 6 Aug 2018 07:27:14 +0000 (12:57 +0530)]
ASoC: AMD: Make ACP->SYSMEM DMA non circular

In capture case we don't want ACP to SYSMEM dma
to be circular. This is because if an in place DSP
filter is applied to captured output then circular DMA
can overwrite the filter value with stale data.

Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm8994: Fix missing break in switch
Gustavo A. R. Silva [Mon, 6 Aug 2018 12:14:51 +0000 (07:14 -0500)]
ASoC: wm8994: Fix missing break in switch

Add missing break statement in order to prevent the code from falling
through to the default case.

Addresses-Coverity-ID: 115050 ("Missing break in switch")
Reported-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
5 years agoASoC: qdsp6: q6afe-dai: add SLIM tx AIF_IN dapm
Srinivas Kandagatla [Mon, 6 Aug 2018 10:12:09 +0000 (11:12 +0100)]
ASoC: qdsp6: q6afe-dai: add SLIM tx AIF_IN dapm

Add missing AIF_IN dapm for slim tx ports.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: qcom: remove unused header files from common.h
Srinivas Kandagatla [Mon, 6 Aug 2018 10:12:08 +0000 (11:12 +0100)]
ASoC: qcom: remove unused header files from common.h

This patch removes unused header files from common.h.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: sdm845: remove unused header files
Srinivas Kandagatla [Mon, 6 Aug 2018 10:12:07 +0000 (11:12 +0100)]
ASoC: sdm845: remove unused header files

This patch removes unused header files from the driver.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: apq8096: remove unused header files
Srinivas Kandagatla [Mon, 6 Aug 2018 10:12:06 +0000 (11:12 +0100)]
ASoC: apq8096: remove unused header files

This patch removes unused header files from the driver.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: qcom: make common.c as proper module
Srinivas Kandagatla [Mon, 6 Aug 2018 10:12:05 +0000 (11:12 +0100)]
ASoC: qcom: make common.c as proper module

This patch converts common helper functions in to proper module
and also fixes below warning.

WARNING: sound/soc/qcom/snd-soc-sdm845: 'qcom_snd_parse_of' exported twice.
Previous export was in sound/soc/qcom/snd-soc-apq8096.ko

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm8903: use true and false for boolean values
Gustavo A. R. Silva [Sat, 4 Aug 2018 21:56:02 +0000 (16:56 -0500)]
ASoC: wm8903: use true and false for boolean values

Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: da9055: use true and false for boolean values
Gustavo A. R. Silva [Sat, 4 Aug 2018 21:55:28 +0000 (16:55 -0500)]
ASoC: da9055: use true and false for boolean values

Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm5100-tables: use true and false for boolean values
Gustavo A. R. Silva [Sat, 4 Aug 2018 21:54:54 +0000 (16:54 -0500)]
ASoC: wm5100-tables: use true and false for boolean values

Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: da7213: use true and false for boolean values
Gustavo A. R. Silva [Sat, 4 Aug 2018 21:54:10 +0000 (16:54 -0500)]
ASoC: da7213: use true and false for boolean values

Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: twl6040: use true and false for boolean values
Gustavo A. R. Silva [Sat, 4 Aug 2018 21:53:38 +0000 (16:53 -0500)]
ASoC: twl6040: use true and false for boolean values

Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: da7219: use true and false for boolean values
Gustavo A. R. Silva [Sat, 4 Aug 2018 21:53:10 +0000 (16:53 -0500)]
ASoC: da7219: use true and false for boolean values

Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm8996: use true and false for boolean values
Gustavo A. R. Silva [Sat, 4 Aug 2018 21:52:35 +0000 (16:52 -0500)]
ASoC: wm8996: use true and false for boolean values

Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: cs4270: use true and false for boolean values
Gustavo A. R. Silva [Sat, 4 Aug 2018 21:52:01 +0000 (16:52 -0500)]
ASoC: cs4270: use true and false for boolean values

Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm8990: use true and false for boolean values
Gustavo A. R. Silva [Sat, 4 Aug 2018 21:51:01 +0000 (16:51 -0500)]
ASoC: wm8990: use true and false for boolean values

Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: tda7419: use true and false for boolean values
Gustavo A. R. Silva [Sat, 4 Aug 2018 21:50:27 +0000 (16:50 -0500)]
ASoC: tda7419: use true and false for boolean values

Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: rt5631: use true and false for boolean values
Gustavo A. R. Silva [Sat, 4 Aug 2018 21:49:55 +0000 (16:49 -0500)]
ASoC: rt5631: use true and false for boolean values

Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: max9850: use true and false for boolean values
Gustavo A. R. Silva [Sat, 4 Aug 2018 21:49:02 +0000 (16:49 -0500)]
ASoC: max9850: use true and false for boolean values

Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: samsung: i2s: Mark expected switch fall-through
Gustavo A. R. Silva [Fri, 3 Aug 2018 16:33:57 +0000 (11:33 -0500)]
ASoC: samsung: i2s: Mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 1381093 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: omap-dmic: Mark expected switch fall-throughs
Gustavo A. R. Silva [Fri, 3 Aug 2018 16:31:48 +0000 (11:31 -0500)]
ASoC: omap-dmic: Mark expected switch fall-throughs

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 1468847 ("Missing break in switch")
Addresses-Coverity-ID: 1468849 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: fsl_esai: Mark expected switch fall-through
Gustavo A. R. Silva [Fri, 3 Aug 2018 16:29:53 +0000 (11:29 -0500)]
ASoC: fsl_esai: Mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 1222121 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: core: mark expected switch fall-through
Gustavo A. R. Silva [Fri, 3 Aug 2018 16:34:30 +0000 (11:34 -0500)]
ASoC: core: mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 146568 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: omap-mcpdm: Mark expected switch fall-throughs
Gustavo A. R. Silva [Fri, 3 Aug 2018 16:32:52 +0000 (11:32 -0500)]
ASoC: omap-mcpdm: Mark expected switch fall-throughs

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 1369526 ("Missing break in switch")
Addresses-Coverity-ID: 1369529 ("Missing break in switch")
Addresses-Coverity-ID: 1451415 ("Missing break in switch")
Addresses-Coverity-ID: 115103 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: davinci-i2s: mark expected switch fall-through
Gustavo A. R. Silva [Fri, 3 Aug 2018 16:28:24 +0000 (11:28 -0500)]
ASoC: davinci-i2s: mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 1364478 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: smd845: fix memory leak
Gustavo A. R. Silva [Fri, 3 Aug 2018 13:42:11 +0000 (08:42 -0500)]
ASoC: smd845: fix memory leak

In case memory resources for *card* were allocated, release them before
return.

Addresses-Coverity-ID: 1472244 ("Resource leak")
Fixes: 6b1687bf76ef ("ASoC: qcom: add sdm845 sound card support")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: Intel: bxt: Use refcap device for mono recording
Yong Zhi [Thu, 2 Aug 2018 23:21:31 +0000 (18:21 -0500)]
ASoC: Intel: bxt: Use refcap device for mono recording

The refcap capture device supports mono recording only, this patch
adds the channel constraints.

Signed-off-by: Yong Zhi <yong.zhi@intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: core: remove support for card rebind using component framework
Srinivas Kandagatla [Thu, 2 Aug 2018 15:03:38 +0000 (16:03 +0100)]
ASoC: core: remove support for card rebind using component framework

DRM based audio components get registered inside the component framework
bind callback. However component framework has a big mutex lock taken for
every call to component_add, component_del and bind, unbind callbacks.

This can lead to deadlock situation if we are trying to add new/remove
component within a bind/unbind callbacks. Which is what was happening
with bcm2837 rpi 3.

Revert this change till we sort out the mutex issue.

Reported-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Reported-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: smd845: remove auto rebinding
Srinivas Kandagatla [Thu, 2 Aug 2018 15:03:37 +0000 (16:03 +0100)]
ASoC: smd845: remove auto rebinding

Remove auto rebinding support, as component framework can deadlock
in few usecases if we are trying to add new/remove component within
a bind/unbind callbacks.

Card rebinding is ASoC core feature so all the previous component
framework stuff in q6dsp remains removed.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: apq8096: remove auto rebinding
Srinivas Kandagatla [Thu, 2 Aug 2018 15:03:36 +0000 (16:03 +0100)]
ASoC: apq8096: remove auto rebinding

Remove auto rebinding support, as component framework can deadlock
in few usecases if we are trying to add new/remove component within
a bind/unbind callbacks.

Card rebinding is ASoC core feature so all the previous component
framework stuff in q6dsp remains removed.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: fsi: convert to SPDX identifiers
Kuninori Morimoto [Thu, 2 Aug 2018 01:47:30 +0000 (01:47 +0000)]
ASoC: fsi: convert to SPDX identifiers

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: qcom: Fix unmet dependency warning for SND_SOC_SDM845
Rohit kumar [Thu, 2 Aug 2018 07:02:59 +0000 (12:32 +0530)]
ASoC: qcom: Fix unmet dependency warning for SND_SOC_SDM845

Add DEPENDS_ON QCOM_APR for SND_SOC_SDM845 to fix the
warning: unmet direct dependencies detected for
SND_SOC_QDSP6.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm8994: Mark expected switch fall-through
Gustavo A. R. Silva [Wed, 1 Aug 2018 19:56:16 +0000 (14:56 -0500)]
ASoC: wm8994: Mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 115050 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm9081: Mark expected switch fall-through
Gustavo A. R. Silva [Wed, 1 Aug 2018 19:55:26 +0000 (14:55 -0500)]
ASoC: wm9081: Mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 1357430 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm8995: Mark expected switch fall-through
Gustavo A. R. Silva [Wed, 1 Aug 2018 19:54:45 +0000 (14:54 -0500)]
ASoC: wm8995: Mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 115045 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm8962: Mark expected switch fall-through
Gustavo A. R. Silva [Wed, 1 Aug 2018 19:54:03 +0000 (14:54 -0500)]
ASoC: wm8962: Mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 115043 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm8996: Mark expected switch fall-through
Gustavo A. R. Silva [Wed, 1 Aug 2018 19:53:19 +0000 (14:53 -0500)]
ASoC: wm8996: Mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 146354 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm8904: Mark expected switch fall-through
Gustavo A. R. Silva [Wed, 1 Aug 2018 19:52:41 +0000 (14:52 -0500)]
ASoC: wm8904: Mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 115042 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm8960: Mark expected switch fall-through
Gustavo A. R. Silva [Wed, 1 Aug 2018 19:51:59 +0000 (14:51 -0500)]
ASoC: wm8960: Mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 115041 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm8955: Mark expected switch fall-through
Gustavo A. R. Silva [Wed, 1 Aug 2018 19:51:18 +0000 (14:51 -0500)]
ASoC: wm8955: Mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 115047 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: rt5677: Mark expected switch fall-through
Gustavo A. R. Silva [Wed, 1 Aug 2018 19:50:20 +0000 (14:50 -0500)]
ASoC: rt5677: Mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 1271174 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: rt5640: Mark expected switch fall-through
Gustavo A. R. Silva [Wed, 1 Aug 2018 19:49:13 +0000 (14:49 -0500)]
ASoC: rt5640: Mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 1056547 ("Missing break in switch")
Addresses-Coverity-ID: 1056548 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm8961: Mark expected switch fall-through
Gustavo A. R. Silva [Wed, 1 Aug 2018 19:47:09 +0000 (14:47 -0500)]
ASoC: wm8961: Mark expected switch fall-through

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 1271173 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: soc-pcm: Use delay set in component pointer function
Akshu Agrawal [Wed, 1 Aug 2018 10:07:33 +0000 (15:37 +0530)]
ASoC: soc-pcm: Use delay set in component pointer function

Take into account the base delay set in pointer callback.

There are cases where a pointer function populates
runtime->delay, such as:
./sound/pci/hda/hda_controller.c
./sound/soc/intel/atom/sst-mfld-platform-pcm.c

This delay was getting lost and was overwritten by delays
from codec or cpu dai delay function if exposed.

Now,
Total delay = base delay + cpu_dai delay + codec_dai delay

Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wcd9335: Fix build
Mark Brown [Wed, 1 Aug 2018 13:22:56 +0000 (14:22 +0100)]
ASoC: wcd9335: Fix build

This reverts commit e57d4ca882e28 (ASoC: wcd9335: add support to wcd9335
codec) due to build failures caused by missing dependencies.

Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wcd9335: Fix build due to CLASS-H Controller support
Mark Brown [Wed, 1 Aug 2018 13:18:50 +0000 (14:18 +0100)]
ASoC: wcd9335: Fix build due to CLASS-H Controller support

This reverts commit c8cb5f775c8dac (ASoC: vert "ASoC: wcd9335: add
CLASS-H Controller support) due to missing dependencies.

Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: stm32: remove redundant pointers 'priv' and 'rtd'
Colin Ian King [Wed, 1 Aug 2018 10:47:40 +0000 (11:47 +0100)]
ASoC: stm32: remove redundant pointers 'priv' and 'rtd'

Pointer 'priv' is assigned and not used, removing this allows
the removal of pointer 'rtd'.

Cleans up clang warning:
warning: variable 'priv' set but not used [-Wunused-but-set-variable]

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: nau8540: remove redundant variable osrate
Colin Ian King [Wed, 1 Aug 2018 10:47:39 +0000 (11:47 +0100)]
ASoC: nau8540: remove redundant variable osrate

Variable osrate is being assigned but is never used hence it is
redundant and can be removed.

Cleans up clang warning:
warning: variable 'osrate' set but not used [-Wunused-but-set-variable]

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: qcom: add sdm845 sound card support
Rohit kumar [Wed, 1 Aug 2018 09:01:09 +0000 (14:31 +0530)]
ASoC: qcom: add sdm845 sound card support

This patch adds sdm845 audio machine driver support.

Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: qcom: Add support to parse common audio device nodes
Rohit kumar [Wed, 1 Aug 2018 09:01:08 +0000 (14:31 +0530)]
ASoC: qcom: Add support to parse common audio device nodes

This adds support to parse cpu, platform and codec
device nodes and add them in dai-links. Also, update
apq8096 machine driver to use the common API.

Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: dt-bindings: Update dt binding name for apq8096
Rohit kumar [Wed, 1 Aug 2018 09:01:07 +0000 (14:31 +0530)]
ASoC: dt-bindings: Update dt binding name for apq8096

Remove qcom prefix from machine driver dt bindings of
apq8096 SoC.

Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: qcom: dt-bindings: Add sdm845 machine bindings
Rohit kumar [Wed, 1 Aug 2018 09:01:06 +0000 (14:31 +0530)]
ASoC: qcom: dt-bindings: Add sdm845 machine bindings

Add devicetree bindings documentation file for SDM845 sound card.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoMerge tag 'clk-core-duty-cycle-for-mark' of git://git.kernel.org/pub/scm/linux/kernel...
Mark Brown [Wed, 1 Aug 2018 10:43:52 +0000 (11:43 +0100)]
Merge tag 'clk-core-duty-cycle-for-mark' of git://git./linux/kernel/git/clk/linux into asoc-4.19

Duty cycle support for the clk api and drivers.

5 years agoMerge branch 'topic/drm_audio_component' of https://git.kernel.org/pub/scm/linux...
Mark Brown [Wed, 1 Aug 2018 09:32:05 +0000 (10:32 +0100)]
Merge branch 'topic/drm_audio_component' of https://git./linux/kernel/git/tiwai/sound into asoc-4.19

5 years agoASoC: wcd9335: add CLASS-H Controller support
Srinivas Kandagatla [Fri, 27 Jul 2018 12:18:01 +0000 (13:18 +0100)]
ASoC: wcd9335: add CLASS-H Controller support

CLASS-H controller/Amplifier is common accorss Qualcomm WCD codec series.
This patchset adds basic CLASS-H controller apis for WCD codecs after
wcd9335 to use.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wcd9335: add support to wcd9335 codec
Srinivas Kandagatla [Fri, 27 Jul 2018 12:18:00 +0000 (13:18 +0100)]
ASoC: wcd9335: add support to wcd9335 codec

Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC,
It supports both I2S/I2C and SLIMbus audio interfaces.
On slimbus interface it supports two data lanes; 16 Tx ports
and 8 Rx ports. It has Seven DACs and nine dedicated interpolators,
Seven (six audio ADCs, and one VBAT ADC), Multibutton headset
control (MBHC), Active noise cancellation and Sidetone paths
and processing.

This patchset adds very basic support for playback and capture
via the 9 interpolators and ADC respectively.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: dt-bindings: add dt bindings for wcd9335 audio codec
Srinivas Kandagatla [Fri, 27 Jul 2018 12:17:57 +0000 (13:17 +0100)]
ASoC: dt-bindings: add dt bindings for wcd9335 audio codec

This patch adds bindings for wcd9335 audio codec which can support both SLIMbus
and I2S/I2C interface.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: uniphier: change functions to static
Katsuhiro Suzuki [Fri, 27 Jul 2018 02:37:44 +0000 (11:37 +0900)]
ASoC: uniphier: change functions to static

This patch changes some functions that are not used by other objects
to static.

Signed-off-by: Katsuhiro Suzuki <suzuki.katsuhiro@socionext.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: uniphier: add support for multichannel output
Katsuhiro Suzuki [Fri, 27 Jul 2018 02:37:28 +0000 (11:37 +0900)]
ASoC: uniphier: add support for multichannel output

This patch adds multichannel PCM output support for LD11/LD20.
Currently driver tested and supported only 2ch, 6ch, and 8ch.

Signed-off-by: Katsuhiro Suzuki <suzuki.katsuhiro@socionext.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: sirf: Fix potential NULL pointer dereference
Gustavo A. R. Silva [Thu, 26 Jul 2018 20:49:10 +0000 (15:49 -0500)]
ASoC: sirf: Fix potential NULL pointer dereference

There is a potential execution path in which function
platform_get_resource() returns NULL. If this happens,
we will end up having a NULL pointer dereference.

Fix this by replacing devm_ioremap with devm_ioremap_resource,
which has the NULL check and the memory region request.

This code was detected with the help of Coccinelle.

Cc: stable@vger.kernel.org
Fixes: 2bd8d1d5cf89 ("ASoC: sirf: Add audio usp interface driver")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: tegra_alc5632: fix device_node refcounting
Alexey Khoroshilov [Fri, 27 Jul 2018 21:06:59 +0000 (00:06 +0300)]
ASoC: tegra_alc5632: fix device_node refcounting

tegra_alc5632_probe() increments reference count of device nodes
with of_parse_phandle(), but there is no code decrementing them
in the driver.

The patch adds of_node_put() to tegra_alc5632_remove() and
to error handling paths in the probe.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: sh: Kconfig: convert to SPDX identifiers
Kuninori Morimoto [Mon, 30 Jul 2018 08:00:22 +0000 (08:00 +0000)]
ASoC: sh: Kconfig: convert to SPDX identifiers

By default all files without license information are under the default
license of the kernel, which is GPL version 2.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: ak4613: convert to SPDX identifiers
Kuninori Morimoto [Mon, 30 Jul 2018 07:53:08 +0000 (07:53 +0000)]
ASoC: ak4613: convert to SPDX identifiers

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: da7210: convert to SPDX identifiers
Kuninori Morimoto [Mon, 30 Jul 2018 07:52:46 +0000 (07:52 +0000)]
ASoC: da7210: convert to SPDX identifiers

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: ak4554: convert to SPDX identifiers
Kuninori Morimoto [Mon, 30 Jul 2018 07:52:15 +0000 (07:52 +0000)]
ASoC: ak4554: convert to SPDX identifiers

As original license mentioned, it is GPL-2.0 in SPDX.
Then, MODULE_LICENSE() should be "GPL v2" instead of "GPL".
See ${LINUX}/include/linux/module.h

"GPL"           [GNU Public License v2 or later]
"GPL v2"        [GNU Public License v2]

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: ak4642: convert to SPDX identifiers
Kuninori Morimoto [Mon, 30 Jul 2018 07:51:41 +0000 (07:51 +0000)]
ASoC: ak4642: convert to SPDX identifiers

As original license mentioned, it is GPL-2.0 in SPDX.
Then, MODULE_LICENSE() should be "GPL v2" instead of "GPL".
See ${LINUX}/include/linux/module.h

"GPL"           [GNU Public License v2 or later]
"GPL v2"        [GNU Public License v2]

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoALSA: memalloc: Fix missing PAGE_SIZE definition
Takashi Iwai [Mon, 30 Jul 2018 06:46:40 +0000 (08:46 +0200)]
ALSA: memalloc: Fix missing PAGE_SIZE definition

The recent fix moved the inline snd_sgbuf_aligned_pages() outside the
ifdef, and this triggered a build error on some architectures due to
the undefined PAGE_SIZE, as spotted by 0day bot.
Fix it by adding the missing header inclusion.

Fixes: 4cae99d9b530 ("ALSA: memalloc: declare snd_sgbuf_aligned_pages() unconditionally")
Reported-by: kbuild test robot <lkp@intel.com>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: wm8988: fix typo in rate constraints
Ladislav Michl [Sat, 28 Jul 2018 12:30:17 +0000 (14:30 +0200)]
ASoC: wm8988: fix typo in rate constraints

Remove duplicated entry and add missing zero in rate constraints.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: tegra: i2s: Fix typo/broken macro
Edward Cragg [Fri, 27 Jul 2018 12:59:28 +0000 (13:59 +0100)]
ASoC: tegra: i2s: Fix typo/broken macro

Fix typo in macro TEGRA30_I2S_SLOT_CTRL_TOTAL_SLOTS_MASK.

Signed-off-by: Edward Cragg <edward.cragg@codethink.co.uk>
Signed-off-by: Jorge Sanjuan <jorge.sanjuan@codethink.co.uk>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: dmaengine: Use standard pcm_format_to_bits() macro
Takashi Iwai [Wed, 25 Jul 2018 21:17:22 +0000 (23:17 +0200)]
ASoC: dmaengine: Use standard pcm_format_to_bits() macro

The conversion from PCM format type to bits needs an explicit cast,
and it'll be uglier.  Since we have a standard macro for that, let's
use it instead.

This patch fixes the sparse warning:
  sound/soc/soc-generic-dmaengine-pcm.c:200:63: warning: restricted snd_pcm_format_t degrades to integer

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: pcm186x: Declare PCM format with snd_pcm_format_t
Takashi Iwai [Wed, 25 Jul 2018 21:17:21 +0000 (23:17 +0200)]
ASoC: pcm186x: Declare PCM format with snd_pcm_format_t

The PCM format type is with __bitwise, so we should use the dedicated
snd_pcm_format_t instead of int.

This fixes the sparse warning like:
  sound/soc/codecs/pcm186x.c:268:44: warning: incorrect type in initializer (different base types)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: fsl: Use snd_mask_set_format()
Takashi Iwai [Wed, 25 Jul 2018 21:17:20 +0000 (23:17 +0200)]
ASoC: fsl: Use snd_mask_set_format()

Use the new helper function snd_mask_set_format() for avoiding the
ugly cast with __force prefix.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: intel: Fix snd_pcm_format_t handling
Takashi Iwai [Wed, 25 Jul 2018 21:17:19 +0000 (23:17 +0200)]
ASoC: intel: Fix snd_pcm_format_t handling

As sparse warns, the PCM format type can't be dealt as integer as
found in Intel SST driver codes.

Fix them in the following two ways:

- The open code with snd_mask_set() and params->masks reference is
  replaced with params_set_format()

- The rest codes with snd_mask_set(fmt, SNDRV_PCM_FORMAT_XXX) are
  replaced with the new helper, snd_mask_set_format().

Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: doc: Replace open code with params_set_format()
Takashi Iwai [Wed, 25 Jul 2018 21:17:18 +0000 (23:17 +0200)]
ASoC: doc: Replace open code with params_set_format()

The example code in dpcm.rst contains an open code calling
snd_mask_set(), and this can be better represented with
params_set_format() instead.  This automatically fixes the sparse
warning about snd_pcm_format_t handling, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoALSA: pcm: Add snd_mask_set_format() helper for standard usages
Takashi Iwai [Wed, 25 Jul 2018 21:17:17 +0000 (23:17 +0200)]
ALSA: pcm: Add snd_mask_set_format() helper for standard usages

Many drivers calling snd_mask_set() need to do ugly cast with __force
for shutting up the sparse warnings.  Actually almost all of them are
about setting the format, so it's far better to provide a common
helper snd_mask_set_format() to pass SNDRV_PCM_FORMAT_* directly
without the cast.

There are a few other calls of snd_mask_set(), but they are in the PCM
core code, so we leave them for now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoMerge tag 'alsa-add-snd-sgbuf-aligned-pages' of https://git.kernel.org/pub/scm/linux...
Mark Brown [Thu, 26 Jul 2018 16:08:39 +0000 (17:08 +0100)]
Merge tag 'alsa-add-snd-sgbuf-aligned-pages' of https://git./linux/kernel/git/broonie/sound into asoc-4.19

ALSA: memalloc: declare snd_sgbuf_aligned_pages() unconditionally

Make this helper inline function available for all platforms. This
helps solve 0-day compilation issues when CONFIG_SND_DMA_SGBUF is not
defined.

5 years agoALSA: memalloc: declare snd_sgbuf_aligned_pages() unconditionally
Pierre-Louis Bossart [Wed, 25 Jul 2018 20:15:56 +0000 (15:15 -0500)]
ALSA: memalloc: declare snd_sgbuf_aligned_pages() unconditionally

Make this helper inline function available for all platforms. This
helps solve 0-day compilation issues when CONFIG_SND_DMA_SGBUF is not
defined.

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: dapm: Use int for format bit position
Takashi Iwai [Wed, 25 Jul 2018 20:43:26 +0000 (22:43 +0200)]
ASoC: dapm: Use int for format bit position

fmt in snd_soc_dai_link_event() contains the format bit position, not
the format bit itself.  Hence it can be a simple integer instead of
the explicit u64.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: dmaengine: Fix missing __user prefix in copy_user callback
Takashi Iwai [Wed, 25 Jul 2018 20:42:08 +0000 (22:42 +0200)]
ASoC: dmaengine: Fix missing __user prefix in copy_user callback

It seems that __user prefix was forgotten to be added to
dmaengine_copy_user callback while we refactored the user-copy PCM
core.

This patch adds the missing prefix, remove the superfluous cast, and
add the needed cast (__force is needed for downgrading from user
pointer to kernel pointer), too.

Spotted by a sparse warning like:
  sound/soc/soc-generic-dmaengine-pcm.c:397:27: warning: incorrect type in initializer (incompatible argument 4 (different address spaces))

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: zte: Fix incorrect PCM format bit usages
Takashi Iwai [Wed, 25 Jul 2018 20:40:49 +0000 (22:40 +0200)]
ASoC: zte: Fix incorrect PCM format bit usages

zx-tdm driver sets the DAI driver definitions with the format bits
wrongly set with SNDRV_PCM_FORMAT_*, instead of SNDRV_PCM_FMTBIT_*.

This patch corrects the definitions.

Spotted by a sparse warning:
  sound/soc/zte/zx-tdm.c:363:35: warning: restricted snd_pcm_format_t degrades to integer

Fixes: 870e0ddc4345 ("ASoC: zx-tdm: add zte's tdm controller driver")
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: rsnd: Document R-Car M3-N support
Hiroyuki Yokoyama [Wed, 25 Jul 2018 20:40:15 +0000 (05:40 +0900)]
ASoC: rsnd: Document R-Car M3-N support

Document support for the sound modules in the Renesas M3-N (r8a77965)
SoC.

No driver update is needed.

Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: meson: align axg card driver with DT bindings documentation
Jerome Brunet [Thu, 26 Jul 2018 12:45:44 +0000 (14:45 +0200)]
ASoC: meson: align axg card driver with DT bindings documentation

Drop amlogic prefix in front of the generic DT properties and change
property "name" to "model".

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: meson: update axg sound card bindings
Jerome Brunet [Thu, 26 Jul 2018 12:45:43 +0000 (14:45 +0200)]
ASoC: meson: update axg sound card bindings

Remove the amlogic prefix in front of the generic properties and change
the card 'name' property to 'model'

Suggested-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: meson: use IRQ_RETVAL in the fifo irq handler
Jerome Brunet [Thu, 26 Jul 2018 12:45:42 +0000 (14:45 +0200)]
ASoC: meson: use IRQ_RETVAL in the fifo irq handler

Use IRQ_RETVAL instead of the open coded ternary operation.

Suggested-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: AMD: Fix build warning
Akshu Agrawal [Thu, 26 Jul 2018 06:04:08 +0000 (14:04 +0800)]
ASoC: AMD: Fix build warning

Fixes
sound/soc/amd/acp-da7219-max98357a.c: In function 'cz_probe':
sound/soc/amd/acp-da7219-max98357a.c:367:3: warning: 'ret' may
be used uninitialized in this function [-Wmaybe-uninitialized]
   dev_err(&pdev->dev, "Failed to register regulator: %d\n",
ret);

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: AMD: Add a fix voltage regulator for DA7219 and ADAU7002
Akshu Agrawal [Wed, 25 Jul 2018 09:00:59 +0000 (17:00 +0800)]
ASoC: AMD: Add a fix voltage regulator for DA7219 and ADAU7002

DA7219 for our platform need to be configured for 1.8V.
Hence, we add a volatge regulator with supplies
of 1.8V in the machine driver.

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: Intel: Skylake: fix widget handling
Rakesh Ughreja [Wed, 25 Jul 2018 00:50:48 +0000 (19:50 -0500)]
ASoC: Intel: Skylake: fix widget handling

include DAPM Mux and output widgets into the list.

Signed-off-by: Rakesh Ughreja <rakesh.a.ughreja@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: Intel: Atom: fix inversion between __iowrite32 and __ioread32
Pierre-Louis Bossart [Tue, 24 Jul 2018 21:12:48 +0000 (16:12 -0500)]
ASoC: Intel: Atom: fix inversion between __iowrite32 and __ioread32

This looks like a copy/paste issue, but clearly there is an inversion
that is obvious when checking the arguments.

Detected with Sparse - now that we have fewer warnings this one was
easy to find.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: Intel: Atom: simplify iomem address and casts
Pierre-Louis Bossart [Tue, 24 Jul 2018 21:12:47 +0000 (16:12 -0500)]
ASoC: Intel: Atom: simplify iomem address and casts

Simplify code and add relevant casts to make Sparse warnings go away

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: Intel: common: make sst_dma functions static
Pierre-Louis Bossart [Tue, 24 Jul 2018 21:12:46 +0000 (16:12 -0500)]
ASoC: Intel: common: make sst_dma functions static

sst_dma_new and sst_dma_free are not used in any other file and don't
have a prototype. Move to static functions and remove
EXPORT_SYMBOL_GPL statement.

Reported by sparse warnings.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: Intel: Skylake: BDL definitions should be __le32
Pierre-Louis Bossart [Tue, 24 Jul 2018 21:12:45 +0000 (16:12 -0500)]
ASoC: Intel: Skylake: BDL definitions should be __le32

Make sure definitions are consistent with usage.
Detected with Sparse.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
5 years agoASoC: Intel: Haswell: fix endianness handling
Pierre-Louis Bossart [Tue, 24 Jul 2018 21:12:44 +0000 (16:12 -0500)]
ASoC: Intel: Haswell: fix endianness handling

Make all Sparse warnings go away by using le16/32_to_cpu.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>