- 21 Mar, 2023 3 commits
-
-
Vlad.Karpovich authored
Adds IRQ handlers Signed-off-by: Vlad Karpovich <vkarpovi@opensource.cirrus.com> Link: https://lore.kernel.org/r/167933510218.26.11092784685990338045@mailman-core.alsa-project.orgSigned-off-by: Mark Brown <broonie@kernel.org>
-
Vlad.Karpovich authored
This adds description of CS35L45 GPIOs configuration. Signed-off-by: Vlad Karpovich <vkarpovi@opensource.cirrus.com> Link: https://lore.kernel.org/r/20230315154722.3911463-2-vkarpovi@opensource.cirrus.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Vlad.Karpovich authored
Adds device tree configuration for cs35l45 GPIOs Signed-off-by: Vlad Karpovich <vkarpovi@opensource.cirrus.com> Link: https://lore.kernel.org/r/20230315154722.3911463-1-vkarpovi@opensource.cirrus.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
- 20 Mar, 2023 18 commits
-
-
Jianhua Lu authored
There are 8 cs35l41 speaker amplifier connected to TDM in my Xiaomi Mi Pad 5 Pro tablet. In this case, it's necessary to set 12288000 (48000 * 32 * 8) clk freq for it. rate=48000, slot_width=32, slots=8. Signed-off-by: Jianhua Lu <lujianhua000@gmail.com> Reviewed-by: David Rhodes <David.Rhodes@cirrus.com> Link: https://lore.kernel.org/r/20230318141440.29023-1-lujianhua000@gmail.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Mark Brown authored
Merge series from Cristian Ciocaltea <cristian.ciocaltea@collabora.com>: There are five I2S/PCM/TDM controllers and two I2S/PCM controllers embedded in the RK3588 and RK3588S SoCs. Furthermore, RK3588 provides four additional I2S/PCM/TDM controllers. This patch series adds the required device tree nodes to support all the above. Additionally, it enables analog audio support for the Rock 5B SBC, which has been used to test both audio playback and recording.
-
Mark Brown authored
Merge series from Svyatoslav Ryhel <clamor95@gmail.com>: - add quirk for headset detection used by some T30 devices (ASUS Transformers, LG Optimus 4X HD and Vu); - add RT5631 and MAX9808x machine drivers - update bindings --- Changes from v1 - fm34 dropped for re-work - quirk for headset detection and rt5631 bringup splitted - minor adjustments in binding updates - improvement of rt5631 rate asignment --- David Heidelberg (1): dt-bindings: sound: nvidia,tegra-audio: add RT5631 CODEC Svyatoslav Ryhel (7): dt-bindings: sound: nvidia,tegra-audio-common: add coupled-mic-hp-detect property ASoC: tegra: Support coupled mic-hp detection ARM: tegra: transformers: update sound nodes ASoC: tegra: Support RT5631 by machine driver ARM: tegra: transformers: bind RT5631 sound nodes dt-bindings: sound: nvidia,tegra-audio: add MAX9808x CODEC ASoC: tegra: Support MAX9808x by machine driver .../sound/nvidia,tegra-audio-common.yaml | 4 + .../sound/nvidia,tegra-audio-max9808x.yaml | 90 +++++++++++++ .../sound/nvidia,tegra-audio-rt5631.yaml | 85 ++++++++++++ arch/arm/boot/dts/tegra20-asus-tf101.dts | 7 +- arch/arm/boot/dts/tegra30-asus-tf201.dts | 17 +++ arch/arm/boot/dts/tegra30-asus-tf300t.dts | 5 +- arch/arm/boot/dts/tegra30-asus-tf300tg.dts | 17 +++ arch/arm/boot/dts/tegra30-asus-tf700t.dts | 17 +++ .../dts/tegra30-asus-transformer-common.dtsi | 9 +- sound/soc/tegra/Kconfig | 18 +++ sound/soc/tegra/tegra_asoc_machine.c | 125 +++++++++++++++++- 11 files changed, 380 insertions(+), 14 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max9808x.yaml create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5631.yaml -- 2.37.2
-
Alexander Stein authored
Set the snd_soc_card driver name which fixes the warning: fsl-asoc-card sound: ASoC: driver name too long 'imx-audio-tlv320aic32x4' -> 'imx-audio-tlv32' Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20230316123611.3495597-2-alexander.stein@ew.tq-group.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Alexander Stein authored
Instead of copying the driver name manually, use a common define. No functional change. Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20230316123611.3495597-1-alexander.stein@ew.tq-group.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Rob Herring authored
Cleanup bindings dropping unneeded quotes. Once all these are fixed, checking for this can be enabled in yamllint. Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230317233612.3967849-1-robh@kernel.orgSigned-off-by: Mark Brown <broonie@kernel.org>
-
Cristian Ciocaltea authored
The Rockchip I2S driver supports the RK3588/RK3588S SoCs, hence add the corresponding compatible string. Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Link: https://lore.kernel.org/r/20230315114806.3819515-9-cristian.ciocaltea@collabora.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Cristian Ciocaltea authored
Add new compatible string for the Rockchip I2S/PCM controller found on RK3588 and RK3588S SoCs. Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Link: https://lore.kernel.org/r/20230315114806.3819515-8-cristian.ciocaltea@collabora.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Cristian Ciocaltea authored
The binding document is missing the power-domains property. Add it. Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Link: https://lore.kernel.org/r/20230315114806.3819515-7-cristian.ciocaltea@collabora.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Cristian Ciocaltea authored
Document the 'port' property to allow the Rockchip I2S TDM controller to be used in conjunction with the audio-graph-card. The property will be used to provide an endpoint for binding to the other side of the audio link. Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Link: https://lore.kernel.org/r/20230315114806.3819515-6-cristian.ciocaltea@collabora.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Cristian Ciocaltea authored
The Rockchip I2S controller is currently used in conjunction with audio-graph-card to provide an endpoint for binding with the other side of the audio link. This is achieved via the 'port' property, which is not allowed: rk3399-rockpro64.dtb: i2s@ff890000: Unevaluated properties are not allowed ('port' was unexpected) Fix the issue by documenting the missing property. Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Link: https://lore.kernel.org/r/20230315114806.3819515-5-cristian.ciocaltea@collabora.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Cristian Ciocaltea authored
The ES8316 codec is currently used in conjunction with audio-graph-card to provide an endpoint for binding with the other side of the audio link. This is achieved via the 'port' property, which is not allowed: rk3399-rockpro64.dtb: codec@11: Unevaluated properties are not allowed ('port' was unexpected) Fix the issue by documenting the missing property. Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Link: https://lore.kernel.org/r/20230315114806.3819515-4-cristian.ciocaltea@collabora.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Svyatoslav Ryhel authored
Add dt-binding for MAX9808x CODEC. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Link: https://lore.kernel.org/r/20230308073502.5421-8-clamor95@gmail.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
David Heidelberg authored
Add dt-binding for RT5631 CODEC. Signed-off-by: David Heidelberg <david@ixit.cz> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Link: https://lore.kernel.org/r/20230308073502.5421-5-clamor95@gmail.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Svyatoslav Ryhel authored
Add nvidia,coupled-mic-hp-det property to use Mic detect GPIO only if HP GPIO is in active state. Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Link: https://lore.kernel.org/r/20230308073502.5421-2-clamor95@gmail.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Svyatoslav Ryhel authored
Add Maxim MAX9808x codec support to the Tegra ASoC machine driver. This codec is found on LG T30 devices like Optimus 4X HD and Optimus Vu. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Link: https://lore.kernel.org/r/20230308073502.5421-9-clamor95@gmail.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Svyatoslav Ryhel authored
Add Realtek ALC5631/RT5631 codec support to the Tegra ASoC machine driver. The RT5631 codec is found on devices like ASUS Transformer TF201, TF700T and other Tegra-based Android tablets. Signed-off-by: Ion Agorria <ion@agorria.com> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Link: https://lore.kernel.org/r/20230308073502.5421-6-clamor95@gmail.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Svyatoslav Ryhel authored
This quirk is used for cases when there is GPIO which detects any type of 3.5 Jack insertion and actual type of jack is defined by other GPIO. 3.5 Jack GPIO generates interrupt and MIC GPIO indicates type of Jack only if 3.5 Jack GPIO is active. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Link: https://lore.kernel.org/r/20230308073502.5421-3-clamor95@gmail.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
- 17 Mar, 2023 13 commits
-
-
Mark Brown authored
Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>: The following series will add support for IPC4 process modules as effect widgets. We can cover wide range of modules as a generic process or effect module, the patches will lay down the fundation and the generic code to handle them. At initialization time process modules can receive additional information on top of the base_cfg, which is defined as base_cfg_ext, an extension for the base configuration struct. Other parameters or blobs for these modules are sent as a separate message via LARGE_CONFIG message, which is handled by the existing bytes control support.
-
Mark Brown authored
Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>: Backend DAIs may support multiple audio formats. Modify pipeline setup to select a suitable configuration based on topology and frontend DAI runtime configuration. The prime use case is BT offload support where we need the abality to select different configuration on the BE side.
-
Krzysztof Kozlowski authored
yamllint expect space after '#' comment mark: renesas,rsnd.yaml:282:4: [error] missing starting space in comment (comments) Fixes: 7f8b5b24 ("ASoC: dt-bindings: renesas,rsnd.yaml: add R-Car Gen4 support") Reported-by: Rafał Miłecki <zajec5@gmail.com> Link: https://lore.kernel.org/all/b2810924-169d-0bad-8f20-6ec2e683d170@gmail.com/Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230317082137.12629-1-krzysztof.kozlowski@linaro.orgSigned-off-by: Mark Brown <broonie@kernel.org>
-
Krzysztof Kozlowski authored
Fix errors in binding indentation and example: adi,adau17x1.yaml:8:2: [warning] wrong indentation: expected 2 but found 1 (indentation) adi,adau17x1.example.dts:29.3-30.1 syntax error Fixes: 87771c94 ("ASoC: dt-bindings: adi,adau17x1: Convert to DT schema") Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230317092900.16770-1-krzysztof.kozlowski@linaro.orgSigned-off-by: Mark Brown <broonie@kernel.org>
-
Peter Ujfalusi authored
If the available_fmt->num_input_formats is 0 and there is a failure during the output format parsing then a kfree() would be called on the uninitialized in_format pointer. By initializing the in_format to NULL, this error can be avoided. Fixes: 7ab6b1e8 ("ASoC: SOF: ipc4-topology: Modify the type of available input/output formats") Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20230317063524.8280-1-peter.ujfalusi@linux.intel.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Libin Yang authored
Some modules may modify the audio format during processing. So, update the pipeline params based on pin 0's output format during process prepare. Signed-off-by: Libin Yang <libin.yang@intel.com> Co-developed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Chao Song <chao.song@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20230316151137.7598-7-peter.ujfalusi@linux.intel.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Chao Song authored
The copier output pin 0 format is set with module instance initialization, format for additional copier output pin should be set before the pin is used. If a process module is connected to additional copier output pin, the copier output pin format should be set according to the corresponding input pin format of the process module. Signed-off-by: Chao Song <chao.song@linux.intel.com> Co-developed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.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: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20230316151137.7598-6-peter.ujfalusi@linux.intel.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Ranjani Sridharan authored
Some processing modules need the audio formats for all their input and output pins appended to the base config during module init. So add support for building the base config extension using the available pin formats from topology. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.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: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20230316151137.7598-5-peter.ujfalusi@linux.intel.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Chao Song authored
The modules currently supported by the SOF firmware use the base module config containing the audio format for the input/output pin 0 for initialization. But some processing modules with multiple input/output pins require the audio formats to be sent with the init instance IPC payload. Modules that require the base config extension will need to indicate this in the module information in the firmware manifest. Introduce a new struct sof_ipc4_base_module_cfg_ext which contains the pin formats for the input and output pins. This will be appended to the init instance IPC payload for modules that require it. Signed-off-by: Chao Song <chao.song@linux.intel.com> Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.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: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20230316151137.7598-4-peter.ujfalusi@linux.intel.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Libin Yang authored
Add the general support of IPC4 effect widgets. IPC4 effect widgets, known as process modules, can be EQFIR, EQIIR, KEYWORD_DETECT, KPB, CHAN_SELECTOR, SMART_AMP and etc. Signed-off-by: Libin Yang <libin.yang@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20230316151137.7598-3-peter.ujfalusi@linux.intel.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Peter Ujfalusi authored
Introduce a helper function to update the message template for a kcontrol associated with a widget. In this way the helper can be re-used by other components later. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Jaska Uimonen <jaska.uimonen@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20230316151137.7598-2-peter.ujfalusi@linux.intel.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Kai Vehmanen authored
Use the ipc4_set_fmt_mask() helper function instead of open-coding the logic in multiple places. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20230316141458.13940-3-peter.ujfalusi@linux.intel.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Kai Vehmanen authored
Backend DAIs may support multiple audio formats. Modify pipeline setup to select a suitable configuration based on topology and frontend DAI runtime configuration. For sampling rate, if one of the BE DAI configurations has a sampling rate matching that of FE DAI, configure BE DAI to this rate. For sample format, the current code hardcodes DAI copier sample format to 32bit for both playback and capture pipelines. This is not always desired, so lift the limitation and set the sample format based on topology definitions for the copiers. For capture pipelines, we want to set the BE DAI pipeline format based on topology instead of using the FE DAI format. This covers the common use-case where BE DAI outputs data at a higher sample precision and sample width is reduced later in the pipeline. Instead of hardcoding to 32bit, use the BE DAI copier output format defined in topology. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20230316141458.13940-2-peter.ujfalusi@linux.intel.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
- 16 Mar, 2023 2 commits
-
-
Otabek Nazrullaev authored
Convert Maxim MAX9759 Speaker Amplifier bindings to DT schema. Add missing gpio header file into examples section Signed-off-by: Otabek Nazrullaev <otabeknazrullaev1998@gmail.com> Cc: Daniel Baluta <daniel.baluta@nxp.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230315173404.7215-1-otabeknazrullaev1998@gmail.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Vijaya Anand authored
Convert the binding document for adi,adau17x1 from txt to yaml so one could validate dt-entries correctly and any future additions can go into yaml format. Add address and size cells to example to prevent errors regarding reg format. Signed-off-by: Vijaya Anand <sunrockers8@gmail.com> Cc: Daniel Baluta <daniel.baluta@nxp.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230315231055.3067-1-sunrockers8@gmail.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
- 15 Mar, 2023 1 commit
-
-
Geert Uytterhoeven authored
Miscellaneous updates to make the example match reality: - Correct SSI resource region size, - Complete half-conversion to new-style CPG/MSSR bindings, - Add missing power-domains, resets, and reset-names properties, - Use interrupt binding definitions instead of hardcoded numbers, - Correct interrupt flags, - Drop double blank line. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/ba4ec999dc152ea1f113253e497c093b8789d414.1678790879.git.geert+renesas@glider.beSigned-off-by: Mark Brown <broonie@kernel.org>
-
- 14 Mar, 2023 3 commits
-
-
Mark Brown authored
Merge series from "Nícolas F. R. A. Prado" <nfraprado@collabora.com>: A couple commits to make the mt8192 sound driver not spam the console.
-
Herve Codina authored
The QMC depends on (SOC_FSL && COMPILE_TEST). SOC_FSL does not exist. Fix the dependency using the correct one: FSL_SOC. Signed-off-by: Herve Codina <herve.codina@bootlin.com> Link: https://lore.kernel.org/r/20230314082157.137176-1-herve.codina@bootlin.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
substream->runtime will be attached when substream was opened at snd_pcm_attach_substream(). When it uses DPCM, FE substream->runtime is attached, but BE substream->runtime is not. Thus, we are copying FE substream->runtime to BE. But, we are copyig FE substream->runtime to FE dpcm->runtime first (A), and copy it to BE dpcm->runtime (B), and copy it to BE substream->runtime (C). static int dpcm_fe_dai_open(...) { ... (A) fe->dpcm[stream].runtime = fe_substream->runtime; ... } static int dpcm_be_connect(...) { ... (B) be->dpcm[stream].runtime = fe->dpcm[stream].runtime; ... } int dpcm_be_dai_startup(...) { ... (C) be_substream->runtime = be->dpcm[stream].runtime; ... } It is too roundabout and troublesome. OTOH, it is directly copying fe_substream->runtime at dpcm_be_reparent() without using be->dpcm[stream].runtime. static void dpcm_be_reparent(...) { ... for_each_dpcm_fe(be, stream, dpcm) { ... => be_substream->runtime = fe_substream->runtime; break; } } This patch removes indirect copying. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87v8je64dh.wl-kuninori.morimoto.gx@renesas.comSigned-off-by: Mark Brown <broonie@kernel.org>
-