summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: core: clarify the driver name initializationJaroslav Kysela2022-09-291-14/+23
| | | | | | | | | | | | | | | | | The driver field in the struct snd_ctl_card_info is a valid user space identifier. Actually, many ASoC drivers do not care and let to initialize this field using a standard wrapping method. Unfortunately, in this way, this field becomes unusable and unreadable for the drivers with longer card names. Also, there is a possibility to have clashes (driver field has only limit of 15 characters). This change will print an error when the wrapping is used. The developers of the affected drivers should fix the problem. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: mediatek: mt8186: Fix spelling mistake "slect" -> "select"Colin Ian King2022-09-291-4/+4
| | | | | | | | | There are some spelling mistakes in dev_err messages. Fix them. Signed-off-by: Colin Ian King <colin.i.king@gmail.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20220928220417.66799-1-colin.i.king@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: mediatek: mt8195: update audio tuner settingsTrevor Wu2022-09-281-2/+2
| | | | | | | | | | | | | | | | | Audio tuner is used to handle clock drift between 26M and APLL domain. It's expected when abs(chg_cnt) equals to upper bound, tuner updates pcw setting automatically, and then abs(chg_cnt) decreases. In the stress test, we found abs(chg_cnt) possibly equals to 2 at the unexpected timing. This results in wrong pcw updating. Finally, abs(chg_cnt) will always be larger than upper bound, As a result, we update the upper bound to 3 to handle the corner case. Signed-off-by: Trevor Wu <trevor.wu@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20220927151141.11846-1-trevor.wu@mediatek.com Signed-off-by: Mark Brown <broonie@kernel.org>
* Fix PM disable depth imbalance in stm32 probeMark Brown2022-09-272-5/+7
|\ | | | | | | | | | | | | | | | | Merge series from Zhang Qilong <zhangqilong3@huawei.com>: The pm_runtime_enable will increase power disable depth. Thus a pairing decrement is needed on the error handling path to keep it balanced. We fix it by moving pm_runtime_enable to the endding of probe.
| * ASoC: stm32: spdifrx: Fix PM disable depth imbalance in stm32_spdifrx_probeZhang Qilong2022-09-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The pm_runtime_enable will increase power disable depth. Thus a pairing decrement is needed on the error handling path to keep it balanced according to context. We fix it by moving pm_runtime_enable to the endding of stm32_spdifrx_probe. Fixes:ac5e3efd55868 ("ASoC: stm32: spdifrx: add pm_runtime support") Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com> Reviewed-by: Olivier Moysan <olivier.moysan@foss.st.com> Link: https://lore.kernel.org/r/20220927142601.64266-3-zhangqilong3@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: stm32: dfsdm: Fix PM disable depth imbalance in stm32_adfsdm_probeZhang Qilong2022-09-271-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The pm_runtime_enable will increase power disable depth. Thus a pairing decrement is needed on the error handling path to keep it balanced according to context. We fix it by moving pm_runtime_enable to the endding of stm32_adfsdm_probe. Fixes:98e500a12f934 ("ASoC: stm32: dfsdm: add pm_runtime support for audio") Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com> Reviewed-by: Olivier Moysan <olivier.moysan@foss.st.com> Link: https://lore.kernel.org/r/20220927142601.64266-2-zhangqilong3@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: stm: Fix PM disable depth imbalance in stm32_i2s_probeZhang Qilong2022-09-271-2/+2
|/ | | | | | | | | | | | | | The pm_runtime_enable will increase power disable depth. Thus a pairing decrement is needed on the error handling path to keep it balanced according to context. We fix it by moving pm_runtime_enable to the endding of stm32_i2s_probe. Fixes:32a956a1fadf ("ASoC: stm32: i2s: add pm_runtime support") Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com> Reviewed-by: Olivier Moysan <olivier.moysan@foss.st.com> Link: https://lore.kernel.org/r/20220927142640.64647-1-zhangqilong3@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: cs42l42: Fallback to headphones for type detectStefan Binding2022-09-271-5/+2
| | | | | | | | | | | After tip sense detects a jack insertion, if automatic type detection, and manual type detection fails, then fall back to assume the jack connected belongs to headphones. Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220927121440.2506632-1-sbinding@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: apple: mca: Adjust timing of component unregisterMartin Povišer2022-09-271-2/+3
| | | | | | | | | | On removal of the driver, the ASoC component should be unregistered first, before we start releasing any of the other resources. Fixes: 3df5d0d97289 ("ASoC: apple: mca: Start new platform driver") Signed-off-by: Martin Povišer <povik+lin@cutebit.org> Link: https://lore.kernel.org/r/20220927113426.49724-3-povik+lin@cutebit.org Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: apple: mca: Remove stale release of DMA channelsMartin Povišer2022-09-271-8/+1
| | | | | | | | | | | | The commit 4ec8179c212f ("ASoC: apple: mca: Postpone requesting of DMA channels") shuffled around with the requesting and releasing of DMA channels. It left behind stale release calls from within apple_mca_release, remove those now. Fixes: 4ec8179c212f ("ASoC: apple: mca: Postpone requesting of DMA channels") Signed-off-by: Martin Povišer <povik+lin@cutebit.org> Link: https://lore.kernel.org/r/20220927113426.49724-2-povik+lin@cutebit.org Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: apple: mca: Trigger, not deassert, the peripheral resetMartin Povišer2022-09-271-3/+3
| | | | | | | | | | | | Replace the deassertion of the peripheral's shared reset with the triggering of a pulse on it. This is what we should have been using all along as the platform's custom is not leaving the reset asserted on unused peripherals. Fixes: 3df5d0d97289 ("ASoC: apple: mca: Start new platform driver") Signed-off-by: Martin Povišer <povik+lin@cutebit.org> Link: https://lore.kernel.org/r/20220927113426.49724-1-povik+lin@cutebit.org Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: Intel: Skylake: Replace zero-length arrays with DECLARE_FLEX_ARRAY() ↵Gustavo A. R. Silva2022-09-271-2/+2
| | | | | | | | | | | | | | | | | | | | helper Zero-length arrays are deprecated and we are moving towards adopting C99 flexible-array members, instead. So, replace zero-length arrays declarations in anonymous union with the new DECLARE_FLEX_ARRAY() helper macro. This helper allows for flexible-array members in unions. Link: https://github.com/KSPP/linux/issues/193 Link: https://github.com/KSPP/linux/issues/226 Link: https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Reviewed-by: Kees Cook <keescook@chromium.org> Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Link: https://lore.kernel.org/r/YzIuiUul2CwPlkKh@work Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: st,stm32-sai: Document audio OF graph portMarek Vasut2022-09-271-0/+4
| | | | | | | | | | | It is expected that the SAI subnodes would contain audio OF graph port with endpoint to link it with the other side of audio link. Document the port: property. Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Olivier Moysan <olivier.moysan@foss.st.com> Link: https://lore.kernel.org/r/20220927002004.685108-1-marex@denx.de Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: SOF: control.h: Replace zero-length array with DECLARE_FLEX_ARRAY() helperGustavo A. R. Silva2022-09-271-3/+3
| | | | | | | | | | | | | | | | | Zero-length arrays are deprecated and we are moving towards adopting C99 flexible-array members, instead. So, replace zero-length arrays declarations in anonymous union with the new DECLARE_FLEX_ARRAY() helper macro. This helper allows for flexible-array members in unions. Link: https://github.com/KSPP/linux/issues/193 Link: https://github.com/KSPP/linux/issues/211 Link: https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Reviewed-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/YzIcZ11k8RiQtS2T@work Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: SOF: mediatek: mt8195: Add dsp_ops callbackMark Brown2022-09-271-0/+44
|\ | | | | | | | | | | Merge series from Chunxu Li <chunxu.li@mediatek.com>: Support more operations for MediaTek DSPs using SOF.
| * ASoC: SOF: mediatek: mt8195: Add pcm_pointer callbackChunxu Li2022-09-261-0/+33
| | | | | | | | | | | | | | | | | | | | Add pcm_pointer callback for mt8195 to support read host position from DSP Signed-off-by: Chunxu Li <chunxu.li@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20220924033559.26599-3-chunxu.li@mediatek.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: SOF: mediatek: mt8195: Add pcm_hw_params callbackChunxu Li2022-09-261-0/+11
| | | | | | | | | | | | | | | | | | | | Add pcm_hw_params callback for mt8195 to support continue update dma host position Signed-off-by: Chunxu Li <chunxu.li@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20220924033559.26599-2-chunxu.li@mediatek.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: MAINTAINERS: add bindings and APR to Qualcomm Audio entryKrzysztof Kozlowski2022-09-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | Extend the Qualcomm Audio maintainer entry to include sound related bindings and the Qualcomm APR/GPR (Asynchronous/Generic Packet Router) IPC driver, which is tightly related to the Audio DSP. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20220923203140.514730-1-krzysztof.kozlowski@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: codecs: wcd934x: Fix Kconfig dependencyRen Zhijie2022-09-261-0/+1
|/ | | | | | | | | | | | | | | | | | If CONFIG_REGMAP_SLIMBUS is not set, make ARCH=x86_64 CROSS_COMPILE=x86_64-linux-gnu-, will be failed, like this: sound/soc/codecs/wcd934x.o: In function `wcd934x_codec_probe': wcd934x.c:(.text+0x3310): undefined reference to `__regmap_init_slimbus' make: *** [vmlinux] Error 1 Add select REGMAP_SLIMBUS to config SND_SOC_WCD934X. Fixes: a61f3b4f476e ("ASoC: wcd934x: add support to wcd9340/wcd9341 codec") Signed-off-by: Ren Zhijie <renzhijie2@huawei.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20220926074042.13297-1-renzhijie2@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: SOF: ipc4/Intel: Improve and enable IPC error dumpMark Brown2022-09-2310-15/+77
|\ | | | | | | | | | | | | | | | | | | | | Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>: On Intel platforms the registers for DSP communications are used differently, the IPC dump information is not correct since important registers are not printed and existing ones are used a bit differently for IPC4. As a last step, enable the IPC timeout 'handling' and allow the printout of the now usefull IPC dump.
| * ASoC: SOF: ipc4: Call snd_sof_handle_fw_exception() in case of timeoutPeter Ujfalusi2022-09-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | It can help debugging IPC timeout issues (like we do with IPC3) if we dump the IPC and DSP information. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Link: https://lore.kernel.org/r/20220923133616.26267-7-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: SOF: Intel: hda: Only dump firmware registers for IPC3Peter Ujfalusi2022-09-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | The firmware register dump is IPC3 specific, it is not available for other IPC versions. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Link: https://lore.kernel.org/r/20220923133616.26267-6-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: SOF: Intel: mtl: Print relevant register in ipc_dumpPeter Ujfalusi2022-09-231-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The use of the IPC registers are different between IPC3 and IPC4. The ipc_dump needs to use different prints depending on the used IPC protocol. The existing code was printing registers relevant for IPC3, which is not even supported on MTL. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Link: https://lore.kernel.org/r/20220923133616.26267-5-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: SOF: Intel: skl: Use the ipc4 version of the ipc_dumpPeter Ujfalusi2022-09-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The use of the IPC registers are different between IPC3 and IPC4. The ipc_dump needs to use different prints depending on the used IPC protocol. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Link: https://lore.kernel.org/r/20220923133616.26267-4-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: SOF: Intel: hda: Add separate ops for ipc_dump for IPC4Peter Ujfalusi2022-09-233-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | The use of the IPC registers are different between IPC3 and IPC4. The ipc_dump needs to use different prints depending on the used IPC protocol. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Link: https://lore.kernel.org/r/20220923133616.26267-3-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * ASoC: SOF: Intel: cnl: Add separate ops for ipc_dump for IPC4Peter Ujfalusi2022-09-234-3/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | The use of the IPC registers are different between IPC3 and IPC4. The ipc_dump needs to use different prints depending on the used IPC protocol. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Link: https://lore.kernel.org/r/20220923133616.26267-2-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: codecs: qcom add support for SM8450 and SC8280XPMark Brown2022-09-239-71/+120
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge series from Srinivas Kandagatla <srinivas.kandagatla@linaro.org>: This patchset adds support for SM8450 and SC8280XP SoC and also some of the fixes requried to get stable audio on X13s. Tested SmartSpeakers and Headset on SM8450 MTP and Lenovo Thinkpad X13s.
| * | ASoC: codecs: va-macro: add support for sm8450 and sc8280xpSrinivas Kandagatla2022-09-231-4/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LPASS VA Macro now has soundwire master to deal with access to analog mic in low power island use cases. This is added after sc8280xp, add support for this. Along with this also add compatibles for sm8450 and sc8280xp. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220906170112.1984-13-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: va-macro: clear the frame sync counter before enablingSrinivas Kandagatla2022-09-231-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | Clear the frame sync counter before enabling it. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220906170112.1984-12-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: rx-macro: add support for sm8450 and sc8280xpSrinivas Kandagatla2022-09-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Add compatible for sm8450 and sc8280xp. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220906170112.1984-11-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: tx-macro: add support for sm8450 and sc8280xpSrinivas Kandagatla2022-09-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Add compatible for sm8450 and sc8280xp. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220906170112.1984-10-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: wsa-macro: add support for sm8450 and sc8280xpSrinivas Kandagatla2022-09-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Add compatible for sm8450 and sc8280xp. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220906170112.1984-9-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: qcom: dt-bindings: add sm8450 and sc8280xp compatiblesSrinivas Kandagatla2022-09-234-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds SM8450 and SC8280XP compatible entry for LPASS TX, RX, WSA and VA codec macros. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Acked-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220906170112.1984-8-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: wsa883x: add clock stop supportSrinivas Kandagatla2022-09-231-27/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WSA883x does support clock stop, so remove code that reset the Codec during runtime pm suspend and add flag to mark clock stop support. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220906170112.1984-7-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: tx-macro: fix kcontrol putSrinivas Kandagatla2022-09-231-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tx_macro_tx_mixer_put() and tx_macro_dec_mode_put() currently returns zero eventhough it changes the value. Fix this, so that change notifications are sent correctly. Fixes: d207bdea0ca9 ("ASoC: codecs: lpass-tx-macro: add dapm widgets and route") Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220906170112.1984-6-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: tx-macro: fix active_decimator arraySrinivas Kandagatla2022-09-231-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | currently active_decimator[] is unsigned long however we store negative values when there is no decimator setup -1. This is first bug, and the second bug is that we do not check if the decimator is valid before writing to register using decimator as offset in CDC_TXn_TX_PATH_CTL() Fix these both by making active_decimator as integer array and adding check in tx_macro_digital_mute() before accessing CDC_TXn_TX_PATH_CTL() register. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220906170112.1984-5-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: tx-macro: handle swr_reset correctlySrinivas Kandagatla2022-09-231-11/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reset soundwire block on frame sync generation clock reset. Without this we are hitting read/write timeouts randomly during runtime pm. Along with this remove a swr_reset redundant flag. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220906170112.1984-4-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: rx-macro: handle swr_reset correctlySrinivas Kandagatla2022-09-231-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reset soundwire block on frame sync generation clock reset. Without this we are hitting read/write timeouts randomly during runtime pm. Along with this remove a swr_reset redundant flag. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220906170112.1984-3-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: codecs: wsa-macro: handle swr_reset correctlySrinivas Kandagatla2022-09-231-13/+4
| |/ | | | | | | | | | | | | | | | | | | Reset soundwire block on frame sync generation clock reset. Without this we are hitting read/write timeouts randomly during runtime pm. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220906170112.1984-2-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: ssm2518: switch to using gpiod APIDmitry Torokhov2022-09-231-18/+12
| | | | | | | | | | | | | | | | | | This patch converts the driver to newer gpiod API, so that we can stop exporting OF-specific legacy gpio API. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Link: https://lore.kernel.org/r/20220920025804.1788667-2-dmitry.torokhov@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: ssm2518: drop support for platform dataDmitry Torokhov2022-09-232-26/+1
| | | | | | | | | | | | | | | | | | | | | | | | There are currently no users of this driver's platform data in the mainline kernel, so let's drop it. Newer devices should use DT, ACPI, or static software properties to describe the hardware. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Link: https://lore.kernel.org/r/20220920025804.1788667-1-dmitry.torokhov@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: Intel: skylake: remove unnecessary dev_set_drvdata()Yang Yingliang2022-09-231-1/+0
| | | | | | | | | | | | | | | | | | Remove unnecessary dev_set_drvdata() in skl_remove(), the driver_data will be set to NULL in device_unbind_cleanup() after calling ->remove(). Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Link: https://lore.kernel.org/r/20220916140757.681414-1-yangyingliang@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: da7219: Fix an error handling path in da7219_register_dai_clks()Christophe JAILLET2022-09-231-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If clk_hw_register() fails, the corresponding clk should not be unregistered. To handle errors from loops, clean up partial iterations before doing the goto. So add a clk_hw_unregister(). Then use a while (--i >= 0) loop in the unwind section. Fixes: 78013a1cf297 ("ASoC: da7219: Fix clock handling around codec level probe") Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Link: https://lore.kernel.org/r/e4acceab57a0d9e477a8d5890a45c5309e553e7c.1663875789.git.christophe.jaillet@wanadoo.fr Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: fsl_asrc_dma: fully initialize structsSascha Hauer2022-09-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The driver uses two statically ininitialized struct dma_slave_config, but only one of them is initialized to zero. Initialize config_be to zero as well to make sure that no fields are filled with random values. Let the compiler do this instead of explicitly calling memset() which makes it easier to read. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1663928147-10106-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: soc-component: using pm_runtime_resume_and_get instead of ↵Zhang Qilong2022-09-231-4/+2
| | | | | | | | | | | | | | | | | | | | | | pm_runtime_get_sync Using the newest pm_runtime_resume_and_get is more appropriate for simplifing code here. Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com> Link: https://lore.kernel.org/r/20220922145846.114312-1-zhangqilong3@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
* | ASoC: SOF: Intel: MTL: Fixes for suspend/resumeMark Brown2022-09-2310-169/+81
|\ \ | | | | | | | | | | | | | | | | | | Merge series from Ranjani Sridharan <ranjani.sridharan@linux.intel.com>: This series includes fixes for suspend/resume and module loading/unloading for the MTL platform.
| * | ASoC: SOF: Intel: MTL: remove the unnecessary snd_sof_dsp_read()Yong Zhi2022-09-231-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The return val of snd_sof_dsp_read() right before polling the same register is not used, so remove the redundant call. Signed-off-by: Yong Zhi <yong.zhi@intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20220922213644.666315-11-ranjani.sridharan@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: SOF: Intel: MTL: reuse the common ops for PMRanjani Sridharan2022-09-231-150/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the disabling of interrupts and powering down the DSP has been abstracted, re-use the common ops for PM for MTL as well. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20220922213644.666315-10-ranjani.sridharan@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: SOF: Intel: HDA: use IPC version-specific opsRanjani Sridharan2022-09-231-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the IP-specific ops for disabling interrupts and powering down the DSP in hda_suspend. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20220922213644.666315-9-ranjani.sridharan@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
| * | ASoC: SOF: Intel: MTL: define and set the disable_interrupts opRanjani Sridharan2022-09-231-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable the IPC and SDW interrupts in the disable_interrupts op. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20220922213644.666315-8-ranjani.sridharan@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>