summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)Author
2020-12-08ASoC: fsl: Add imx-hdmi machine driverShengjiu Wang
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>
2020-12-07ASoC: SOF: trace: Add runtime trace filtering mechanismKarol Trzcinski
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>
2020-12-07ASoC: pcm: send DAPM_STREAM_STOP event in dpcm_fe_dai_shutdownRanjani Sridharan
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>
2020-12-04ASoC: qcom: fix QDSP6 dependencies, attempt #3Arnd Bergmann
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>
2020-12-04ASoC: fsl_aud2htx: mark PM functions as __maybe_unusedArnd Bergmann
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>
2020-12-04ASoC: intel: sof_rt5682: Add support for tgl_rt1011_rt5682Brent Lu
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>
2020-12-04ASoC: atmel: mchp-spdifrx needs COMMON_CLKArnd Bergmann
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>
2020-12-04ASoC: cros_ec_codec: fix uninitialized memory readArnd Bergmann
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>
2020-12-04ASoC: SOF: control: fix cppcheck warning in snd_sof_volume_info()Pierre-Louis Bossart
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>
2020-12-04Merge tag 'auxbus-5.11-rc1' of ↵Mark Brown
git://git.kernel.org/pub/scm/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>
2020-12-03ASoC: fsl-asoc-card: Add support for si476x codecShengjiu Wang
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>
2020-12-03ASoC: fsl_audmix: Remove unneeded data fieldFabio Estevam
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>
2020-12-02Merge series "ASoC: mediatek: mt8192: support new machine rt1015p_rt5682" ↵Mark Brown
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
2020-12-02ASoC: adau1372: add missing dependenciesAlexandre Belloni
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>
2020-12-02ASoC: codecs: lpass-va-macro: remove some dead codeDan Carpenter
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>
2020-12-02ASoC: rt715: remove unused parameterJack Yu
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>
2020-12-02Merge branch ↵Mark Brown
'20201104_yung_chuan_liao_regmap_soundwire_asoc_add_soundwire_sdca_support' (early part) into asoc-5.11
2020-12-02ASoC: mediatek: mt8192: support rt1015p_rt5682Tzung-Bi Shih
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>
2020-12-02ASoC: mediatek: mt8192: move rt1015_rt5682 specific dataTzung-Bi Shih
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>
2020-12-02ASoC: mediatek: mt8192: extract rt1015_rt5682 specific DAI linkTzung-Bi Shih
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>
2020-12-02ASoC: mediatek: mt8192: rename common symbolsTzung-Bi Shih
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>
2020-11-30Merge branch 'for-5.10' of ↵Mark Brown
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.11
2020-11-30Merge series "ASoC: SOF: Intel: fix ICL boot sequence" from Kai Vehmanen ↵Mark Brown
<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
2020-11-30Merge series "ASoC: tidyup for jack.h" from Kuninori Morimoto ↵Mark Brown
<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
2020-11-30Merge series "ASoC: amd: Minor fixes for error handling" from Takashi Iwai ↵Mark Brown
<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
2020-11-30ASoC: Add ADAU1372 audio CODEC supportLars-Peter Clausen
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>
2020-11-30ASoC: soc-core: tidyup jack.hKuninori Morimoto
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>
2020-11-30ASoC: mediatek: btcvsd fix tx stream assignLumi Lee
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>
2020-11-30ASoC: amd: Return -ENODEV for non-existing ACPI callTakashi Iwai
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>
2020-11-30ASoC: amd: Downgrade print level for invalid ACP modeTakashi Iwai
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>
2020-11-27ASoC: SOF: Intel: hda: add sof_icl_ops for ICL platformsFred Oh
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>
2020-11-27ASoC: SOF: ops: modify the signature of stall opFred Oh
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>
2020-11-27ASoC: SOF: ext_manifest: parse cavs extra config data elemFred Oh
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>
2020-11-27ASoC: SOF: Intel: hda: define parse_platform_ext_manifest opFred Oh
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>
2020-11-27ASoC: SOF: ops: add parse_platform_ext_manifest() opFred Oh
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>
2020-11-27ASoC: qcom: sc7180: fix 32 bit format for adau7002xuyuqing
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>
2020-11-27ASoC: soc-core: add soc_dapm_suspend_resume()Kuninori Morimoto
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>
2020-11-27ASoC: soc-core: add soc_playback_digital_mute()Kuninori Morimoto
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>
2020-11-26Merge series "ASoC: merge soc_compr_open() rollback and soc_compr_free()" ↵Mark Brown
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
2020-11-26Merge series "ASoC: fix !OF compile test warnings" from Krzysztof Kozlowski ↵Mark Brown
<krzk@kernel.org>: Hi, Changes since v1: 1. New patch 2/39: ASoC: bd28623: mark OF related data as maybe unused, 2. Patches 1-13: add maybe_unused after discussions with Mark, 3. Add Sylwester's review to two patches (one changed so please review one more time). Best regards, Krzysztof Krzysztof Kozlowski (39): ASoC: ak5558: mark OF related data as maybe unused ASoC: bd28623: mark OF related data as maybe unused ASoC: gtm601: mark OF related data as maybe unused ASoC: inno_rk3036: mark OF related data as maybe unused ASoC: rk3328: mark OF related data as maybe unused ASoC: tas571x: mark OF related data as maybe unused ASoC: kirkwood: armada-370-db: mark OF related data as maybe unused ASoC: meson: t9015: mark OF related data as maybe unused ASoC: qcom: mark OF related data as maybe unused ASoC: samsung: smdk_wm8994: mark OF related data as maybe unused ASoC: rockchip: mark OF related data as maybe unused ASoC: ti: davinci: mark OF related data as maybe unused ASoC: uniphier: mark OF related data as maybe unused ASoC: ak4118: skip of_device_id table when !CONFIG_OF ASoC: alc5623: skip of_device_id table when !CONFIG_OF ASoC: alc5632: skip of_device_id table when !CONFIG_OF ASoC: da7218: skip of_device_id table when !CONFIG_OF ASoC: da7219: skip of_device_id table when !CONFIG_OF ASoC: da9055: skip of_device_id table when !CONFIG_OF ASoC: es8316: skip of_device_id table when !CONFIG_OF ASoC: max98090: skip of_device_id table when !CONFIG_OF ASoC: max98095: skip of_device_id table when !CONFIG_OF ASoC: max98371: skip of_device_id table when !CONFIG_OF ASoC: max9867: skip of_device_id table when !CONFIG_OF ASoC: max98925: skip of_device_id table when !CONFIG_OF ASoC: max98926: skip of_device_id table when !CONFIG_OF ASoC: pcm1789: skip of_device_id table when !CONFIG_OF ASoC: pcm179x: skip of_device_id table when !CONFIG_OF ASoC: rt5660: skip of_device_id table when !CONFIG_OF ASoC: tas2562: skip of_device_id table when !CONFIG_OF ASoC: tlv320: skip of_device_id table when !CONFIG_OF ASoC: ts3a227e: skip of_device_id table when !CONFIG_OF ASoC: es7134: mark OF related data as maybe unused ASoC: es7241: mark OF related data as maybe unused ASoC: samsung: i2s: mark OF related data as maybe unused ASoC: max98371: drop driver pm=NULL assignment ASoC: max98925: drop driver pm=NULL assignment ASoC: max98926: drop driver pm=NULL assignment ASoC: samsung: smdk_wm8994: remove redundant of_match_ptr() sound/soc/codecs/ak4118.c | 2 ++ sound/soc/codecs/ak5558.c | 2 +- sound/soc/codecs/alc5623.c | 2 ++ sound/soc/codecs/alc5632.c | 2 ++ sound/soc/codecs/bd28623.c | 2 +- sound/soc/codecs/da7218.c | 2 ++ sound/soc/codecs/da7219.c | 2 ++ sound/soc/codecs/da9055.c | 2 ++ sound/soc/codecs/es7134.c | 4 ++-- sound/soc/codecs/es7241.c | 2 +- sound/soc/codecs/es8316.c | 2 ++ sound/soc/codecs/gtm601.c | 2 +- sound/soc/codecs/inno_rk3036.c | 2 +- sound/soc/codecs/max98090.c | 2 ++ sound/soc/codecs/max98095.c | 2 ++ sound/soc/codecs/max98371.c | 3 ++- sound/soc/codecs/max9867.c | 2 ++ sound/soc/codecs/max98925.c | 3 ++- sound/soc/codecs/max98926.c | 3 ++- sound/soc/codecs/pcm1789-i2c.c | 2 ++ sound/soc/codecs/pcm179x-i2c.c | 2 ++ sound/soc/codecs/rk3328_codec.c | 2 +- sound/soc/codecs/rt5660.c | 2 ++ sound/soc/codecs/tas2562.c | 2 ++ sound/soc/codecs/tas571x.c | 4 ++-- sound/soc/codecs/tlv320adcx140.c | 2 ++ sound/soc/codecs/tlv320aic23-i2c.c | 2 ++ sound/soc/codecs/ts3a227e.c | 2 ++ sound/soc/kirkwood/armada-370-db.c | 2 +- sound/soc/meson/t9015.c | 2 +- sound/soc/qcom/apq8016_sbc.c | 2 +- sound/soc/qcom/lpass-apq8016.c | 2 +- sound/soc/qcom/lpass-ipq806x.c | 2 +- sound/soc/qcom/lpass-sc7180.c | 2 +- sound/soc/rockchip/rockchip_i2s.c | 2 +- sound/soc/rockchip/rockchip_pdm.c | 2 +- sound/soc/rockchip/rockchip_spdif.c | 2 +- sound/soc/samsung/i2s.c | 8 ++++---- sound/soc/samsung/smdk_wm8994.c | 4 ++-- sound/soc/ti/davinci-i2s.c | 2 +- sound/soc/uniphier/aio-ld11.c | 2 +- sound/soc/uniphier/aio-pxs2.c | 2 +- sound/soc/uniphier/evea.c | 2 +- 43 files changed, 69 insertions(+), 32 deletions(-) -- 2.25.1
2020-11-26ASoC/SoundWire: rt715-sdca: First version of rt715 sdw sdca codec driverJack Yu
First version of rt715 sdw sdca codec driver. Signed-off-by: Jack Yu <jack.yu@realtek.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20201103172226.4278-4-yung-chuan.liao@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2020-11-26ASoC: soc-compress: add soc_compr_clean() and call it from soc_compr_open/free()Kuninori Morimoto
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; } The difference is soc_compr_free() is for all dai/component/substream, rollback is for succeeded part only. This kind of duplicated code can be a hotbed of bugs, thus, we want to share soc_compr_free() and rollback. Now, soc_compr_open/free() are handling 1) snd_soc_dai_compr_startup/shutdown() 2) snd_soc_component_compr_open/free() 3) snd_soc_link_compr_startup/shutdown() Now, 1) to 3) are handled. This patch adds new soc_compr_clean() and call it from soc_compr_open() as rollback, and from soc_compr_free_free() as normal close handler. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87ima25iwa.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2020-11-26ASoC: soc-component: add mark for snd_soc_link_compr_startup/shutdown()Kuninori Morimoto
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; } The difference is soc_compr_free() is for all dai/component/substream, rollback is for succeeded part only. This kind of duplicated code can be a hotbed of bugs, thus, we want to share soc_compr_free() and rollback. 1) snd_soc_dai_compr_startup/shutdown() 2) snd_soc_component_compr_open/free() => 3) snd_soc_link_compr_startup/shutdown() This patch is for 3) snd_soc_link_compr_startup/shutdown() and adds new cstream mark. It will mark cstream when startup() was suceeded. If rollback happen *after* that, it will check rollback flag and marked cstream. It cares *previous* startup() only now, but we might want to check *whole* marked cstream in the future. This patch is using macro so that it can be easily adjust to it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87k0ui5iwf.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2020-11-26ASoC: soc-component: add mark for snd_soc_component_compr_open/free()Kuninori Morimoto
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; } The difference is soc_compr_free() is for all dai/component/substream, rollback is for succeeded part only. This kind of duplicated code can be a hotbed of bugs, thus, we want to share soc_compr_free() and rollback. 1) snd_soc_dai_compr_startup/shutdown() => 2) snd_soc_component_compr_open/free() 3) snd_soc_link_compr_startup/shutdown() This patch is for 2) snd_soc_component_compr_open/free(), and adds new cstream mark. It will mark cstream when startup() was suceeded. If rollback happen *after* that, it will check rollback flag and marked cstream. It cares *previous* startup() only now, but we might want to check *whole* marked cstream in the future. This patch is using macro so that it can be easily adjust to it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87lfey5iwk.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2020-11-26ASoC: soc-dai: add mark for snd_soc_dai_compr_startup/shutdown()Kuninori Morimoto
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; } The difference is soc_compr_free() is for all dai/component/substream, rollback is for succeeded part only. This kind of duplicated code can be a hotbed of bugs, thus, we want to share soc_compr_free() and rollback. => 1) snd_soc_dai_compr_startup/shutdown() 2) snd_soc_component_compr_open/free() 3) snd_soc_link_compr_startup/shutdown() This patch is for 1) snd_soc_dai_compr_startup/shutdown(), and adds new cstream mark. It will mark cstream when startup() was suceeded. If rollback happen *after* that, it will check rollback flag and marked cstream. It cares *previous* startup() only now, but we might want to check *whole* marked cstream in the future. This patch is using macro so that it can be easily adjust to it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87mtze5iwp.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2020-11-26ASoC: soc-compress: move soc_compr_free() next to soc_compr_open()Kuninori Morimoto
This patch moves soc_compr_free() next to soc_compr_open(). This is prepare for soc_compr_open() cleanup. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87o8ju5iwv.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2020-11-26ASoC: fsl: Fix config name of CONFIG_ARCH_MXCShengjiu Wang
CONFIG_ARCH_MXC should be ARCH_MXC Fixes: 674226db62ec ("ASoC: fsl: SND_SOC_FSL_AUD2HTX should depend on ARCH_MXC") Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1606371293-29099-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
2020-11-26ASoC: hdmi-codec: Add RX supportShengjiu Wang
HDMI interface can also be used as receiver, this patch is to add such support. The most difference compare with TX is that RX don't need to get edid information. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1606372608-2329-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
2020-11-26ASoC: samsung: smdk_wm8994: remove redundant of_match_ptr()Krzysztof Kozlowski
of_match_device() already handles properly !CONFIG_OF case, so passing the argument via of_match_ptr() is not needed. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Sylwester Nawrocki <snawrocki@kernel.org> Link: https://lore.kernel.org/r/20201125164452.89239-40-krzk@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
2020-11-26ASoC: max98926: drop driver pm=NULL assignmentKrzysztof Kozlowski
There is no point to explicitly set driver .pm field to NULL. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20201125164452.89239-39-krzk@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>