Jerome Brunet [Thu, 17 Dec 2020 15:08:12 +0000 (16:08 +0100)]
ASoC: meson: axg-tdm-interface: fix loopback
When the axg-tdm-interface was introduced, the backend DAI was marked as an
endpoint when DPCM was walking the DAPM graph to find a its BE.
It is no longer the case since this
commit
8dd26dff00c0 ("ASoC: dapm: Fix handling of custom_stop_condition on DAPM graph walks")
Because of this, when DPCM finds a BE it does everything it needs on the
DAIs but it won't power up the widgets between the FE and the BE if there
is no actual endpoint after the BE.
On meson-axg HWs, the loopback is a special DAI of the tdm-interface BE.
It is only linked to the dummy codec since there no actual HW after it.
>From the DAPM perspective, the DAI has no endpoint. Because of this, the TDM
decoder, which is a widget between the FE and BE is not powered up.
>From the user perspective, everything seems fine but no data is produced.
Connecting the Loopback DAI to a dummy DAPM endpoint solves the problem.
Fixes:
8dd26dff00c0 ("ASoC: dapm: Fix handling of custom_stop_condition on DAPM graph walks")
Cc: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20201217150812.3247405-1-jbrunet@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Jerome Brunet [Thu, 17 Dec 2020 15:08:34 +0000 (16:08 +0100)]
ASoC: meson: axg-tdmin: fix axg skew offset
The signal captured on from tdm decoder of the AXG SoC is incorrect. It
appears amplified. The skew offset of the decoder is wrong.
Setting the skew offset to 3, like the g12 and sm1 SoCs, solves and gives
correct data.
Fixes:
13a22e6a98f8 ("ASoC: meson: add tdm input driver")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20201217150834.3247526-1-jbrunet@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Thu, 17 Dec 2020 17:05:48 +0000 (17:05 +0000)]
Merge series "Platform driver update to support playback recover after resume" from Srinivasa Rao Mandadapu <srivasam@codeaurora.org>:
This patch set is to add support for playback recover after hard suspend and resume.
It includes:
1. Reverting part of previous commit, which is for handling registers invalid state
after hard suspend.
2. Adding pm ops in component driver and do regcache sync.
Changes Since v1 and v2:
-- Subject lines changed
Changes Since v3:
-- Patch is splitted into 2 patches
Changes Since v4:
-- Subject lines changed
Changes Since v5:
-- Removed redundant initialization of map variable in lpass-platform.c
Srinivasa Rao Mandadapu (2):
ASoC: qcom: Fix incorrect volatile registers
ASoC: qcom: Add support for playback recover after resume
sound/soc/qcom/lpass-cpu.c | 20 ++---------------
sound/soc/qcom/lpass-platform.c | 50 ++++++++++++++++++++++++++++-------------
2 files changed, 37 insertions(+), 33 deletions(-)
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
Bard Liao [Thu, 17 Dec 2020 07:45:56 +0000 (15:45 +0800)]
ASoC: max98373: don't access volatile registers in bias level off
We will set regcache_cache_only true in suspend. As a result,
regmap_read will return error when we try to read volatile
registers in suspend. Besides, it doesn't make sense to read
feedback data when codec is not active. To make userspace
happy, this patch returns a cached value shich should be a
valid value.
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20201217074556.32370-1-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Shuming Fan [Thu, 17 Dec 2020 08:56:51 +0000 (16:56 +0800)]
ASoC: rt711: mutex between calibration and power state changes
To avoid calibration time-out, this patch adds the mutex between calibration and power state changes
Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20201217085651.24580-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Cezary Rojewski [Thu, 17 Dec 2020 10:54:01 +0000 (11:54 +0100)]
ASoC: Intel: haswell: Add missing pm_ops
haswell machine board is missing pm_ops what prevents it from undergoing
suspend-resume procedure successfully. Assign default snd_soc_pm_ops so
this is no longer the case.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20201217105401.27865-1-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Thu, 17 Dec 2020 02:28:49 +0000 (11:28 +0900)]
ASoC: rsnd: don't call clk_disable_unprepare() if can't use
We need to care clock accessibility,
because we might can't use clock for some reasons.
It sets clk_rate for each clocks when enabled.
This means it doesn't have clk_rate if we can't use.
We can avoid to call clk_disable_unprepare() in such case.
Link: https://lore.kernel.org/r/CAMuHMdWvB+p=2JqTsO7bR8uJqKqO5A2XgXFXsVAjHk3hcxgcTw@mail.gmail.com
Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/87eejpgoi9.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivasa Rao Mandadapu [Thu, 17 Dec 2020 08:08:34 +0000 (13:38 +0530)]
ASoC: qcom: Add support for playback recover after resume
To support playback continuation after hard suspend(bypass powerd)
and resume do regcache sync with component driver pm ops.
Signed-off-by: V Sujith Kumar Reddy <vsujithk@codeaurora.org>
Signed-off-by: Srinivasa Rao Mandadapu <srivasam@codeaurora.org>
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Steev Klimaszewski <steev@kali.org>
Link: https://lore.kernel.org/r/1608192514-29695-3-git-send-email-srivasam@codeaurora.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivasa Rao Mandadapu [Thu, 17 Dec 2020 08:08:33 +0000 (13:38 +0530)]
ASoC: qcom: Fix incorrect volatile registers
MI2S and DMA control registers are not volatile, so remove these from volatile registers list.
Registers reset state check by reading non volatile registers makes no use,
so remove error check from cpu and platform trigger callbacks.
Initialized map variable two times in lpass platform trigger API,
so remove redundant initialization.
Fixes commit
b1824968221cc ("ASoC: qcom: Fix enabling BCLK and LRCLK in LPAIF invalid state")
Signed-off-by: V Sujith Kumar Reddy <vsujithk@codeaurora.org>
Signed-off-by: Srinivasa Rao Mandadapu <srivasam@codeaurora.org>
Link: https://lore.kernel.org/r/1608192514-29695-2-git-send-email-srivasam@codeaurora.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Colin Ian King [Wed, 16 Dec 2020 11:26:08 +0000 (11:26 +0000)]
ASoC: atmel: fix spelling mistake in Kconfig "programable" -> "programmable"
There are a couple of spelling mistakes in the Kconfig help text. Fix them.
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Link: https://lore.kernel.org/r/20201216112608.11385-1-colin.king@canonical.com
Signed-off-by: Mark Brown <broonie@kernel.org>
shengjiu wang [Wed, 16 Dec 2020 10:44:24 +0000 (18:44 +0800)]
ASoC: imx-hdmi: Fix warning of the uninitialized variable ret
When condition ((hdmi_out && hdmi_in) || (!hdmi_out && !hdmi_in))
is true, then goto fail, the uninitialized variable ret will be
returned.
Signed-off-by: shengjiu wang <shengjiu.wang@nxp.com>
Reported-by: kernel test robot <lkp@intel.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Fixes:
6a5f850aa83a ("ASoC: fsl: Add imx-hdmi machine driver")
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Link: https://lore.kernel.org/r/1608115464-18710-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Colin Ian King [Wed, 16 Dec 2020 12:59:13 +0000 (12:59 +0000)]
ASoC: SOF: Fix spelling mistake in Kconfig "ond" -> "and"
There is a spelling mistake in the Kconfig help text. Fix it.
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20201216125913.16041-1-colin.king@canonical.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Colin Ian King [Wed, 16 Dec 2020 11:28:59 +0000 (11:28 +0000)]
ASoC: codecs: fix spelling mistake in Kconfig "comunicate" -> "communicate"
There is a spelling mistake in the Kconfig help text. Fix it.
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Link: https://lore.kernel.org/r/20201216112859.11564-1-colin.king@canonical.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 15 Dec 2020 15:46:59 +0000 (15:46 +0000)]
Merge series "ASoC: ti: Maintainer mail address change" from Peter Ujfalusi <peter.ujfalusi@ti.com>:
Hi,
My TI address is going to bounce after Friday (18.12.2020), switch my email
address to my private one for now.
Regards,
Peter
---
Peter Ujfalusi (2):
MAINTAINERS: Update email address for TI ASoC and twl4030 codec
drivers
ASoC: dt-bindings: ti,j721e: Update maintainer and author information
.../devicetree/bindings/sound/ti,j721e-cpb-audio.yaml | 4 +++-
.../devicetree/bindings/sound/ti,j721e-cpb-ivi-audio.yaml | 4 +++-
MAINTAINERS | 6 +++---
3 files changed, 9 insertions(+), 5 deletions(-)
--
Peter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Thomas Hebb [Sun, 13 Dec 2020 01:20:12 +0000 (17:20 -0800)]
ASoC: dapm: remove widget from dirty list on free
A widget's "dirty" list_head, much like its "list" list_head, eventually
chains back to a list_head on the snd_soc_card itself. This means that
the list can stick around even after the widget (or all widgets) have
been freed. Currently, however, widgets that are in the dirty list when
freed remain there, corrupting the entire list and leading to memory
errors and undefined behavior when the list is next accessed or
modified.
I encountered this issue when a component failed to probe relatively
late in snd_soc_bind_card(), causing it to bail out and call
soc_cleanup_card_resources(), which eventually called
snd_soc_dapm_free() with widgets that were still dirty from when they'd
been added.
Fixes:
db432b414e20 ("ASoC: Do DAPM power checks only for widgets changed since last run")
Cc: stable@vger.kernel.org
Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/f8b5f031d50122bf1a9bfc9cae046badf4a7a31a.1607822410.git.tommyhebb@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Peter Ujfalusi [Tue, 15 Dec 2020 13:05:12 +0000 (15:05 +0200)]
ASoC: dt-bindings: ti, j721e: Update maintainer and author information
My employment with TI is coming to an end, add the copyright and author comments
as they due and change the maintainer mail address.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://lore.kernel.org/r/20201215130512.8753-3-peter.ujfalusi@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Peter Ujfalusi [Tue, 15 Dec 2020 13:05:11 +0000 (15:05 +0200)]
MAINTAINERS: Update email address for TI ASoC and twl4030 codec drivers
My employment with TI is coming to an end, it is my intention to look after
the drivers I have worked with over the years.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://lore.kernel.org/r/20201215130512.8753-2-peter.ujfalusi@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Dan Carpenter [Fri, 11 Dec 2020 10:06:52 +0000 (13:06 +0300)]
ASoC: Intel: fix error code cnl_set_dsp_D0()
Return -ETIMEDOUT if the dsp boot times out instead of returning
success.
Fixes:
cb6a55284629 ("ASoC: Intel: cnl: Add sst library functions for cnl platform")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/X9NEvCzuN+IObnTN@mwanda
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Fri, 11 Dec 2020 17:46:27 +0000 (17:46 +0000)]
Merge series "ASoC: SOF: Intel: fix to dsp state dump trace levels" from Kai Vehmanen <kai.vehmanen@linux.intel.com>:
Small series that addresses a problem where DSP status dump
for a failure case, ends up being printed as as debug print. This
is important information for any bug report. While at it, the series
contains a few cleanups to related code.
Ranjani Sridharan (3):
ASoC: SOF: Intel: hda: remove duplicated status dump
ASoC: SOF: modify the SOF_DBG flags
ASoC: SOF: Intel: hda: fix the condition passed to sof_dev_dbg_or_err
sound/soc/sof/debug.c | 2 +-
sound/soc/sof/intel/byt.c | 2 +-
sound/soc/sof/intel/hda-loader.c | 19 +++++++++++++------
sound/soc/sof/intel/hda.c | 10 ++++------
sound/soc/sof/loader.c | 4 ++--
sound/soc/sof/ops.c | 2 +-
sound/soc/sof/sof-priv.h | 13 ++++++++-----
7 files changed, 30 insertions(+), 22 deletions(-)
--
2.29.2
Mark Brown [Fri, 11 Dec 2020 17:46:26 +0000 (17:46 +0000)]
Merge series "ASoC: rt1015p: delay 300ms for waiting calibration" from Tzung-Bi Shih <tzungbi@google.com>:
The 1st patch moves SDB control from DAI ops trigger to DAPM event
(per review comments in v1).
The 2nd patch adds the 300ms delay for waiting calibration.
Changes from v2:
- Use gpiod_set_value_cansleep() instead of gpiod_set_value().
(https://patchwork.kernel.org/project/alsa-devel/patch/
20201210033617.79300-2-tzungbi@google.com/)
- Assuming the calibration state gets lost after system suspend.
(https://patchwork.kernel.org/project/alsa-devel/patch/
20201210033617.79300-3-tzungbi@google.com/)
Changes from v1:
(https://patchwork.kernel.org/project/alsa-devel/patch/
20201209033742.3825973-1-tzungbi@google.com/)
- Move the delay from trigger to DAPM event.
Tzung-Bi Shih (2):
ASoC: rt1015p: move SDB control from trigger to DAPM
ASoC: rt1015p: delay 300ms after SDB pulling high for calibration
sound/soc/codecs/rt1015p.c | 69 ++++++++++++++++++--------------------
1 file changed, 32 insertions(+), 37 deletions(-)
--
2.29.2.684.gfbc64c5ab5-goog
Pierre-Louis Bossart [Fri, 11 Dec 2020 10:22:55 +0000 (12:22 +0200)]
ASoC: SOF: imx: update kernel-doc description
Add missing parameters to avoid W=1 error
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Daniel Baluta <daniel.baluta@gmail.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20201211102255.3189589-1-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Dan Carpenter [Fri, 11 Dec 2020 10:10:11 +0000 (13:10 +0300)]
ASoC: mediatek: mt8183: delete some unreachable code
This has a goto followed by an unreachable return statement. The goto
is correct because it cleans up so the current runtime behavior is fine.
Let's delete the unreachable return statement.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/X9NFg3KVm16Gx6Io@mwanda
Signed-off-by: Mark Brown <broonie@kernel.org>
Tzung-Bi Shih [Fri, 11 Dec 2020 05:13:34 +0000 (13:13 +0800)]
ASoC: mediatek: mt8183: add PM ops to machine drivers
Adds PM ops to machine drivers so that they notify components in the
sound card when system suspend.
Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20201211051334.2313899-1-tzungbi@google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Amadeusz Sławiński [Thu, 10 Dec 2020 15:25:40 +0000 (10:25 -0500)]
ASoC: topology: Fix wrong size check
Dan reported that smatch reports wrong size check and after analysis it
is confirmed that we are comparing wrong value: pointer size instead of
array size. However the check itself is problematic as in UAPI header
there are two fields:
struct snd_soc_tplg_enum_control {
(...)
char texts[SND_SOC_TPLG_NUM_TEXTS][SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
__le32 values[SND_SOC_TPLG_NUM_TEXTS * SNDRV_CTL_ELEM_ID_NAME_MAXLEN / 4];
the texts field is for names and the values one for values assigned to
those named fields, after analysis it becomes clear that there is quite
a lot overhead values than we may possibly name. So instead of changing
check to ARRAY_SIZE(ec->values), as it was first suggested, use
hardcoded value of SND_SOC_TPLG_NUM_TEXTS.
Link: https://lore.kernel.org/alsa-devel/X9B0eDcKy+9B6kZl@mwanda/
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20201210152541.191728-1-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Amadeusz Sławiński [Thu, 10 Dec 2020 15:25:41 +0000 (10:25 -0500)]
ASoC: topology: Add missing size check
When we parse "values" we perform check if there is correct number of
them. However similar check is missing in case of "texts", add it.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20201210152541.191728-2-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Ranjani Sridharan [Fri, 11 Dec 2020 10:07:43 +0000 (12:07 +0200)]
ASoC: SOF: Intel: hda: fix the condition passed to sof_dev_dbg_or_err
The condition boot_iteration == HDA_FW_BOOT_ATTEMPTS to determine
the log level for the DSP status dump would only work in the case of DSP
init failure after maximum number of attempts to initialize the DSP. If
DSP init succeeds in less than HDA_FW_BOOT_ATTEMPTS attempts and FW
loading fails, the ROM status dump would end up getting logged as debug
instead of an error.
So, add a new flag, SOF_DBG_DUMP_LOG_ERROR, to explicitly specify
the log level for DSP status dump.
Signed-off-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/20201211100743.3188821-4-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Ranjani Sridharan [Fri, 11 Dec 2020 10:07:42 +0000 (12:07 +0200)]
ASoC: SOF: modify the SOF_DBG flags
The SOF_DBG_* macros are used for dual purposes right now, for the
sof_core_debug module parameter and for the dbg_dump() ops. So, separate
these two types of flags into different types to avoid confusion.
Signed-off-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/20201211100743.3188821-3-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Ranjani Sridharan [Fri, 11 Dec 2020 10:07:41 +0000 (12:07 +0200)]
ASoC: SOF: Intel: hda: remove duplicated status dump
Remove the duplicate status dump in case DSP init fails. The core will
be powered down in this case and the status dump will be invalid anyway.
Signed-off-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/20201211100743.3188821-2-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Tzung-Bi Shih [Fri, 11 Dec 2020 05:12:24 +0000 (13:12 +0800)]
ASoC: rt1015p: delay 300ms after SDB pulling high for calibration
RT1015p needs 300ms delay after SDB pulling high for internal
calibration during the power on sequence.
Delays 300ms right before data sends out to avoid data truncated.
Assuming the calibration state gets lost after system suspend.
Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20201211051224.2307349-3-tzungbi@google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Tzung-Bi Shih [Fri, 11 Dec 2020 05:12:23 +0000 (13:12 +0800)]
ASoC: rt1015p: move SDB control from trigger to DAPM
Moves SDB control from DAI ops trigger to DAPM. As long as BCLK
and LRCLK are ready, SDB can be toggled earlier.
Changes from using gpiod_set_value() to gpiod_set_value_cansleep()
because it executes in non-atomic context.
Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20201211051224.2307349-2-tzungbi@google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Sameer Pujar [Thu, 3 Dec 2020 14:36:42 +0000 (20:06 +0530)]
dt-bindings: tegra: Add missing HDA properties
Document the missing properties which are currently required for
Tegra186/Tegra194 DT files.
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/1607006202-4078-3-git-send-email-spujar@nvidia.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Sameer Pujar [Thu, 3 Dec 2020 14:36:41 +0000 (20:06 +0530)]
dt-bindings: tegra: Convert HDA doc to json-schema
Convert Tegra HDA doc to YAML format.
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/1607006202-4078-2-git-send-email-spujar@nvidia.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Alexandre Belloni [Sat, 5 Dec 2020 00:15:08 +0000 (01:15 +0100)]
ASoC: add simple-mux
Add a driver for simple mux driven by gpios. It currently only supports one
gpio, muxing one of two inputs to a single output.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201205001508.346439-2-alexandre.belloni@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Alexandre Belloni [Sat, 5 Dec 2020 00:15:07 +0000 (01:15 +0100)]
ASoC: add simple-audio-mux binding
Add devicetree documentation for simple audio multiplexers
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201205001508.346439-1-alexandre.belloni@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kai Vehmanen [Wed, 9 Dec 2020 15:31:02 +0000 (17:31 +0200)]
ASoC: SOF: Intel: add SoundWire support for ADL-S
Expand SOF support for Alder Lake by adding ACPI machine tables
for ADL-S systems with SoundWire codecs. Modify kernel config
to choose SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE for these
platforms.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20201209153102.3028310-2-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kai Vehmanen [Wed, 9 Dec 2020 15:31:01 +0000 (17:31 +0200)]
ASoC: Intel: common: add ACPI matching tables for Alder Lake
Initial support for ADL w/ RT711
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20201209153102.3028310-1-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 9 Dec 2020 14:45:06 +0000 (14:45 +0000)]
Merge series "ASoC: soc-pcm: trigger cleanup" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
Hi Mark
These are focusing to trigger function,
which can be cleanup, tidyup.
Kuninori Morimoto (2):
ASoC: soc-pcm: remove dpcm_do_trigger()
ASoC: soc-pcm: care trigger rollback
include/sound/soc-component.h | 3 +-
include/sound/soc-dai.h | 4 +-
include/sound/soc-link.h | 3 +-
include/sound/soc.h | 1 +
sound/soc/soc-component.c | 45 ++++++++++++++++++----
sound/soc/soc-dai.c | 44 +++++++++++++++++----
sound/soc/soc-link.c | 30 ++++++++++++++-
sound/soc/soc-pcm.c | 72 ++++++++++++++++++++---------------
8 files changed, 152 insertions(+), 50 deletions(-)
--
2.25.1
Derek Fang [Wed, 9 Dec 2020 09:13:08 +0000 (17:13 +0800)]
ASoC: rt1015: check the return value of regmap_read during i2c probe
In some projects, the device ID register is not read correctly.
This patch helps to verify the issue is caused from i2c host or client.
Signed-off-by: Derek Fang <derek.fang@realtek.com>
Link: https://lore.kernel.org/r/20201209091308.2823-1-derek.fang@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Paul Cercueil [Mon, 7 Dec 2020 12:53:37 +0000 (12:53 +0000)]
ASoC: codecs/jz4770: Add DAPM widget to set HP out to cap-less mode
Cap-less mode is useful e.g. if the headphones are used as an antenna
for a FM radio, so that the signal is not altered. For everything else,
we want the cap-couple mode.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20201207125338.119397-5-paul@crapouillou.net
Signed-off-by: Mark Brown <broonie@kernel.org>
Paul Cercueil [Mon, 7 Dec 2020 12:53:36 +0000 (12:53 +0000)]
ASoC: codecs/jz4770: Don't change cap-couple setting in HP PMU/PMD
There is simply no reason to do that.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20201207125338.119397-4-paul@crapouillou.net
Signed-off-by: Mark Brown <broonie@kernel.org>
Christophe Branchereau [Mon, 7 Dec 2020 12:53:35 +0000 (12:53 +0000)]
ASoC: codecs/jz4770: Adjust timeouts for cap-coupled outputs
When using cap-coupled outputs, the RUP/RDO can take much longer than
the 100ms timeout we used to have. Increase that timeout to one second.
Signed-off-by: Christophe Branchereau <cbranchereau@gmail.com>
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20201207125338.119397-3-paul@crapouillou.net
Signed-off-by: Mark Brown <broonie@kernel.org>
Christophe Branchereau [Mon, 7 Dec 2020 12:53:34 +0000 (12:53 +0000)]
ASoC: codecs/jz4770: Reset interrupt flags in bias PREPARE
In case a poll for RUP times out, we might be left with some IRQ flags
that should be cleared before the next power on.
Signed-off-by: Christophe Branchereau <cbranchereau@gmail.com>
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20201207125338.119397-2-paul@crapouillou.net
Signed-off-by: Mark Brown <broonie@kernel.org>
Paul Cercueil [Mon, 7 Dec 2020 12:53:33 +0000 (12:53 +0000)]
ASoC: codecs/jz47xx: Use regmap_{set,clear}_bits
Use regmap_{set,clear}_bits instead of regmap_update_bits, when
applicable.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20201207125338.119397-1-paul@crapouillou.net
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Mon, 30 Nov 2020 23:51:33 +0000 (08:51 +0900)]
ASoC: soc-pcm: care trigger rollback
soc_pcm_trigger() calls DAI/Component/Link trigger,
but some of them might be failed.
static int soc_pcm_trigger(...)
{
...
switch (cmd) {
case SNDRV_PCM_TRIGGER_START:
case SNDRV_PCM_TRIGGER_RESUME:
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
ret = snd_soc_link_trigger(substream, cmd);
if (ret < 0)
break;
(*) ret = snd_soc_pcm_component_trigger(substream, cmd);
if (ret < 0)
break;
ret = snd_soc_pcm_dai_trigger(substream, cmd);
break;
case SNDRV_PCM_TRIGGER_STOP:
case SNDRV_PCM_TRIGGER_SUSPEND:
case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
ret = snd_soc_pcm_dai_trigger(substream, cmd);
if (ret < 0)
break;
ret = snd_soc_pcm_component_trigger(substream, cmd);
if (ret < 0)
break;
ret = snd_soc_link_trigger(substream, cmd);
break;
}
...
}
For example, if soc_pcm_trigger() failed at (*) point,
we need to rollback previous succeeded trigger.
This patch adds trigger mark for DAI/Component/Link,
and do STOP if START/RESUME/PAUSE_RELEASE were failed.
Because it need to use new rollback parameter,
we need to modify DAI/Component/Link trigger functions in the same time.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87a6uycssd.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Mon, 30 Nov 2020 23:51:25 +0000 (08:51 +0900)]
ASoC: soc-pcm: remove dpcm_do_trigger()
dpcm_be_dai_trigger() is calling dpcm_do_trigger()
at each SNDRV_PCM_TRIGGER_xxx (1).
int dpcm_be_dai_trigger(...)
{
for_each_dpcm_be(fe, stream, dpcm) {
(B) ...
switch (cmd) {
case SNDRV_PCM_TRIGGER_START:
...
(1) ret = dpcm_do_trigger(...);
...
case SNDRV_PCM_TRIGGER_RESUME:
...
(1) ret = dpcm_do_trigger(...);
...
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
...
(1) ret = dpcm_do_trigger(...);
...
case SNDRV_PCM_TRIGGER_STOP:
...
(1) ret = dpcm_do_trigger(...);
...
case SNDRV_PCM_TRIGGER_SUSPEND:
...
(1) ret = dpcm_do_trigger(...);
...
case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
...
(1) ret = dpcm_do_trigger(...);
...
}
}
}
But it is just very verbose and duplicated function.
Because We can indicate dev_dbg() (A) at dpcm_be_dai_trigger() (B).
And dev_err() (C) is not needed because soc_pcm_trigger() itself
indicates error message when error.
static int dpcm_do_trigger(...)
{
int ret;
(A) dev_dbg(...);
ret = soc_pcm_trigger(substream, cmd);
if (ret < 0)
(C) dev_err(...);
return ret;
}
This patch replace dpcm_do_trigger() to soc_pcm_trigger().
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87blfecssk.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 8 Dec 2020 17:06:41 +0000 (17:06 +0000)]
Merge series "ASoC: Intel: cht_bsw_nau8824: 2 fixes for usage with sof-audio-acpi" from Hans de Goede <hdegoede@redhat.com>:
Hi All,
Here are 2 simple fixes which are necessary to make the
cht_bsw_nau8824 machine driver work together with the
sof-audio-acpi driver.
Note that atm the sof topology files are missing a .tplg
file for this setup. Simply copying over the standard
sof-byte-codec.tplg file does the trick, but then some
mixer setting changes are necessary to fix the right
speaker/headphones channel not working; and those mixer
settings break the right channel when used with the
sst-acpi driver.
I've been trying to fix this at the tplg level so that
we do not need to change the mixer settings, but no luck
sofar. I'll post a RFC with the topology changes which
I have and we can discuss this further there.
These 2 simple fixes are necessary to make the sof-audio-acpi
driver work regardless of the topology issue.
Regards,
Hans
Chuhong Yuan [Fri, 4 Dec 2020 06:36:10 +0000 (14:36 +0800)]
ASoC: amd: change clk_get() to devm_clk_get() and add missed checks
cz_da7219_init() does not check the return values of clk_get(),
while da7219_clk_enable() calls clk_set_rate() to dereference
the pointers.
Add checks to fix the problems.
Also, change clk_get() to devm_clk_get() to avoid data leak after
failures.
Fixes:
bb24a31ed584 ("ASoC: AMD: Configure wclk and bclk of master codec")
Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
Link: https://lore.kernel.org/r/20201204063610.513556-1-hslester96@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Takashi Iwai [Tue, 8 Dec 2020 13:51:54 +0000 (14:51 +0100)]
ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams
The cx2072x codec driver defines multiple DAIs with the same stream
name "Playback" and "Capture". Although the current code works more
or less as is as the secondary streams are never used, it still leads
the error message like:
debugfs: File 'Playback' in directory 'dapm' already present!
debugfs: File 'Capture' in directory 'dapm' already present!
Fix it by renaming the secondary streams to unique names.
Fixes:
a497a4363706 ("ASoC: Add support for Conexant CX2072X CODEC")
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20201208135154.9188-1-tiwai@suse.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Shengjiu Wang [Sun, 6 Dec 2020 10:41:59 +0000 (18:41 +0800)]
ASoC: fsl: Add imx-hdmi machine driver
The driver is initially designed for sound card using HDMI
interface on i.MX platform. There is internal HDMI IP or
external HDMI modules connect with SAI or AUD2HTX interface.
It supports both transmitter and receiver devices.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Link: https://lore.kernel.org/r/1607251319-5821-2-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Shengjiu Wang [Sun, 6 Dec 2020 10:41:58 +0000 (18:41 +0800)]
ASoC: dt-bindings: imx-hdmi: Add binding doc for hdmi machine driver
Imx-hdmi is a new added machine driver for supporting hdmi devices
on i.MX platforms. There is HDMI IP or external HDMI modules connect
with SAI or AUD2HTX interface.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://lore.kernel.org/r/1607251319-5821-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Hans de Goede [Sun, 6 Dec 2020 12:24:36 +0000 (13:24 +0100)]
ASoC: Intel: cht_bsw_nau8824: Change SSP2-Codec DAI id to 0
The snd-soc-sst-acpi driver does not care about the id specified for
the SSP2-Codec DAI, but it does matter for the snd-sof-acpi driver;
and when it is not 0 then the snd-sof-acpi driver does not work.
Set the SSP2-Codec DAI id to 0, fixing the snd-sof-acpi driver not
working on devices using the cht_bsw_nau8824 machine-driver.
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/20201206122436.13553-3-hdegoede@redhat.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Hans de Goede [Sun, 6 Dec 2020 12:24:35 +0000 (13:24 +0100)]
ASoC: Intel: cht_bsw_nau8824: Drop compress-cpu-dai bits
When using the snd-soc-sst-acpi driver then the compress-cpu-dai bits are
not used, the cht_bsw_nau8824 machine-driver is the only BYT/CHT driver
defining them.
When using the snd-sof-acpi driver then the presence of the
compress-cpu-dai bits breaks things because the sof topology file for
by/cht devices does not contain routing info for them.
Drop the compress-cpu-dai bits, fixing the snd-sof-acpi driver not
working on devices using the cht_bsw_nau8824 machine-driver.
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/20201206122436.13553-2-hdegoede@redhat.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Karol Trzcinski [Fri, 4 Dec 2020 16:50:14 +0000 (18:50 +0200)]
ASoC: SOF: trace: Add runtime trace filtering mechanism
The "filter" debugfs file defines the log levels used by
the firmware and reported by sof-logger.
The file contains the formatted entry list, where each entry
follows the following syntax in plain text:
log_level uuid_id pipe_id comp_id;
This file may be updated by userspace applications such sof-logger,
or directly by the user during debugging process.
An unused (wildcard) pipe_id or comp_id value should be set to -1,
uuid_id is hexadecimal value, so when unused then should be set to 0.
When the file is modified, an IPC command is sent to FW with new
trace levels for selected components in filter elements list.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20201204165014.2697903-1-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Ranjani Sridharan [Wed, 2 Dec 2020 19:33:43 +0000 (11:33 -0800)]
ASoC: pcm: send DAPM_STREAM_STOP event in dpcm_fe_dai_shutdown
A recent change removed the call to send the DAPM_STREAM_STOP
event in dpcm_fe_dai_shutdown. But this causes a regression
when a PCM prepare is not paired with a hw_free. So, add
the DAPM_STREAM_STOP event back to dpcm_fe_dai_shutdown()
to fix this.
The new sequence would be:
soc_pcm_prepare()
-> SND_SOC_DAPM_STREAM_START
soc_pcm_hw_free()
-> soc_pcm_hw_free()
-> SND_SOC_DAPM_STREAM_STOP
dpcm_fe_dai_shutdown()
-> SND_SOC_DAPM_STREAM_STOP
Note that the DAPM_STREAM_STOP will be called twice but it seems
harmless.
Fixes:
a27b421f1d04 ('ASoC: pcm: call snd_soc_dapm_stream_stop() in soc_pcm_hw_clean')
Reported-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20201202193343.912942-1-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Arnd Bergmann [Thu, 3 Dec 2020 23:14:18 +0000 (00:14 +0100)]
ASoC: qcom: fix QDSP6 dependencies, attempt #3
The previous fix left another warning in randconfig builds:
WARNING: unmet direct dependencies detected for SND_SOC_QDSP6
Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_QCOM [=y] && QCOM_APR [=y] && COMMON_CLK [=n]
Selected by [y]:
- SND_SOC_MSM8996 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_QCOM [=y] && QCOM_APR [=y]
Add one more dependency for this one.
Fixes:
2bc8831b135c ("ASoC: qcom: fix SDM845 & QDSP6 dependencies more")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20201203231443.1483763-1-arnd@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Arnd Bergmann [Thu, 3 Dec 2020 22:28:47 +0000 (23:28 +0100)]
ASoC: fsl_aud2htx: mark PM functions as __maybe_unused
When CONFIG_PM is disabled, we get a warning for unused functions:
sound/soc/fsl/fsl_aud2htx.c:261:12: error: unused function 'fsl_aud2htx_runtime_suspend' [-Werror,-Wunused-function]
static int fsl_aud2htx_runtime_suspend(struct device *dev)
sound/soc/fsl/fsl_aud2htx.c:271:12: error: unused function 'fsl_aud2htx_runtime_resume' [-Werror,-Wunused-function]
static int fsl_aud2htx_runtime_resume(struct device *dev)
Mark these as __maybe_unused to avoid the warning without adding
an #ifdef.
Fixes:
8a24c834c053 ("ASoC: fsl_aud2htx: Add aud2htx module driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Link: https://lore.kernel.org/r/20201203222900.1042578-1-arnd@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Brent Lu [Thu, 3 Dec 2020 15:40:10 +0000 (23:40 +0800)]
ASoC: intel: sof_rt5682: Add support for tgl_rt1011_rt5682
This patch adds the driver data for two rt1011 speaker amplifiers on
SSP1 and rt5682 on SSP0 for TGL platform. DAI format for rt1011 is
leveraged from cml_rt1011_rt5682 which is 4-slot tdm with 100fs bclk.
Signed-off-by: Brent Lu <brent.lu@intel.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20201203154010.29464-1-brent.lu@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Arnd Bergmann [Thu, 3 Dec 2020 22:38:05 +0000 (23:38 +0100)]
ASoC: atmel: mchp-spdifrx needs COMMON_CLK
Compile-testing this driver on an older platform without CONFIG_COMMON_CLK fails with
ERROR: modpost: "clk_set_min_rate" [sound/soc/atmel/snd-soc-mchp-spdifrx.ko] undefined!
Make this is a strict dependency.
Fixes:
ef265c55c1ac ("ASoC: mchp-spdifrx: add driver for SPDIF RX")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Link: https://lore.kernel.org/r/20201203223815.1353451-1-arnd@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Arnd Bergmann [Thu, 3 Dec 2020 22:54:41 +0000 (23:54 +0100)]
ASoC: cros_ec_codec: fix uninitialized memory read
gcc points out a memory area that is copied to a device
but not initialized:
sound/soc/codecs/cros_ec_codec.c: In function 'i2s_rx_event':
arch/x86/include/asm/string_32.h:83:20: error: '*((void *)&p+4)' may be used uninitialized in this function [-Werror=maybe-uninitialized]
83 | *((int *)to + 1) = *((int *)from + 1);
Initialize all the unused fields to zero.
Fixes:
727f1c71c780 ("ASoC: cros_ec_codec: refactor I2S RX")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Tzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20201203225458.1477830-1-arnd@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Fri, 4 Dec 2020 17:03:13 +0000 (19:03 +0200)]
ASoC: SOF: control: fix cppcheck warning in snd_sof_volume_info()
Fix cppcheck warning:
sound/soc/sof/control.c:117:82: style:inconclusive: Function
'snd_sof_volume_info' argument 2 names different: declaration
'ucontrol' definition 'uinfo'. [funcArgNamesDifferent]
Fixes:
fca18e62984a ("ASoC: SOF: control: override volume info callback")
Signed-off-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/20201204170313.2704499-1-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Fri, 4 Dec 2020 20:39:45 +0000 (20:39 +0000)]
Merge tag 'auxbus-5.11-rc1' of git://git./linux/kernel/git/gregkh/driver-core into asoc-5.11
Auxiliary Bus support tag for 5.11-rc1
This is a signed tag for other subsystems to be able to pull in the
auxiliary bus support into their trees for the 5.11-rc1 merge.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Greg Kroah-Hartman [Fri, 4 Dec 2020 11:49:28 +0000 (12:49 +0100)]
driver core: auxiliary bus: minor coding style tweaks
For some reason, the original aux bus patch had some really long lines
in a few places, probably due to it being a very long-lived patch in
development by many different people. Fix that up so that the two files
all have the same length lines and function formatting styles.
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dave Ertman <david.m.ertman@intel.com>
Cc: Fred Oh <fred.oh@linux.intel.com>
Cc: Kiran Patil <kiran.patil@intel.com>
Cc: Leon Romanovsky <leonro@nvidia.com>
Cc: Martin Habets <mhabets@solarflare.com>
Cc: Parav Pandit <parav@mellanox.com>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Cc: Shiraz Saleem <shiraz.saleem@intel.com>
Link: https://lore.kernel.org/r/X8oiSFTpYHw1xE/o@kroah.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Greg Kroah-Hartman [Fri, 4 Dec 2020 11:44:07 +0000 (12:44 +0100)]
driver core: auxiliary bus: make remove function return void
There's an effort to move the remove() callback in the driver core to
not return an int, as nothing can be done if this function fails. To
make that effort easier, make the aux bus remove function void to start
with so that no users have to be changed sometime in the future.
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dave Ertman <david.m.ertman@intel.com>
Cc: Fred Oh <fred.oh@linux.intel.com>
Cc: Kiran Patil <kiran.patil@intel.com>
Cc: Leon Romanovsky <leonro@nvidia.com>
Cc: Martin Habets <mhabets@solarflare.com>
Cc: Parav Pandit <parav@mellanox.com>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Cc: Shiraz Saleem <shiraz.saleem@intel.com>
Link: https://lore.kernel.org/r/X8ohB1ks1NK7kPop@kroah.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Greg Kroah-Hartman [Fri, 4 Dec 2020 11:43:47 +0000 (12:43 +0100)]
driver core: auxiliary bus: move slab.h from include file
No need to include slab.h in include/linux/auxiliary_bus.h, as it is not
needed there. Move it to drivers/base/auxiliary.c instead.
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dave Ertman <david.m.ertman@intel.com>
Cc: Fred Oh <fred.oh@linux.intel.com>
Cc: Kiran Patil <kiran.patil@intel.com>
Cc: Leon Romanovsky <leonro@nvidia.com>
Cc: Martin Habets <mhabets@solarflare.com>
Cc: Parav Pandit <parav@mellanox.com>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Cc: Shiraz Saleem <shiraz.saleem@intel.com>
Link: https://lore.kernel.org/r/X8og8xi3WkoYXet9@kroah.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dave Ertman [Thu, 3 Dec 2020 00:54:24 +0000 (16:54 -0800)]
Add auxiliary bus support
Add support for the Auxiliary Bus, auxiliary_device and auxiliary_driver.
It enables drivers to create an auxiliary_device and bind an
auxiliary_driver to it.
The bus supports probe/remove shutdown and suspend/resume callbacks.
Each auxiliary_device has a unique string based id; driver binds to
an auxiliary_device based on this id through the bus.
Co-developed-by: Kiran Patil <kiran.patil@intel.com>
Co-developed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Co-developed-by: Fred Oh <fred.oh@linux.intel.com>
Co-developed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Kiran Patil <kiran.patil@intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Shiraz Saleem <shiraz.saleem@intel.com>
Reviewed-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Martin Habets <mhabets@solarflare.com>
Link: https://lore.kernel.org/r/20201113161859.1775473-2-david.m.ertman@intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Link: https://lore.kernel.org/r/160695681289.505290.8978295443574440604.stgit@dwillia2-desk3.amr.corp.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Shengjiu Wang [Mon, 30 Nov 2020 03:57:48 +0000 (11:57 +0800)]
ASoC: bindings: fsl-asoc-card: add compatible string for si476x codec
The si476x codec is used for FM radio function on i.MX6
auto board.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://lore.kernel.org/r/1606708668-28786-2-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Shengjiu Wang [Mon, 30 Nov 2020 03:57:47 +0000 (11:57 +0800)]
ASoC: fsl-asoc-card: Add support for si476x codec
The si476x codec is used for FM radio function on i.MX6
auto board, it only supports recording function.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Link: https://lore.kernel.org/r/1606708668-28786-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Fabio Estevam [Thu, 3 Dec 2020 01:34:39 +0000 (22:34 -0300)]
ASoC: fsl_audmix: Remove unneeded data field
The .data field is only used to pass the string name to
platform_device_register_data().
Pass the string name directly to make the code simpler.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Link: https://lore.kernel.org/r/20201203013439.10617-1-festevam@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 2 Dec 2020 15:19:11 +0000 (15:19 +0000)]
Merge series "ASoC: mediatek: mt8192: support new machine rt1015p_rt5682" from Tzung-Bi Shih <tzungbi@google.com>:
The series supports new machines with rt1015p and rt5682. Reuses most of
the code in mt8192-mt6359-rt1015-rt5682.c.
The first 3 patches refactor the existing mt8192-mt6359-rt1015-rt5682.c.
For easier to support newly added components later.
The 4th patch fixes a typo in DT bindings document.
The 5th patch proposes a new compatible string "mt8192_mt6359_rt1015p_rt5682"
for machines with rt1015p and rt5682.
The 6th patch reuses the existing machine driver to support machines with
rt1015p and rt5682.
Tzung-Bi Shih (6):
ASoC: mediatek: mt8192: rename common symbols
ASoC: mediatek: mt8192: extract rt1015_rt5682 specific DAI link
ASoC: mediatek: mt8192: move rt1015_rt5682 specific data
ASoC: dt-bindings: mt8192-mt6359: fix typo in the example
ASoC: dt-bindings: mt8192-mt6359: add new compatible for using rt1015p
ASoC: mediatek: mt8192: support rt1015p_rt5682
.../sound/mt8192-mt6359-rt1015-rt5682.yaml | 6 +-
sound/soc/mediatek/Kconfig | 1 +
.../mt8192/mt8192-mt6359-rt1015-rt5682.c | 171 +++++++++++++-----
3 files changed, 129 insertions(+), 49 deletions(-)
--
2.29.2.454.gaff20da3a2-goog
Alexandre Belloni [Mon, 30 Nov 2020 21:56:26 +0000 (22:56 +0100)]
ASoC: adau1372: add missing dependencies
SND_SOC_ADAU1372_I2C and SND_SOC_ADAU1372_SPI prpoerly select the REGMAP
config they need but forget to depend on the underlying bus.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201130215626.2400999-1-alexandre.belloni@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Dan Carpenter [Wed, 2 Dec 2020 06:51:46 +0000 (09:51 +0300)]
ASoC: codecs: lpass-va-macro: remove some dead code
The "decimator" variable is in the 0-7 range and it's unsigned so there
is no need to check for negative values.
Fixes:
908e6b1df26e ("ASoC: codecs: lpass-va-macro: Add support to VA Macro")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/X8c5gjZO7YN/CFsq@mwanda
Signed-off-by: Mark Brown <broonie@kernel.org>
Jack Yu [Wed, 2 Dec 2020 02:13:36 +0000 (10:13 +0800)]
ASoC: rt715: remove unused parameter
Remove unused parameter in rt715.h.
Signed-off-by: Jack Yu <jack.yu@realtek.com>
Link: https://lore.kernel.org/r/20201202021336.3591-1-jack.yu@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 2 Dec 2020 13:56:48 +0000 (13:56 +0000)]
Merge branch '20201104_yung_chuan_liao_regmap_soundwire_asoc_add_soundwire_sdca_support' (early part) into asoc-5.11
Mark Brown [Wed, 2 Dec 2020 13:55:06 +0000 (13:55 +0000)]
Merge tag 'soundwire-for-asoc-5.11' of git://git./linux/kernel/git/vkoul/soundwire into asoc-5.11
soundwire-for-asoc-5.11
Tag for asoc to resolve build dependency with commit
b7cab9be7c16
("soundwire: SDCA: detect sdca_cascade interrupt")
Tzung-Bi Shih [Tue, 1 Dec 2020 13:26:14 +0000 (21:26 +0800)]
ASoC: mediatek: mt8192: support rt1015p_rt5682
Supports machines with rt1015p and rt5682. Uses new proposed compatible
string "mt8192_mt6359_rt1015p_rt5682".
Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20201201132614.1691352-7-tzungbi@google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Tzung-Bi Shih [Tue, 1 Dec 2020 13:26:13 +0000 (21:26 +0800)]
ASoC: dt-bindings: mt8192-mt6359: add new compatible for using rt1015p
Adds new compatible string "mt8192_mt6359_rt1015p_rt5682" for machines
with rt1015p and rt5682.
Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20201201132614.1691352-6-tzungbi@google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Tzung-Bi Shih [Tue, 1 Dec 2020 13:26:12 +0000 (21:26 +0800)]
ASoC: dt-bindings: mt8192-mt6359: fix typo in the example
Both driver "sound/soc/mediatek/mt8192/mt8192-mt6359-rt1015-rt5682.c"
and DT binding property use underscore version compatible string.
Fixes the typo in the example.
Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20201201132614.1691352-5-tzungbi@google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Tzung-Bi Shih [Tue, 1 Dec 2020 13:26:11 +0000 (21:26 +0800)]
ASoC: mediatek: mt8192: move rt1015_rt5682 specific data
Moves rt1015_rt5682 specific data right before the snd_soc_card
definition for neat purpose.
Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20201201132614.1691352-4-tzungbi@google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Tzung-Bi Shih [Tue, 1 Dec 2020 13:26:10 +0000 (21:26 +0800)]
ASoC: mediatek: mt8192: extract rt1015_rt5682 specific DAI link
Extracts rt1015_rt5682 specific DAI link from the common one. Fills the
DAI link data according to of_match.
Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20201201132614.1691352-3-tzungbi@google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Tzung-Bi Shih [Tue, 1 Dec 2020 13:26:09 +0000 (21:26 +0800)]
ASoC: mediatek: mt8192: rename common symbols
Renames common symbols from "mt8192_mt6359_rt1015_rt5682" to
"mt8192_mt6359".
They will share between a few machine drivers on MT8192 and MT6359
with some different audio components.
Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Link: https://lore.kernel.org/r/20201201132614.1691352-2-tzungbi@google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Mon, 30 Nov 2020 16:05:07 +0000 (16:05 +0000)]
Merge branch 'for-5.10' of https://git./linux/kernel/git/broonie/sound into asoc-5.11
Mark Brown [Mon, 30 Nov 2020 15:59:13 +0000 (15:59 +0000)]
Merge series "ASoC: SOF: Intel: fix ICL boot sequence" from Kai Vehmanen <kai.vehmanen@linux.intel.com>:
Series introducing a modified boot sequence for the Intel Ice Lake
platform. While no bugs are currently open for this, the current
DSP boot implementation does not follow the full programming sequence.
This patchset is the first instance where SOF driver uses data in
the extended manifest (part of the firmware binary), to influence
the boot process. IPC cannot be used to get this information, as it
is already needed for early boot.
This change is backwards compatible with old firmware versions,
where extended manifest is not available.
Fred Oh (5):
ASoC: SOF: ops: add parse_platform_ext_manifest() op
ASoC: SOF: Intel: hda: define parse_platform_ext_manifest op
ASoC: SOF: ext_manifest: parse cavs extra config data elem
ASoC: SOF: ops: modify the signature of stall op
ASoC: SOF: Intel: hda: add sof_icl_ops for ICL platforms
include/sound/sof/ext_manifest.h | 1 +
sound/soc/sof/intel/Makefile | 2 +-
sound/soc/sof/intel/apl.c | 3 +
sound/soc/sof/intel/cnl.c | 19 +---
sound/soc/sof/intel/ext_manifest.h | 35 +++++++
sound/soc/sof/intel/hda-loader.c | 100 ++++++++++++++++++++
sound/soc/sof/intel/hda.h | 11 +++
sound/soc/sof/intel/icl.c | 145 +++++++++++++++++++++++++++++
sound/soc/sof/intel/tgl.c | 3 +
sound/soc/sof/loader.c | 3 +
sound/soc/sof/ops.h | 14 ++-
sound/soc/sof/sof-pci-dev.c | 2 +-
sound/soc/sof/sof-priv.h | 7 +-
13 files changed, 324 insertions(+), 21 deletions(-)
create mode 100644 sound/soc/sof/intel/ext_manifest.h
create mode 100644 sound/soc/sof/intel/icl.c
--
2.28.0
Mark Brown [Mon, 30 Nov 2020 15:59:12 +0000 (15:59 +0000)]
Merge series "ASoC: tidyup for jack.h" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
Hi Mark
These are jack.h related tidyup.
Kuninori Morimoto (2):
ASoC: soc-core: tidyup jack.h
ASoC: add soc-jack.h
include/sound/soc-jack.h | 132 ++++++++++++++++++++++++++++++++++++
include/sound/soc.h | 122 +--------------------------------
include/trace/events/asoc.h | 1 +
sound/soc/soc-core.c | 1 -
4 files changed, 134 insertions(+), 122 deletions(-)
create mode 100644 include/sound/soc-jack.h
--
2.25.1
Mark Brown [Mon, 30 Nov 2020 15:59:10 +0000 (15:59 +0000)]
Merge series "ASoC: amd: Minor fixes for error handling" from Takashi Iwai <tiwai@suse.de>:
Hi,
this is a set of patches to address the errors appearing on the
machine that has no I2S DMIC on AMD machine but probed.
Takashi
===
Takashi Iwai (2):
ASoC: amd: Downgrade print level for invalid ACP mode
ASoC: amd: Return -ENODEV for non-existing ACPI call
sound/soc/amd/raven/pci-acp3x.c | 2 +-
sound/soc/amd/renoir/rn-pci-acp3x.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--
2.26.2
Lars-Peter Clausen [Fri, 27 Nov 2020 12:30:30 +0000 (13:30 +0100)]
ASoC: Add ADAU1372 audio CODEC support
Add support for the Analog Devices ADAU1372 audio CODEC.
[Alexandre Belloni: allow 32kHz for TDM4 in slave mode]
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201127123030.1610574-2-alexandre.belloni@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Alexandre Belloni [Fri, 27 Nov 2020 12:30:29 +0000 (13:30 +0100)]
ASoC: adau1372: Add bindings documentation
Add device tree binding documentation for Analog Devices ADAU1372.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20201127123030.1610574-1-alexandre.belloni@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Sun, 29 Nov 2020 23:45:26 +0000 (08:45 +0900)]
ASoC: add soc-jack.h
ALSA SoC has soc-jack.c, but doesn't have soc-jack.h.
This patch creates new soc-jack.h and moves snd_soc_jack_xxx()
from soc.h.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87wny3u3zg.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Sun, 29 Nov 2020 23:45:19 +0000 (08:45 +0900)]
ASoC: soc-core: tidyup jack.h
soc-core.c don't need sound/jack.h anymore, but asoc.h needs it.
This patch fixup header magic.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87y2iju3zm.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Lumi Lee [Mon, 30 Nov 2020 03:11:15 +0000 (11:11 +0800)]
ASoC: mediatek: btcvsd fix tx stream assign
Fix tx/rx stream assign in write.
Write should use tx instead of rx.
Signed-off-by: Lumi Lee <lumi.lee@mediatek.com>
Link: https://lore.kernel.org/r/1606705875-1940-1-git-send-email-Lumi.Lee@mediatek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Takashi Iwai [Fri, 27 Nov 2020 14:31:59 +0000 (15:31 +0100)]
ASoC: amd: Return -ENODEV for non-existing ACPI call
AMD Renoir driver tries to identify the presence of DMIC by evaluating
ACPI _WOV entry, and it returns -EINVAL when the ACPI call failed.
This ended up an error message like
snd_rn_pci_acp3x: probe of 0000:04:00.5 failed with error -22
although the system is correctly set up.
For avoiding such a superfluous error message, change the return value
to -ENODEV. Then the driver core just skips to the next one without
complaining.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20201127143200.16272-3-tiwai@suse.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Takashi Iwai [Fri, 27 Nov 2020 14:31:58 +0000 (15:31 +0100)]
ASoC: amd: Downgrade print level for invalid ACP mode
The acp3x raven driver skips the probing when the given device isn't
connected with I2S. This skip behavior itself is fine, but the driver
also emits an error message "Invalid ACP audio mode" with KERN_ERR.
This isn't nice since it appears on the boot screen even if a boot
splash is running, although this itself is no real error.
Downgrade the print level to KERN_INFO so that this message won't
appear on the console unnecessarily.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20201127143200.16272-2-tiwai@suse.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Fred Oh [Fri, 27 Nov 2020 16:40:22 +0000 (18:40 +0200)]
ASoC: SOF: Intel: hda: add sof_icl_ops for ICL platforms
Separate the dsp ops for ICL ops to specify the use of ICCMAX
FW boot sequence in the run op. All other ops are identical with TGL
except post_fw_run. The recommended HW programming sequence for ICL
is to power up core 3 and keep it in stall if HPRO is enabled.
Signed-off-by: Fred Oh <fred.oh@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/20201127164022.2498406-6-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Fred Oh [Fri, 27 Nov 2020 16:40:21 +0000 (18:40 +0200)]
ASoC: SOF: ops: modify the signature of stall op
Modify the signature of stall op to specify core_mask to stall cores.
Signed-off-by: Fred Oh <fred.oh@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/20201127164022.2498406-5-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Fred Oh [Fri, 27 Nov 2020 16:40:20 +0000 (18:40 +0200)]
ASoC: SOF: ext_manifest: parse cavs extra config data elem
OUTBOX_SIZE, INBOX_SIZE are defined but not being used yet. Handle
these elements to avoid warning about unknown token type.
Signed-off-by: Fred Oh <fred.oh@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/20201127164022.2498406-4-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Fred Oh [Fri, 27 Nov 2020 16:40:19 +0000 (18:40 +0200)]
ASoC: SOF: Intel: hda: define parse_platform_ext_manifest op
Define the parse_platform_ext_manifest() op for HDA platforms to parse
the SOF_EXT_MAN_CAVS_CONFIG_CAVS_LPRO config item to determine if the FW
is configured for LPRO. The default clock configuration is assumed to be
HPRO in the absence of this item in the extended manifest.
New member clk_config_lpro is added to struct sof_intel_hda_dev to store
the FW clock config information and that this will be used later to perform
platform-specific operations in the post_fw_run op.
Signed-off-by: Fred Oh <fred.oh@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/20201127164022.2498406-3-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Fred Oh [Fri, 27 Nov 2020 16:40:18 +0000 (18:40 +0200)]
ASoC: SOF: ops: add parse_platform_ext_manifest() op
Add parse_platform_ext_manifest() op to parse platform-specific config
data in the extended manifest.
Signed-off-by: Fred Oh <fred.oh@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/20201127164022.2498406-2-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
xuyuqing [Wed, 18 Nov 2020 00:58:58 +0000 (08:58 +0800)]
ASoC: qcom: sc7180: fix 32 bit format for adau7002
the microphone is attached to external codec(adau7002)
instead of rt5682.We need to always use 32 bit format on sc7180
to meet the clock requirement of adau7002:
The ADAU7002 requires a BCLK rate
that is a minimum of 64× the LRCLK sample rate
Signed-off-by: xuyuqing <xuyuqing@huaqin.corp-partner.google.com>
Link: https://lore.kernel.org/r/20201118005858.123013-2-xuyuqing@huaqin.corp-partner.google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Fri, 27 Nov 2020 00:07:40 +0000 (09:07 +0900)]
ASoC: soc-core: add soc_dapm_suspend_resume()
snd_soc_suspend() and soc_resume_deferred() are calling
same snd_soc_dapm_stream_event() with same logic with different parameter.
This patch adds new soc_dapm_suspend_resume() and share the code.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87im9rekfp.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Fri, 27 Nov 2020 00:07:35 +0000 (09:07 +0900)]
ASoC: soc-core: add soc_playback_digital_mute()
snd_soc_suspend() and soc_resume_deferred() are calling
same snd_soc_dai_digital_mute() with same logic with different parameter.
This patch adds new soc_playback_digital_mute() and share the code.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87k0u7ekfv.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Thu, 26 Nov 2020 20:03:01 +0000 (20:03 +0000)]
Merge series "ASoC: merge soc_compr_open() rollback and soc_compr_free()" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
Hi Mark
soc_compr_open() does rollback when failed (A),
but, it is almost same as soc_compr_free().
static int soc_compr_open(xxx)
{
...
if (ret < 0)
goto xxx_err;
...
return 0;
^ machine_err:
| ...
| out:
(A) ...
| pm_err:
| ...
v return ret;
}
This kind of duplicated code can be a hotbed of bugs,
thus, this patch-set share soc_compr_free() and rollback.
Kuninori Morimoto (5):
ASoC: soc-compress: move soc_compr_free() next to soc_compr_open()
ASoC: soc-dai: add mark for snd_soc_dai_compr_startup/shutdown()
ASoC: soc-component: add mark for snd_soc_component_compr_open/free()
ASoC: soc-component: add mark for snd_soc_link_compr_startup/shutdown()
ASoC: soc-compress: add soc_compr_clean() and call it from soc_compr_open/free()
include/sound/soc-component.h | 6 +-
include/sound/soc-dai.h | 4 +-
include/sound/soc-link.h | 3 +-
include/sound/soc.h | 1 +
sound/soc/soc-component.c | 17 +++--
sound/soc/soc-compress.c | 115 +++++++++++++++++-----------------
sound/soc/soc-dai.c | 13 +++-
sound/soc/soc-link.c | 11 +++-
8 files changed, 95 insertions(+), 75 deletions(-)
--
2.25.1