Mark Brown [Tue, 25 May 2021 15:44:26 +0000 (16:44 +0100)]
Merge branch 'for-5.13' of https://git./linux/kernel/git/broonie/sound into asoc-5.14
Mark Brown [Mon, 24 May 2021 11:54:49 +0000 (12:54 +0100)]
Merge series "ASoC: rsnd: add D3 support" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
Hi Mark, Rob
These adds R-Car D3 support for rsnd driver.
[1/3] is tidyup patch for dt-bindings (not only for D3).
[2/3], [3/3] are for R-Car D3.
Kuninori Morimoto (3):
ASoC: dt-bindings: renesas: rsnd: tidyup properties
ASoC: rsnd: tidyup loop on rsnd_adg_clk_query()
ASoC: rsnd: add null CLOCKIN support
.../bindings/sound/renesas,rsnd.yaml | 10 ++++-
sound/soc/sh/rcar/adg.c | 37 ++++++++++++++++---
2 files changed, 41 insertions(+), 6 deletions(-)
--
2.25.1
Stephan Gerhold [Thu, 13 May 2021 10:41:29 +0000 (12:41 +0200)]
ASoC: codecs: Add driver for NXP/Goodix TFA989x (TFA1) amplifiers
NXP's TFA98xx (now part of Goodix) are fairly popular speaker amplifiers
used in many smartphones and tablets. Most of them are sold as "smart
amplifiers" with built-in "CoolFlux DSP" that is used for volume control,
plus a "sophisticated speaker-boost and protection algorithm".
Unfortunately, they are also almost entirely undocumented. The short
datasheets (e.g. [1] for TFA9897) describe the available features,
but do not provide any information about the registers or how to use
the "CoolFlux DSP".
The amplifiers are most often configured through proprietary userspace
libraries. There are also some (rather complex) kernel drivers (e.g. [2])
but even those rely on obscure firmware blobs for configuration (so-called
"containers"). They seem to contain different "profiles" with tuned speaker
settings, sample rates and volume steps (which would be better exposed
as separate ALSA mixers).
The format of the firmware files seems to have changed a lot over the time,
so it's not even possible to simply re-use the firmware originally provided
by the vendor.
Overall, it seems close to impossible to develop a proper mainline driver
for these amplifiers that could make proper use of the built-in DSP.
This commit implements a compromise: At least the TFA1 family of the
TFA98xx amplifiers (usually called TFA989x) provide a way to *bypass*
the DSP using a special register sequence. The register sequence can be
found in similar variations in the kernel drivers from lots of vendors
e.g. in [3] and was probably mainly used for factory testing.
With the DSP bypassed, the amplifier acts mostly like a dumb standard
speaker amplifier, without (hardware) volume control. However, the setup
is much simpler and it works without any obscure firmware.
This driver implements the DSP bypass combined with chip-specific
initialization sequences adapted from [2]. Only TFA9895 is supported in
this initial commit. Except for the lack of volume control I can not hear
any difference with or without the DSP, it works just fine.
This driver allows the speaker to work on mainline Linux running on the
Samsung Galaxy A3/A5 (2015) [TFA9895] and Alcatel Idol 3 [TFA9897].
TFA9897 support will be added in separate patch set later.
[1]: https://product.goodix.com/en/docview/TFA9897%20SDS_Rev.3.1?objectId=47&objectType=document&version=78
[2]: https://source.codeaurora.org/external/mas/tfa98xx
[3]: https://github.com/sonyxperiadev/kernel/blob/
57b5050e340f40a88e1ddb8d16fd9adb44418923/sound/soc/codecs/tfa98xx.c#L1422-L1462
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20210513104129.36583-2-stephan@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
Stephan Gerhold [Thu, 13 May 2021 10:41:28 +0000 (12:41 +0200)]
ASoC: dt-bindings: codecs: Add bindings for nxp, tfa989x
NXP/Goodix TFA989X (TFA1) amplifiers are controlled via an I2C bus.
Add simple device tree bindings that describe how to set them up
in the device tree.
Right now only nxp,tfa9895 is supported but this will be extended
to at least nxp,tfa9897 in the near future.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210513104129.36583-1-stephan@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Mon, 24 May 2021 06:12:14 +0000 (15:12 +0900)]
ASoC: rsnd: add null CLOCKIN support
Some Renesas SoC doesn't have full CLOCKIN.
This patch add null_clk, and accepts it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87tumsoe2p.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Mon, 24 May 2021 06:12:09 +0000 (15:12 +0900)]
ASoC: rsnd: tidyup loop on rsnd_adg_clk_query()
commit
06e8f5c842f2d ("ASoC: rsnd: don't call clk_get_rate() under
atomic context") used saved clk_rate, thus for_each_rsnd_clk()
is no longer needed. This patch fixes it.
Fixes:
06e8f5c842f2d ("ASoC: rsnd: don't call clk_get_rate() under atomic context")
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87v978oe2u.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Mon, 24 May 2021 06:12:04 +0000 (15:12 +0900)]
ASoC: dt-bindings: renesas: rsnd: tidyup properties
1) resets/reset-names needs minItems
2) It can use ports, not only port
3) It is not using audio-graph properties
Without this patch, we will get warnings
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87wnrooe2z.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kefeng Wang [Mon, 24 May 2021 02:49:41 +0000 (10:49 +0800)]
ASoC: core: Fix Null-point-dereference in fmt_single_name()
Check the return value of devm_kstrdup() in case of
Null-point-dereference.
Fixes:
45dd9943fce0 ("ASoC: core: remove artificial component and DAI name constraint")
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Link: https://lore.kernel.org/r/20210524024941.159952-1-wangkefeng.wang@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Vamshi Krishna Gopal [Fri, 21 May 2021 15:56:32 +0000 (18:56 +0300)]
ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload
Brya is another ADL-P product.
AlderLake has support for Bluetooth audio offload capability.
Enable the BT-offload quirk for ADL-P Brya and the Intel RVP.
Signed-off-by: Vamshi Krishna Gopal <vamshi.krishna.gopal@intel.com>
Signed-off-by: Yong Zhi <yong.zhi@intel.com>
Reviewed-by: Bard Liao <bard.liao@intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210521155632.3736393-2-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Vamshi Krishna Gopal [Fri, 21 May 2021 15:56:31 +0000 (18:56 +0300)]
ASoC: Intel: common: Add entries for sdw codecs in ADL match table
RT5682 and Max98373 are added with SDW0,SDW2 links respectively.
Signed-off-by: Vamshi Krishna Gopal <vamshi.krishna.gopal@intel.com>
Reviewed-by: Bard Liao <bard.liao@intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210521155632.3736393-1-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Peter Ujfalusi [Fri, 21 May 2021 09:28:04 +0000 (12:28 +0300)]
ASoC: SOF: Intel: hda: Remove conditions against CONFIG_PCI
The HDA support can only be compiled when SND_SOC_SOF_PCI is enabled which
depends on CONFIG_PCI.
This makes the IS_ENABLED(CONFIG_PCI) checks redundant in the code, they
will resolve to true all the time.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210521092804.3721324-8-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Fri, 21 May 2021 09:28:03 +0000 (12:28 +0300)]
ASoC: SOF: ops: don't return void value
Sparse throws the following warning:
sound/soc/sof/ops.h:247:17: error: returning void-valued expression
Remove the useless returns.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Paul Olaru <paul.olaru@oss.nxp.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210521092804.3721324-7-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Jaska Uimonen [Fri, 21 May 2021 09:28:02 +0000 (12:28 +0300)]
ASoC: SOF: topology: fix assignment to use le32_to_cpu
Fix sparse warning by using le32_to_cpu.
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210521092804.3721324-6-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Peter Ujfalusi [Fri, 21 May 2021 09:28:01 +0000 (12:28 +0300)]
ASoC: SOF: loader: Use snd_sof_dsp_block_read() instead sof_block_read()
SOF core should use the IO functions via callbacks and not directly to
ensure that it remains platform independent.
Fixes:
83ee7ab1627b7 ("ASoC: SOF: Intel: byt: Refactor fw ready / mem windows creation")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210521092804.3721324-5-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Keyon Jie [Fri, 21 May 2021 09:28:00 +0000 (12:28 +0300)]
ASoC: SOF: ops: print out the polling register
Print the register offset out to provide more useful information for the
register polling debugging.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210521092804.3721324-4-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Peter Ujfalusi [Fri, 21 May 2021 09:27:59 +0000 (12:27 +0300)]
ASoC: SOF: pci: No need to cast second time to save the desc
At the start of the function we already have the desc, no need to cast it
again from pci_id->driver_data to save it to sof_pdata.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210521092804.3721324-3-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Peter Ujfalusi [Fri, 21 May 2021 09:27:58 +0000 (12:27 +0300)]
ASoC: SOF: Check desc->ops directly in acpi/pci/of probe functions
We can check for the desc->ops directly in the probe functions, the ops
is not used directly in the functions.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210521092804.3721324-2-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Stephen Boyd [Thu, 20 May 2021 01:48:07 +0000 (18:48 -0700)]
ASoC: qcom: lpass-cpu: Use optional clk APIs
This driver spits out a warning for me at boot:
sc7180-lpass-cpu
62f00000.lpass: asoc_qcom_lpass_cpu_platform_probe() error getting optional null: -2
but it looks like it is all an optional clk. Use the optional clk APIs
here so that we don't see this message and everything else is the same.
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Cc: Banajit Goswami <bgoswami@codeaurora.org>
Fixes:
3e53ac8230c1 ("ASoC: qcom: make osr clock optional")
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20210520014807.3749797-1-swboyd@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Shengjiu Wang [Mon, 17 May 2021 10:31:28 +0000 (18:31 +0800)]
ASoC: imx-card: Add imx-card machine driver
Add machine driver for i.MX boards, which supports
AK4458/AK5558/AK4497/AK5552 DAC/ADC attached to
SAI interface currently, but these DAC/ADCs are not
only supported codecs. This machine driver is designed
to be a more common machine driver for i.MX platform,
it can support widely cpu dai interface and codec
dai interface.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Mihai Serban <mihai.serban@nxp.com>
Signed-off-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com>
Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
Link: https://lore.kernel.org/r/1621247488-21412-2-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Shengjiu Wang [Mon, 17 May 2021 10:31:27 +0000 (18:31 +0800)]
ASoC: dt-bindings: imx-card: Add binding doc for imx sound card
Imx-card is a new added machine driver for supporting
ak4458/ak5558/ak5552/ak4497 codec on i.MX platforms. But these
DAC/ADCs are not only supported codecs. This machine driver is
designed to be a more common machine driver for i.MX platform,
it can support widely cpu dai interface and codec dai interface.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/1621247488-21412-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Jaska Uimonen [Wed, 19 May 2021 10:07:13 +0000 (13:07 +0300)]
ASoC: topology: Fix using uninitialized pointer
The original patch changed kcontrol_type to a pointer. In some goto
cases the pointer is assigned into a struct member as uninitialized and
this will cause a runtime error with UBSan even if it isn't a real bug.
So initialize the pointer to NULL.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes:
d29d41e28eea ("ASoC: topology: Add support for multiple kcontrol types to a widget")
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210519100713.879958-1-jaska.uimonen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Dan Carpenter [Thu, 20 May 2021 05:08:24 +0000 (08:08 +0300)]
ASoC: cs35l33: fix an error code in probe()
This error path returns zero (success) but it should return -EINVAL.
Fixes:
3333cb7187b9 ("ASoC: cs35l33: Initial commit of the cs35l33 CODEC driver.")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/YKXuyGEzhPT35R3G@mwanda
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 19 May 2021 16:00:39 +0000 (17:00 +0100)]
Merge series "ASoC: meson: g12a-toacodec: add support for SM1" from Neil Armstrong <narmstrong@baylibre.com>:
This patchset adds Amlogic SM1 support on the TOACODEC driver, first by switching
to regmap fields for some bit fields to avoid code duplication, and then by adding
the corresponding bits & struct for the SM1 changed bits.
Changes since v2 at [2]:
- use raw values instead of defines in REG_FIELD() for g12a_toacodec_match_data
Changes since v1 at [1]:
- switch to regmap field
[1] https://lore.kernel.org/r/
20210429170147.3615883-1-narmstrong@baylibre.com
[2] https://lore.kernel.org/r/
20210505072607.3815442-1-narmstrong@baylibre.com
Neil Armstrong (2):
ASoC: meson: g12a-toacodec: use regmap fields to prepare SM1 support
ASoC: meson: g12a-toacodec: add support for SM1 TOACODEC
sound/soc/meson/g12a-toacodec.c | 143 +++++++++++++++++++++++++++-----
1 file changed, 124 insertions(+), 19 deletions(-)
--
2.25.1
Gyeongtaek Lee [Fri, 14 May 2021 12:30:51 +0000 (21:30 +0900)]
ASoC: soc-dai: fix up hw params only if it is needed
If fixed hw params won't be used, fixing up isn't needed also.
Signed-off-by: Gyeongtaek Lee <gt82.lee@samsung.com>
Link: https://lore.kernel.org/r/000401d748bc$fa466d50$eed347f0$@samsung.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Rafał Miłecki [Wed, 12 May 2021 20:59:26 +0000 (22:59 +0200)]
ASoC: wm8750: convert to the json-schema
This helps validating DTS files.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210512205926.780-1-zajec5@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Neil Armstrong [Tue, 11 May 2021 07:48:29 +0000 (09:48 +0200)]
ASoC: meson: g12a-toacodec: add support for SM1 TOACODEC
This adds support for the TOACODEC found in Amlogic SM1 SoCs.
The bits are shifted for more selection of clock sources, so this only
maps the same support for G12A to the SM1 bits.
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20210511074829.4110036-3-narmstrong@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Neil Armstrong [Tue, 11 May 2021 07:48:28 +0000 (09:48 +0200)]
ASoC: meson: g12a-toacodec: use regmap fields to prepare SM1 support
Switch usage to regmap field for bits handled by the g12a_toacodec_mux_put_enum()
function to avoid uselesss code duplication when adding SM1 variant support.
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20210511074829.4110036-2-narmstrong@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Ranjani Sridharan [Tue, 18 May 2021 17:41:21 +0000 (10:41 -0700)]
ASoC: SOF: Intel: hda: don't send DAI_CONFIG IPC for older firmware
BE hw_params op was recently added for SSP type DAIs.
But sending the DAI_CONFIG IPC during hw_params
is not supported with older firmware. So add an ABI check
to avoid sending the IPC if the firmware ABI is older than
3.18.
Fixes:
e12be9fbfb91 ('ASoC: SOF: Intel: HDA: add hw params callback for SSP DAIs')
Tested-by: Yong Zhi <yong.zhi@intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20210518174121.151601-1-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Yang Yingliang [Tue, 18 May 2021 04:45:14 +0000 (12:45 +0800)]
ASoC: hisilicon: fix missing clk_disable_unprepare() on error in hi6210_i2s_startup()
After calling clk_prepare_enable(), clk_disable_unprepare() need
be called when calling clk_set_rate() failed.
Fixes:
0bf750f4cbe1 ("ASoC: hisilicon: Add hi6210 i2s audio driver")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20210518044514.607010-1-yangyingliang@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
YueHaibing [Fri, 14 May 2021 08:11:00 +0000 (16:11 +0800)]
ASoC: soc-core: use DEVICE_ATTR_RO macro
Use DEVICE_ATTR_RO helper instead of plain DEVICE_ATTR,
which makes the code a bit shorter and easier to read.
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Link: https://lore.kernel.org/r/20210514081100.16196-1-yuehaibing@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Yang Yingliang [Tue, 18 May 2021 07:58:47 +0000 (15:58 +0800)]
ASoC: rk3328: fix missing clk_disable_unprepare() on error in rk3328_platform_probe()
Fix the missing clk_disable_unprepare() before return
from rk3328_platform_probe() in the error handling case.
Fixes:
c32759035ad2 ("ASoC: rockchip: support ACODEC for rk3328")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20210518075847.1116983-1-yangyingliang@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Arnd Bergmann [Fri, 14 May 2021 21:31:14 +0000 (23:31 +0200)]
ASoC: fsl: fix SND_SOC_IMX_RPMSG dependency
Kconfig produces a warning with SND_SOC_FSL_RPMSG=y and SND_IMX_SOC=m:
WARNING: unmet direct dependencies detected for SND_SOC_IMX_RPMSG
Depends on [m]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_IMX_SOC [=m] && RPMSG [=y]
Selected by [y]:
- SND_SOC_FSL_RPMSG [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && COMMON_CLK [=y] && RPMSG [=y] && SND_IMX_SOC [=m]!=n
Add a dependency to prevent this configuration.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com>
Link: https://lore.kernel.org/r/20210514213118.630427-1-arnd@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Jaska Uimonen [Fri, 7 May 2021 07:02:46 +0000 (10:02 +0300)]
ASoC: topology: Add support for multiple kcontrol types to a widget
Current dapm widget has a single variable to describe its kcontrol's
type. As there can be many kcontrols in one widget it is inherently
presumed that the types are the same.
Lately there has been use cases where different types of kcontrols would
be needed for a single widget. Thus add pointer to dapm widget to hold
an array for different kcontrol types and modify the kcontrol creation
to operate in a loop based on individual kcontrol type.
Change control creation and deletion to use individual kcontrol types in
SOF driver. This is done in the same patch for not breaking bisect. SOF
driver is also currently the only one using the dapm widget
kcontrol_type.
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20210507070246.404446-1-jaska.uimonen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Zou Wei [Wed, 12 May 2021 03:54:07 +0000 (11:54 +0800)]
ASoC: intel/boards: add missing MODULE_DEVICE_TABLE
This patch adds missing MODULE_DEVICE_TABLE definition which generates
correct modalias for automatic loading of this driver when it is built
as an external module.
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Zou Wei <zou_wei@huawei.com>
Link: https://lore.kernel.org/r/1620791647-16024-1-git-send-email-zou_wei@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 12 May 2021 15:22:59 +0000 (16:22 +0100)]
Merge series "ASoC: SOF/Intel: fix and remove Sparse warnings" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
We updated our SOF CI settings last week (see below) to use more options
for Sparse, and sure enough it detected one nasty single-character bug
in one of my previous patches, along with more trivial issues with
string/integer sizes and signed/unsigned confusions.
export ARCH=x86_64
export CF="-Wsparse-error -Wsparse-all -Wno-bitwise-pointer -Wno-pointer-arith -Wno-typesign -Wnoshadow"
make -k sound/soc/sof/ C=2
make -k sound/soc/intel/common/ C=2
make -k sound/soc/intel/boards/ C=2
make -k drivers/soundwire/ C=2
Pierre-Louis Bossart (9):
ASoC: SOF: Intel: hda: fix index used in inner loop
ASoC: Intel: sof_rt5682: shrink platform_id names below 20 characters
ASoC: Intel: sof_cs42l42: shrink platform id below 20 characters
ASoC: Intel: bxt_da7219_max98357a: shrink platform_id below 20
characters
ASoC: Intel: glk_rt5682_max98357a: shrink platform_id below 20
characters
ASoC: Intel: kbl_da7219_max98357a: shrink platform_id below 20
characters
ASoC: Intel: sof_da7219_max98373: shrink platform_id below 20
characters
ASoC: Intel: sof_sdw: fix signed/unsigned warning
ASoC: Intel: soc-acpi: add ull suffix for SoundWire _ADR values
sound/soc/intel/boards/bxt_da7219_max98357a.c | 12 +++---
sound/soc/intel/boards/glk_rt5682_max98357a.c | 4 +-
sound/soc/intel/boards/kbl_da7219_max98357a.c | 4 +-
sound/soc/intel/boards/sof_cs42l42.c | 2 +-
sound/soc/intel/boards/sof_da7219_max98373.c | 8 ++--
sound/soc/intel/boards/sof_rt5682.c | 20 +++++-----
sound/soc/intel/boards/sof_sdw.c | 2 +-
.../intel/common/soc-acpi-intel-adl-match.c | 28 +++++++-------
.../intel/common/soc-acpi-intel-bxt-match.c | 2 +-
.../intel/common/soc-acpi-intel-cml-match.c | 22 +++++------
.../intel/common/soc-acpi-intel-cnl-match.c | 2 +-
.../intel/common/soc-acpi-intel-glk-match.c | 6 +--
.../intel/common/soc-acpi-intel-icl-match.c | 12 +++---
.../intel/common/soc-acpi-intel-jsl-match.c | 6 +--
.../intel/common/soc-acpi-intel-kbl-match.c | 2 +-
.../intel/common/soc-acpi-intel-tgl-match.c | 38 +++++++++----------
sound/soc/sof/intel/hda.c | 2 +-
17 files changed, 86 insertions(+), 86 deletions(-)
--
2.25.1
Vitaly Rodionov [Tue, 11 May 2021 14:52:20 +0000 (15:52 +0100)]
ASoC: cs42l42: make HSBIAS_SENSE_EN optional
HSBIAS_SENSE_EN configures HSBIAS output current sense through
the external 2.21-k resistor. HSBIAS_SENSE is hardware feature to reduce
the potential pop noise during the headset plug out slowly. But on some
platforms ESD voltage will affect it causing test to fail, especially
with CTIA headset type. For different hardware setups, a designer might
want to tweak default behavior.
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210511145220.125760-1-vitalyr@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Nathan Chancellor [Tue, 11 May 2021 19:03:06 +0000 (12:03 -0700)]
ASoC: q6dsp: Undo buggy warning fix
This reverts commit
5f1b95d08de712327e452d082a50fded435ec884.
The warnings that commit
5f1b95d08de7 ("ASoC: q6dsp: q6afe: remove
unneeded dead-store initialization") was trying to fix were already
fixed in commit
12900bacb4f3 ("ASoC: qcom: q6afe: remove useless
assignments"). With both commits in the tree, port_id is uninitialized,
as pointed out by clang:
sound/soc/qcom/qdsp6/q6afe.c:1213:18: warning: variable 'port_id' is
uninitialized when used here [-Wuninitialized]
stop->port_id = port_id;
^~~~~~~
sound/soc/qcom/qdsp6/q6afe.c:1186:13: note: initialize the variable
'port_id' to silence this warning
int port_id;
^
= 0
1 warning generated.
Bring back the initialization so that everything works as intended.
Fixes:
5f1b95d08de7 ("ASoC: q6dsp: q6afe: remove unneeded dead-store initialization")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Link: https://lore.kernel.org/r/20210511190306.2418917-1-nathan@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Simon Trimmer [Tue, 11 May 2021 17:15:14 +0000 (18:15 +0100)]
ASoC: wm2200: remove include of wmfw.h
We want all wm_adsp clients to use the wm_adsp.h header as they
shouldn't need to include internal sub-headers.
Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210511171514.270219-1-simont@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Simon Trimmer [Tue, 11 May 2021 17:14:59 +0000 (18:14 +0100)]
ASoC: wm_adsp: mark more data structures with the const qualifier
The callback structures and memory region type table can be marked as
const as they will not change during use.
Fix checkpatch warning against wm_adsp_find_region function by moving
const keyword to form the 'static const struct' pattern.
Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210511171459.270169-1-simont@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Tue, 11 May 2021 21:37:02 +0000 (16:37 -0500)]
ASoC: Intel: bxt_da7219_max98357a: shrink platform_id below 20 characters
Sparse throwns the following warnings:
sound/soc/intel/boards/bxt_da7219_max98357a.c:843:19: error: too long
initializer-string for array of char(no space for nul char)
sound/soc/intel/boards/bxt_da7219_max98357a.c:844:19: error: too long
initializer-string for array of char(no space for nul char)
sound/soc/intel/boards/bxt_da7219_max98357a.c:845:19: error: too long
initializer-string for array of char(no space for nul char)
Fix by using the 'mx' acronyn for Maxim
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Paul Olaru <paul.olaru@oss.nxp.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Link: https://lore.kernel.org/r/20210511213707.32958-5-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Tue, 11 May 2021 21:37:01 +0000 (16:37 -0500)]
ASoC: Intel: sof_cs42l42: shrink platform id below 20 characters
The platform_id is too long and is flagged by a sparse warning:
sound/soc/intel/boards/sof_cs42l42.c:483:25: error: too long
initializer-string for array of char(no space for nul char)
fix by using the 'mx' acronym for Maxim
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Paul Olaru <paul.olaru@oss.nxp.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Link: https://lore.kernel.org/r/20210511213707.32958-4-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Tue, 11 May 2021 21:36:59 +0000 (16:36 -0500)]
ASoC: SOF: Intel: hda: fix index used in inner loop
With more warnings than the default, Sparse throws the following
warning:
sound/soc/sof/intel/hda.c:1127:49: error: self-comparison always
evaluates to true
sound/soc/sof/intel/hda.c:1128:49: error: self-comparison always
evaluates to true
sound/soc/sof/intel/hda.c:1129:48: error: self-comparison always
evaluates to true
This looks like an obvious error, with a likely copy-pasted line
leading to the use of the wrong index in an inner loop. One of the
worst single-character bugs in a long time.
This problem was not detected in our tests since in practice SoundWire
platforms only have identical devices per link and the index mistake
did not change the results.
Fixes: 6f5d506d7ff1dq ('ASoC: SOF: Intel: SoundWire: refine ACPI match')
Reviewed-by: Paul Olaru <paul.olaru@oss.nxp.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210511213707.32958-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Tue, 11 May 2021 17:57:18 +0000 (18:57 +0100)]
ASoC: cs42l52: Minor tidy up of error paths
Fixup a needlessly initialised variable and an unchecked return
value.
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210511175718.15416-5-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Tue, 11 May 2021 17:57:17 +0000 (18:57 +0100)]
ASoC: cs35l32: Add missing regmap use_single config
This device requires single register transactions, this will
definely cause problems with the new device ID parsing which uses
regmap_bulk_read but might also show up in the cache sync sometimes.
Add the missing flags to the regmap_config.
Fixes:
283160f1419d ("ASoC: cs35l32: Minor error paths fixups")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210511175718.15416-4-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Tue, 11 May 2021 17:57:16 +0000 (18:57 +0100)]
ASoC: cs35l34: Add missing regmap use_single config
This device requires single register transactions, this will
definely cause problems with the new device ID parsing which uses
regmap_bulk_read but might also show up in the cache sync sometimes.
Add the missing flags to the regmap_config.
Fixes:
8cb9b001635c ("ASoC: cs35l34: Minor error paths fixups")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210511175718.15416-3-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Tue, 11 May 2021 17:57:15 +0000 (18:57 +0100)]
ASoC: cs42l73: Add missing regmap use_single config
This device requires single register transactions, this will
definely cause problems with the new device ID parsing which uses
regmap_bulk_read but might also show up in the cache sync sometimes.
Add the missing flags to the regmap_config.
Fixes:
26495252fe0d ("ASoC: cs42l73: Minor error paths fixups")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210511175718.15416-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Tue, 11 May 2021 17:57:14 +0000 (18:57 +0100)]
ASoC: cs53l30: Add missing regmap use_single config
This device requires single register transactions, this will
definely cause problems with the new device ID parsing which
uses regmap_bulk_read but might also show up in the cache sync
sometimes. Add the missing flags to the regmap_config.
Fixes:
4fc81bc88ad9 ("ASoC: cs53l30: Minor error paths fixups")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210511175718.15416-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Zou Wei [Wed, 12 May 2021 03:12:25 +0000 (11:12 +0800)]
ASoC: sti-sas: add missing MODULE_DEVICE_TABLE
This patch adds missing MODULE_DEVICE_TABLE definition which generates
correct modalias for automatic loading of this driver when it is built
as an external module.
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Zou Wei <zou_wei@huawei.com>
Link: https://lore.kernel.org/r/1620789145-14936-1-git-send-email-zou_wei@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Tue, 11 May 2021 23:09:08 +0000 (08:09 +0900)]
ASoC: soc-dai.h: Align the word of comment for SND_SOC_DAIFMT_CBC_CFC
Let's use "consumer" instead of "follower".
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/8735usc1gr.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 11 May 2021 18:16:13 +0000 (19:16 +0100)]
Merge series "ASoC: simple-card / audio-graph re-cleanup" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
Hi Mark, Guillaume
I'm so sorry to bother you again and again.
These are v2 of simple-card / audio-graph re-cleanup.
KernelCI had reported that below patches broke kontron-sl28-var3-ads2
sound card probing.
434392271afcff350fe "ASoC: simple-card: add simple_link_init()"
59c35c44a9cf89a83a9 "ASoC: simple-card: add simple_parse_node()"
Main issue I'm understanding is name create timing.
We want to create dailink->name via dlc->dai_name.
But in CPU case, this dai_name might be removed by asoc_simple_canonicalize_cpu()
if it CPU was single DAI.
Thus, we need to
A) get dlc->dai_name
B) create dailink->name via dlc->dai_name
C) call asoc_simple_canonicalize_cpu()
Above reverted patch did A->C->B.
My previous v1 patch did B->A->C.
I'm so sorry that I didn't deep test on v1.
I hope v2 patches has no issues on kontron-sl28-var3-ads2.
Link: https://lore.kernel.org/r/87cztzcq56.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/87h7k0i437.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/20210423175318.13990-1-broonie@kernel.org
Link: https://lore.kernel.org/r/3ca62063-41b4-c25b-a7bc-8a8160e7b684@collabora.com
Kuninori Morimoto (4):
ASoC: simple-card: add simple_parse_node()
ASoC: simple-card: add simple_link_init()
ASoC: audio-graph: tidyup graph_dai_link_of_dpcm()
ASoC: audio-graph: tidyup graph_parse_node()
sound/soc/generic/audio-graph-card.c | 57 ++++-----
sound/soc/generic/simple-card.c | 168 +++++++++++++--------------
2 files changed, 112 insertions(+), 113 deletions(-)
--
2.25.1
Richard Fitzgerald [Tue, 11 May 2021 13:28:55 +0000 (14:28 +0100)]
ASoC: cs42l42: Regmap must use_single_read/write
cs42l42 does not support standard burst transfers so the use_single_read
and use_single_write flags must be set in the regmap config.
Because of this bug, the patch:
commit
0a0eb567e1d4 ("ASoC: cs42l42: Minor error paths fixups")
broke cs42l42 probe() because without the use_single_* flags it causes
regmap to issue a burst read.
However, the missing use_single_* could cause problems anyway because the
regmap cache can attempt burst transfers if these flags are not set.
Fixes:
2c394ca79604 ("ASoC: Add support for CS42L42 codec")
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210511132855.27159-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Tue, 11 May 2021 01:18:48 +0000 (10:18 +0900)]
ASoC: audio-graph: tidyup graph_parse_node()
audio-graph is using cpus->dai_name / codecs->dai_name for
dailink->name.
In graph_parse_node(), xxx->dai_name is got by
snd_soc_get_dai_name(), but it might be removed soon by
asoc_simple_canonicalize_cpu().
The order should be
*1) call snd_soc_get_dai_name()
2) create dailink name
*3) call asoc_simple_canonicalize_cpu()
* are implemented in graph_parse_node().
This patch remove 3) from graph_parse_node()
Reported-by: "kernelci.org bot" <bot@kernelci.org>
Fixes:
8859f809c7d5813 ("ASoC: audio-graph: add graph_parse_node()")
Fixes:
e51237b8d305225 ("ASoC: audio-graph: add graph_link_init()")
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Michael Walle <michael@walle.cc>
Link: https://lore.kernel.org/r/87cztyawzr.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Tue, 11 May 2021 01:17:57 +0000 (10:17 +0900)]
ASoC: audio-graph: tidyup graph_dai_link_of_dpcm()
Use local variable at local area only.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Michael Walle <michael@walle.cc>
Link: https://lore.kernel.org/r/87eeeeax16.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Tue, 11 May 2021 10:10:51 +0000 (11:10 +0100)]
ASoC: cs42l52: Minor tidy up of error paths
Fixup a needlessly initialised variable and an unchecked return
value.
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210511101051.17726-3-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Tue, 11 May 2021 10:10:50 +0000 (11:10 +0100)]
ASoC: cs4265: Minor tidy up of error paths
Fixup a needlessly initialised variable and an unchecked return value.
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210511101051.17726-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Tue, 11 May 2021 10:10:49 +0000 (11:10 +0100)]
ASoC: cs35l36: Remove unneeded variable initialisation
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210511101051.17726-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Hans de Goede [Sat, 8 May 2021 15:01:46 +0000 (17:01 +0200)]
ASoC: Intel: bytcr_rt5640: Add quirk for the Lenovo Miix 3-830 tablet
The Lenovo Miix 3-830 tablet has only 1 speaker, has an internal analog
mic on IN1 and uses JD2 for jack-detect, add a quirk to automatically
apply these settings on Lenovo Miix 3-830 tablets.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20210508150146.28403-2-hdegoede@redhat.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Hans de Goede [Sat, 8 May 2021 15:01:45 +0000 (17:01 +0200)]
ASoC: Intel: bytcr_rt5640: Add quirk for the Glavey TM800A550L tablet
Add a quirk for the Glavey TM800A550L tablet, this BYTCR tablet has no CHAN
package in its ACPI tables and uses SSP0-AIF1 rather then SSP0-AIF2 which
is the default for BYTCR devices.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210508150146.28403-1-hdegoede@redhat.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Tue, 11 May 2021 01:17:47 +0000 (10:17 +0900)]
ASoC: simple-card: add simple_link_init()
Original commit
434392271afcff350fe ("ASoC: simple-card: add
simple_link_init()") are rejected, and this is remake version of it.
This patch adds simple_link_init() and share dai_link setting code.
Reported-by: "kernelci.org bot" <bot@kernelci.org>
Fixes:
25c4a9b614f101bb9f3 ("ASoC: simple-card: Fix breakage on kontron-sl28-var3-ads2")
Fixes:
434392271afcff350fe ("ASoC: simple-card: add simple_link_init()")
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Michael Walle <michael@walle.cc>
Link: https://lore.kernel.org/r/87fsyuax1g.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Tue, 11 May 2021 01:17:07 +0000 (10:17 +0900)]
ASoC: simple-card: add simple_parse_node()
Original commit
59c35c44a9cf89a83a9 ("ASoC: simple-card: add
simple_parse_node()") was reverted, and this is remake version.
Parse dai/tdm/clk are common for both CPU/Codec node.
This patch creates simple_parse_node() for it and share the code.
Reported-by: "kernelci.org bot" <bot@kernelci.org>
Fixes:
25c4a9b614f101bb9f3 ("ASoC: simple-card: Fix breakage on kontron-sl28-var3-ads2")
Fixes:
59c35c44a9cf89a83a9 ("ASoC: simple-card: add simple_parse_node()")
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Michael Walle <michael@walle.cc>
Link: https://lore.kernel.org/r/87h7jaax2k.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 11 May 2021 08:06:03 +0000 (09:06 +0100)]
Merge series "PinePhone BT audio bringup" from Samuel Holland <samuel@sholland.org>:
This series uses the additional DAIs added to the sun8i-codec driver to
add hardware routing for BT SCO (headset) audio on the PinePhone.
The BT audio connection is represented by the "dummy" bt-sco codec. The
connection to the Quectel EG-25G modem via AIF2 works as well, but I do
not include it here because there is no appropriate codec driver in
tree. We have been using an out-of-tree "dummy" codec driver for the
modem similar to bt-sco, and I'm not sure if such a driver would be
desired upstream.
Changes from v2:
- Also accept #sound-dai-cells in the binding. Since dt-core.yaml
already sets the type of this property, it is not possible to use
oneOf, nor make a specific value deprecated.
Changes from v1:
- Fixed DT binding example to follow new binding
Arnaud Ferraris (1):
arm64: dts: allwinner: pinephone: Set audio card name
Samuel Holland (6):
ASoC: dt-bindings: sun8i-codec: Increase #sound-dai-cells
ARM: dts: sun8i-a33: Allow using multiple codec DAIs
arm64: dts: allwinner: a64: Allow using multiple codec DAIs
arm64: dts: allwinner: a64: Add pinmux nodes for AIF2/AIF3
arm64: dts: allwinner: a64: Allow multiple DAI links
arm64: dts: allwinner: pinephone: Add support for Bluetooth audio
.../sound/allwinner,sun8i-a33-codec.yaml | 8 +++-
arch/arm/boot/dts/sun8i-a33.dtsi | 4 +-
.../dts/allwinner/sun50i-a64-pinephone.dtsi | 25 +++++++++++++
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 37 ++++++++++++++-----
4 files changed, 60 insertions(+), 14 deletions(-)
--
2.26.3
Mark Brown [Tue, 11 May 2021 08:06:01 +0000 (09:06 +0100)]
Merge series "Tidy up device ID reading on legacy Cirrus parts" from Charles Keepax <ckeepax@opensource.cirrus.com>:
Pierre requested I have a look at some cppcheck warnings in the cs42l42
driver, since it is reassigning the ret variable without ever checking
the result. Looking a bit more broadly this happens in quite a few
legacy Cirrus parts, as they all use the same process to read the ID,
factor out a small helper so they can all share the same code. Whilst
in there fix up a couple of other trivial error path issues as well.
Thanks,
Charles
Charles Keepax (10):
ASoC: cirrus: Add helper function for reading the device ID
ASoC: cs35l32: Minor error paths fixups
ASoC: cs35l33: Minor error paths fixups
ASoC: cs35l34: Minor error paths fixups
ASoC: cs35l35: Minor error paths fixups
ASoC: cs35l35: Correct errata handling
ASoC: cs42l42: Minor error paths fixups
ASoC: cs42l73: Minor error paths fixups
ASoC: cs43130: Minor error paths fixups
ASoC: cs53l30: Minor error paths fixups
sound/soc/codecs/cirrus_legacy.h | 21 +++++++++++++++++++++
sound/soc/codecs/cs35l32.c | 34 ++++++++++++++++++----------------
sound/soc/codecs/cs35l33.c | 15 +++++++++------
sound/soc/codecs/cs35l34.c | 39 ++++++++++++++++++++++-----------------
sound/soc/codecs/cs35l35.c | 21 ++++++++++-----------
sound/soc/codecs/cs35l35.h | 1 +
sound/soc/codecs/cs42l42.c | 18 ++++++++----------
sound/soc/codecs/cs42l73.c | 30 +++++++++++++++++-------------
sound/soc/codecs/cs43130.c | 31 +++++++++++++++++++------------
sound/soc/codecs/cs53l30.c | 22 +++++++++++-----------
10 files changed, 136 insertions(+), 96 deletions(-)
create mode 100644 sound/soc/codecs/cirrus_legacy.h
--
2.11.0
Mark Brown [Tue, 11 May 2021 08:06:00 +0000 (09:06 +0100)]
Merge series "ASoC: cppcheck fixes of the week" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
While running some checks on a rebased branch, I realized I missed a
couple of trivial cases on newer code.
Pierre-Louis Bossart (4):
ASoC: codecs: mt6359-accdet: remove useless initialization
ASoc: codecs: mt6359: remove useless initializations
ASoC: codecs: rt1019: clarify expression
ASoC: fsl: imx-pcm-rpmsg: remove useless initialization
sound/soc/codecs/mt6359-accdet.c | 2 +-
sound/soc/codecs/mt6359.c | 2 +-
sound/soc/codecs/rt1019.c | 4 ++--
sound/soc/fsl/imx-pcm-rpmsg.c | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
--
2.25.1
Mark Brown [Tue, 11 May 2021 08:05:59 +0000 (09:05 +0100)]
Merge series "ASoC: SOF: Intel: split Baytrail and Merrifield" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
We've had recurring randconfig issues with the two platforms relying
on ACPI and PCI. I think it's time to split the two and introduce a
common 'atom' module, so that dependencies are better handled.
I chose not to add a Fixes tag since the changes are rather invasive,
and the randconfig issues only happen in non-functional cases.
There should be no functional changes with this patchset, only code
moved and renamed.
Pierre-Louis Bossart (2):
ASoC: SOF: Intel: byt: prepare split between Baytrail and Merrifield
ASoC: SOF: Intel: move common ATOM stuff to module
sound/soc/sof/intel/Makefile | 5 +-
sound/soc/sof/intel/atom.c | 463 ++++++++++++++++++++
sound/soc/sof/intel/atom.h | 74 ++++
sound/soc/sof/intel/byt.c | 768 ++++------------------------------
sound/soc/sof/intel/pci-tng.c | 171 +++++++-
5 files changed, 783 insertions(+), 698 deletions(-)
create mode 100644 sound/soc/sof/intel/atom.c
create mode 100644 sound/soc/sof/intel/atom.h
--
2.25.1
Mark Brown [Tue, 11 May 2021 08:05:58 +0000 (09:05 +0100)]
Merge series "ASoC: Intel: machine driver updates for 5.14" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
Some of the patches in this series for TigerLake and AlderLake
SoundWire/Bluetooth support were missed in a previous submission,
resend them as is, and add new patches for the CS42L42 machine driver.
Brent Lu (3):
ASoC: Intel: maxim-common: support max98357a
ASoC: Intel: add sof-cs42l42 machine driver
ASoC: Intel: sof_rt5682: code refactor for max98357a
Libin Yang (1):
ASoC: Intel: sof_sdw: add SOF_RT715_DAI_ID_FIX for AlderLake
Pierre-Louis Bossart (4):
ASoC: Intel: sof_sdw: add mutual exclusion between PCH DMIC and RT715
ASoC: Intel: boards: handle hda-dsp-common as a module
ASoC: Intel: boards: create sof-maxim-common module
ASoC: Intel: boards: remove .nonatomic for BE dailinks
Vamshi Krishna Gopal (2):
ASoC: Intel: soc-acpi: add entries for i2s machines in ADL match table
ASoC: Intel: boards: add support for adl boards in sof-rt5682
Yong Zhi (3):
ASoC: Intel: Boards: tgl_max98373: Add BT offload support
ASoC: Intel: sof_sdw: add support for Bluetooth offload
ASoC: Intel: sof_rt5682: Enable Bluetooth offload on tgl and adl
sound/soc/intel/boards/Kconfig | 36 +-
sound/soc/intel/boards/Makefile | 30 +-
sound/soc/intel/boards/bxt_da7219_max98357a.c | 1 +
sound/soc/intel/boards/bxt_rt298.c | 1 +
sound/soc/intel/boards/bytcht_cx2072x.c | 1 -
sound/soc/intel/boards/bytcht_da7213.c | 1 -
sound/soc/intel/boards/bytcht_es8316.c | 1 -
sound/soc/intel/boards/bytcht_nocodec.c | 1 -
sound/soc/intel/boards/bytcr_rt5640.c | 1 -
sound/soc/intel/boards/bytcr_rt5651.c | 1 -
sound/soc/intel/boards/bytcr_wm5102.c | 1 -
sound/soc/intel/boards/cht_bsw_rt5645.c | 1 -
sound/soc/intel/boards/cht_bsw_rt5672.c | 1 -
sound/soc/intel/boards/cml_rt1011_rt5682.c | 1 +
sound/soc/intel/boards/ehl_rt5660.c | 2 +-
sound/soc/intel/boards/glk_rt5682_max98357a.c | 1 +
sound/soc/intel/boards/hda_dsp_common.c | 5 +
sound/soc/intel/boards/skl_hda_dsp_generic.c | 1 +
sound/soc/intel/boards/sof_cs42l42.c | 509 ++++++++++++++++++
sound/soc/intel/boards/sof_da7219_max98373.c | 1 +
sound/soc/intel/boards/sof_maxim_common.c | 84 ++-
sound/soc/intel/boards/sof_maxim_common.h | 14 +-
sound/soc/intel/boards/sof_pcm512x.c | 2 +-
sound/soc/intel/boards/sof_rt5682.c | 119 +++-
sound/soc/intel/boards/sof_sdw.c | 55 +-
sound/soc/intel/boards/sof_sdw_common.h | 8 +
sound/soc/intel/boards/sof_sdw_max98373.c | 4 +-
sound/soc/intel/boards/sof_wm8804.c | 1 -
.../intel/common/soc-acpi-intel-adl-match.c | 26 +
.../intel/common/soc-acpi-intel-glk-match.c | 10 +
30 files changed, 861 insertions(+), 59 deletions(-)
create mode 100644 sound/soc/intel/boards/sof_cs42l42.c
--
2.25.1
Charles Keepax [Mon, 10 May 2021 13:13:57 +0000 (14:13 +0100)]
ASoC: cs53l30: Minor error paths fixups
Correct some unchecked re-allocations of ret whilst reading the device
ID and ensure the hardware state is returned to off on the error
paths.
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210510131357.17170-11-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Mon, 10 May 2021 13:13:56 +0000 (14:13 +0100)]
ASoC: cs43130: Minor error paths fixups
Correct some unchecked re-allocations of ret whilst reading the device
ID and ensure the hardware state is returned to off on the error
paths.
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210510131357.17170-10-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Mon, 10 May 2021 13:13:55 +0000 (14:13 +0100)]
ASoC: cs42l73: Minor error paths fixups
Correct some unchecked re-allocations of ret whilst reading the device
ID and ensure the hardware state is returned to off on the error
paths.
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210510131357.17170-9-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Mon, 10 May 2021 13:13:54 +0000 (14:13 +0100)]
ASoC: cs42l42: Minor error paths fixups
Correct some unchecked re-allocations of ret whilst reading the device
ID and ensure the hardware state is returned to off on the error
paths.
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210510131357.17170-8-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Mon, 10 May 2021 13:13:53 +0000 (14:13 +0100)]
ASoC: cs35l35: Correct errata handling
Currently the check of errata_chk will always evaluate to false since
the values tested don't come under the mask used. A shift of the field
is missing, add this. Also there is an error in the values tested, they
don't match the comment and the value 0x3 is not a valid value for the
field in question. Update the value to match the comment.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210510131357.17170-7-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Mon, 10 May 2021 13:13:52 +0000 (14:13 +0100)]
ASoC: cs35l35: Minor error paths fixups
Correct some unchecked re-allocations of ret whilst reading the device
ID and ensure the hardware state is returned to off on the error
paths.
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210510131357.17170-6-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Mon, 10 May 2021 13:13:51 +0000 (14:13 +0100)]
ASoC: cs35l34: Minor error paths fixups
Correct some unchecked re-allocations of ret whilst reading the device
ID and ensure the hardware state is returned to off on the error
paths.
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210510131357.17170-5-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Mon, 10 May 2021 13:13:50 +0000 (14:13 +0100)]
ASoC: cs35l33: Minor error paths fixups
Correct some unchecked re-allocations of ret whilst reading the device
ID and ensure the hardware state is returned to off on the error
paths.
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210510131357.17170-4-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Mon, 10 May 2021 13:13:49 +0000 (14:13 +0100)]
ASoC: cs35l32: Minor error paths fixups
Correct some unchecked re-allocations of ret whilst reading the device
ID and ensure the hardware state is returned to off on the error
paths.
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210510131357.17170-3-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Mon, 10 May 2021 13:13:48 +0000 (14:13 +0100)]
ASoC: cirrus: Add helper function for reading the device ID
Many of the older Cirrus devices share very similar code for reading the
device ID, and frequently this code is generating cppcheck warnings such
as:
sound/soc/codecs/cs42l42.c:1886:6: style: Variable 'ret' is reassigned
a value before the old one has been used. [redundantAssignment]
ret = regmap_read(cs42l42->regmap, CS42L42_DEVID_CD, ®);
Add a small helper function that older Cirrus devices can use to read
the device ID, which should help correct these issues.
Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210510131357.17170-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Derek Fang [Mon, 3 May 2021 03:17:32 +0000 (11:17 +0800)]
ASoC: rt1019: Add non_legacy_dai_naming config
Register the codec dai name as 'rt1019-aif' by adding
non_legacy_dai_naming configuration.
Signed-off-by: Derek Fang <derek.fang@realtek.com>
Link: https://lore.kernel.org/r/20210503031732.22035-1-derek.fang@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Vitaly Rodionov [Mon, 26 Apr 2021 15:53:03 +0000 (16:53 +0100)]
ASoC: cs42l42: Add support for ACPI table match entry
Adding support for ACPI-based systems.
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210426155303.853236-3-tanureal@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Richard Fitzgerald [Mon, 26 Apr 2021 15:53:02 +0000 (16:53 +0100)]
ASoC: cs42l42: Use device_property API instead of of_property
Use the device_property APIs so that the code will work on devicetree
and ACPI systems.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210426155303.853236-2-tanureal@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Lucas Tanure [Mon, 26 Apr 2021 15:53:01 +0000 (16:53 +0100)]
ASoC: cs42l42: Add support for set_jack calls
Replace the internal jack creation by set_jack call, so users can map
buttons in their machine driver
Also only enable jack detection IRQ after set_jack call
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210426155303.853236-1-tanureal@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Stephen Boyd [Sat, 8 May 2021 07:51:51 +0000 (00:51 -0700)]
ASoC: rt5682: Implement remove callback
Let's implement a remove callback for this driver that's similar to the
shutdown hook, but also disables the regulators before they're put by
devm code.
Cc: Jairaj Arava <jairaj.arava@intel.com>
Cc: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
Cc: Shuming Fan <shumingf@realtek.com>
Cc: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20210508075151.1626903-2-swboyd@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Stephen Boyd [Sat, 8 May 2021 07:51:50 +0000 (00:51 -0700)]
ASoC: rt5682: Disable irq on shutdown
We cancel the work queues, and reset the device on shutdown, but the irq
isn't disabled so the work queues could be queued again. Let's disable
the irq during shutdown so that we don't have to worry about this device
trying to do anything anymore. This fixes a problem seen where the i2c
bus is shutdown at reboot but this device irq still comes in and tries
to make another i2c transaction when the bus doesn't work.
Cc: Jairaj Arava <jairaj.arava@intel.com>
Cc: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
Cc: Shuming Fan <shumingf@realtek.com>
Cc: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Fixes:
45a2702ce109 ("ASoC: rt5682: Fix panic in rt5682_jack_detect_handler happening during system shutdown")
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20210508075151.1626903-1-swboyd@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Tom Rix [Fri, 30 Apr 2021 14:21:17 +0000 (07:21 -0700)]
ASoC: codecs: lpass-wsa-macro: handle unexpected input
Static analysis reports this problem
lpass-wsa-macro.c:1732:6: warning: Array subscript is undefined
if (wsa->ec_hq[ec_tx]) {
^~~~~~~~~~~~~~~~~
The happens because 'ec_tx' is never initialized and there is
no default in switch statement that sets ec_tx. Add a default
case that returns an error before the array is accessed.
Signed-off-by: Tom Rix <trix@redhat.com>
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20210430142117.3272772-1-trix@redhat.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Jiapeng Chong [Thu, 6 May 2021 10:58:55 +0000 (18:58 +0800)]
ASoC: rt286: Remove redundant assignment to d_len_code
Variable d_len_code is set to zero, but this value is never read as
it is overwritten or not used later on, hence it is a redundant
assignment and can be removed.
Clean up the following clang-analyzer warning:
sound/soc/codecs/rt286.c:728:2: warning: Value stored to 'd_len_code' is
never read [clang-analyzer-deadcode.DeadStores].
Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Link: https://lore.kernel.org/r/1620298735-31708-1-git-send-email-jiapeng.chong@linux.alibaba.com
Signed-off-by: Mark Brown <broonie@kernel.org>
H. Nikolaus Schaller [Sun, 2 May 2021 13:08:55 +0000 (15:08 +0200)]
ASoC: jz4740-i2s: fix function name
This driver is not related to I2C protocol.
s/_i2c_/_i2s_/
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
Acked-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/56f9c8518870263698b00d10de4821d2dc8932be.1619960935.git.hns@goldelico.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Wan Jiabing [Thu, 6 May 2021 02:24:52 +0000 (10:24 +0800)]
ASoC: fsl_xcvr: Remove unneeded semicolon
Fix the following coccicheck warning:
./sound/soc/fsl/fsl_xcvr.c:739:2-3: Unneeded semicolon
Signed-off-by: Wan Jiabing <wanjiabing@vivo.com>
Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com>
Link: https://lore.kernel.org/r/20210506022452.5762-1-wanjiabing@vivo.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Shengjiu Wang [Thu, 6 May 2021 02:30:40 +0000 (10:30 +0800)]
ASoC: imx-pcm-rpmsg: Fix warning of incorrect type in assignment
The format in rpmsg is defained as unsigned char, there is warning
when convert snd_pcm_format_t to it.
sound/soc/fsl/imx-pcm-rpmsg.c:164:43: sparse: warning: incorrect type in assignment (different base types)
sound/soc/fsl/imx-pcm-rpmsg.c:164:43: sparse: expected unsigned char format
sound/soc/fsl/imx-pcm-rpmsg.c:164:43: sparse: got restricted snd_pcm_format_t [usertype]
sound/soc/fsl/imx-pcm-rpmsg.c:167:43: sparse: warning: incorrect type in assignment (different base types)
sound/soc/fsl/imx-pcm-rpmsg.c:167:43: sparse: expected unsigned char format
sound/soc/fsl/imx-pcm-rpmsg.c:167:43: sparse: got restricted snd_pcm_format_t [usertype]
Refine the unused RPMSG_DSD_U16_LE and RPMSG_DSD_U32_LE for these
case to fix this sparse warning.
Fixes:
3c00eceb2a53 ("ASoC: imx-pcm-rpmsg: Add platform driver for audio base on rpmsg")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://lore.kernel.org/r/1620268240-1005-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Wan Jiabing [Thu, 6 May 2021 02:09:49 +0000 (10:09 +0800)]
ASoC: codecs: lpass-rx-macro: Remove unneeded semicolon
Fix the following coccicheck warning:
./sound/soc/codecs/lpass-rx-macro.c:2631:2-3: Unneeded semicolon
Signed-off-by: Wan Jiabing <wanjiabing@vivo.com>
Link: https://lore.kernel.org/r/20210506021005.4897-1-wanjiabing@vivo.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Tang Bin [Thu, 6 May 2021 13:18:33 +0000 (21:18 +0800)]
ASoc: Fix unused define in jz4740-i2s.h
Delete unused define of JZ4740_I2S_BIT_CLK, because it is unused
in any files.
Signed-off-by: Zhang Shengju <zhangshengju@cmss.chinamobile.com>
Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>
Link: https://lore.kernel.org/r/20210506131833.27420-1-tangbin@cmss.chinamobile.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Yang Li [Sun, 25 Apr 2021 10:12:33 +0000 (18:12 +0800)]
ASoC: q6dsp: q6afe: remove unneeded dead-store initialization
Variables 'wait' and 'port_id' are being initialized, however the
values are never read and updated later on, hence the redundant
initializations can be removed.
Cleans up clang warnings:
sound/soc/qcom/qdsp6/q6afe.c:933:21: warning: Value stored to 'wait'
during its initialization is never read
sound/soc/qcom/qdsp6/q6afe.c:1186:6: warning: Value stored to 'port_id'
during its initialization is never read
Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
Link: https://lore.kernel.org/r/1619345553-29781-1-git-send-email-yang.lee@linux.alibaba.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Zhen Lei [Mon, 10 May 2021 08:36:40 +0000 (16:36 +0800)]
ASoC: mediatek: mt8192: Delete a redundant condition branch
The statement of the "if (afe_priv->mtkaif_protocol == MTKAIF_PROTOCOL_2)"
branch is the same as the "else" branch. Delete it to simplify code.
No functional change.
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20210510083640.3368-1-thunder.leizhen@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Jiapeng Chong [Thu, 6 May 2021 10:56:30 +0000 (18:56 +0800)]
ASoC: amd: renoir: Remove redundant assignment to pdm_ctrl and pdm_enable and pdm_dma_enable
Variable pdm_ctrl and pdm_enable and pdm_dma_enable are set to '0x00',
but they are overwritten later on, so these are redundant assignments
that can be removed.
Clean up the following clang-analyzer warning:
sound/soc/amd/renoir/acp3x-pdm-dma.c:148:2: warning: Value stored to
'pdm_dma_enable' is never read [clang-analyzer-deadcode.DeadStores].
sound/soc/amd/renoir/acp3x-pdm-dma.c:147:2: warning: Value stored to
'pdm_enable' is never read [clang-analyzer-deadcode.DeadStores].
sound/soc/amd/renoir/acp3x-pdm-dma.c:80:2: warning: Value stored to
'pdm_ctrl' is never read [clang-analyzer-deadcode.DeadStores].
Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Link: https://lore.kernel.org/r/1620298590-29749-1-git-send-email-jiapeng.chong@linux.alibaba.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Viorel Suman [Mon, 26 Apr 2021 08:24:04 +0000 (16:24 +0800)]
ASoC: fsl_spdif: add support for enabling raw capture mode
Since i.MX8MM SPDIF interface is able to capture raw data.
Add support in SPDIF driver for this functionality.
Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://lore.kernel.org/r/1619425444-8666-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Mon, 26 Apr 2021 21:47:01 +0000 (16:47 -0500)]
ASoC: fsl: imx-pcm-rpmsg: remove useless initialization
cppcheck warning:
assigned a value that is never used. [unreadVariable]
int written_num = 0;
^
sound/soc/fsl/imx-pcm-rpmsg.c:547:18: style: Variable 'written_num' is
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210426214701.235106-5-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Mon, 26 Apr 2021 21:47:00 +0000 (16:47 -0500)]
ASoC: codecs: rt1019: clarify expression
cppcheck warning, add parentheses:
sound/soc/codecs/rt1019.c:375:61: style: Boolean result is used in
bitwise operation. Clarify expression with
parentheses. [clarifyCondition]
(pll_code.m_bp ? 0 : pll_code.m_code) << RT1019_PLL_M_SFT |
^
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210426214701.235106-4-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Mon, 26 Apr 2021 21:46:59 +0000 (16:46 -0500)]
ASoc: codecs: mt6359: remove useless initializations
cppcheck warning:
sound/soc/codecs/mt6359.c:274:8: style: Variable 'i' is assigned a
value that is never used. [unreadVariable]
int i = 0, stage = 0;
^
sound/soc/codecs/mt6359.c:274:19: style: Variable 'stage' is assigned
a value that is never used. [unreadVariable]
int i = 0, stage = 0;
^
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210426214701.235106-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Mon, 26 Apr 2021 21:46:58 +0000 (16:46 -0500)]
ASoC: codecs: mt6359-accdet: remove useless initialization
cppcheck warning
sound/soc/codecs/mt6359-accdet.c:417:10: style: Variable 'ret' is
assigned a value that is never used. [unreadVariable]
int ret = 0;
^
sound/soc/codecs/mt6359-accdet.c:464:10: style: Variable 'ret' is
assigned a value that is never used. [unreadVariable]
int ret = 0;
^
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210426214701.235106-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Brent Lu [Wed, 5 May 2021 16:37:05 +0000 (11:37 -0500)]
ASoC: Intel: sof_rt5682: code refactor for max98357a
Refactor the machine driver by using the common code in maxim-common
module to support max98357a.
Signed-off-by: Brent Lu <brent.lu@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210505163705.305616-14-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Brent Lu [Wed, 5 May 2021 16:37:04 +0000 (11:37 -0500)]
ASoC: Intel: add sof-cs42l42 machine driver
The machine driver is a generic machine driver for SOF with cs42l42
I2C codec. It currently supports Maxim MAX98357A speker amp on GLK
but is extensible for other apms and platforms.
Signed-off-by: Brent Lu <brent.lu@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210505163705.305616-13-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Brent Lu [Wed, 5 May 2021 16:37:03 +0000 (11:37 -0500)]
ASoC: Intel: maxim-common: support max98357a
Move max98357a code to this common module so it could be shared
between multiple SOF machine drivers.
Signed-off-by: Brent Lu <brent.lu@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210505163705.305616-12-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Libin Yang [Wed, 5 May 2021 16:37:02 +0000 (11:37 -0500)]
ASoC: Intel: sof_sdw: add SOF_RT715_DAI_ID_FIX for AlderLake
AlderLake needs the flag SOF_RT715_DAI_ID_FIX if it is using the
rt715 DMIC.
Reviewed-by: Bard Liao <bard.liao@intel.com>
Signed-off-by: Libin Yang <libin.yang@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210505163705.305616-11-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>