summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-11-10ASoC: dt-bindings: fsl-sai: Sort main section propertiesMarek Vasut1-36/+36
Sort main section properties, no functional change. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20221104160315.213836-3-marex@denx.de Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-10ASoC: dt-bindings: fsl-sai: Use minItems 5 for i.MX8MN clock and similarMarek Vasut1-1/+1
The i.MX8MN currently uses "bus", "mclk0", "mclk1", "mclk2", "mclk3" clock, which adds up to 5 clock total. Use minItems 5 for this setup. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20221104160315.213836-2-marex@denx.de Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-10ASoC: dt-bindings: fsl-sai: Fix mx6ul and mx7d compatible stringsMarek Vasut1-9/+15
Describe existing used combinations of compatible strings on MX6UL and MX7D, which are backward compatible with MX6SX. Add the missing imx7d-sai compatible string which is used on i.MX7 . Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20221104160315.213836-1-marex@denx.de Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-10ASoC: codecs: da7219: Do not export da7219_aad_jack_det()Mark Brown11-22/+20
Merge series from Cezary Rojewski <cezary.rojewski@intel.com>: Goal of the series is to drop any usage of the internal function. First, update all users to utilize component->set_jack() and then remove the relevant EXPORT_SYMBOL_GPL.
2022-11-10ASoC: SOF: ipc4-topology: Add widget queue supportMark Brown4-21/+340
Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>: with SOF topology2 for IPC4, widgets might have mutliple queues they can be connected. The queues to use between components are descibed in the topology file. This series adds widget queue support (specify which pin to connect) for ipc4-topology with topology2. Note: currently queue 0 of a widget is used as hardwired default.
2022-11-10ASoC: simpe-card/audio-graph fixupsMark Brown4-27/+23
Merge series from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>: These are simpe-card/audio-graph fixup patches.
2022-11-10Adjust usage of rt5682(s) power supply propertiesMark Brown6-1/+70
Merge series from Nícolas F. R. A. Prado <nfraprado@collabora.com>: This series sets straight the usage of power supply properties for the rt5682 and rt5682s audio codecs. These properties were already being used by sc7180-trogdor.dtsi (and derived DTs like sc7180-trogdor-kingoftown.dtsi). We start by documenting the power supplies that are already in use and then add few others that were missing to the bindings. Then we update the drivers to also support the new supplies. Finally we update the trogdor DTs so they have the newly added but required supplies and remove a superfluous one that was causing warnings.
2022-11-10ASoC: SOF: get pipeline instance id from pipe_widget->instance_idMark Brown5-14/+45
Merge series from Bard Liao <yung-chuan.liao@linux.intel.com>: Currently we set pipeline instance id = swidget->pipeline_id, but pipeline_id is from topology and can be any number. In fact, the number of pipelines is limited. This patch use ida to allocate pipeline instance id and will be used for pipeline instance id in the IPC message.
2022-11-10ASoC: SOF: Intel: update D0i3 registers for MTLMark Brown8-7/+26
Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>: MeteorLake relies on a different register for D0i3 configuration, add a platform-specific callback to abstract the differences.
2022-11-10ASoC: mediatek: Register machine drivers to module device tableMark Brown7-0/+7
Merge series from Nícolas F. R. A. Prado <nfraprado@collabora.com>: Some ASoC machine drivers for MediaTek platforms were not being registered to the module device table, preventing them to be automatically loaded when built as modules. This series adds the missing registration to the drivers.
2022-11-09ASoC: mediatek: mt8195-mt6359: Register to module device tableNícolas F. R. A. Prado1-0/+1
Register the compatibles for this module on the module device table so it can be automatically loaded when a matching device is found on the system. Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Tested-by: Chen-Yu Tsai <wenst@chromium.org> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> Link: https://lore.kernel.org/r/20221107160437.740353-10-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-09ASoC: mediatek: mt8192-mt6359: Register to module device tableNícolas F. R. A. Prado1-0/+1
Register the compatibles for this module on the module device table so it can be automatically loaded when a matching device is found on the system. Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Tested-by: Chen-Yu Tsai <wenst@chromium.org> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> Link: https://lore.kernel.org/r/20221107160437.740353-9-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-09ASoC: mediatek: mt8186-rt5682: Register to module device tableNícolas F. R. A. Prado1-0/+1
Register the compatibles for this module on the module device table so it can be automatically loaded when a matching device is found on the system. Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> Link: https://lore.kernel.org/r/20221107160437.740353-8-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-09ASoC: mediatek: mt8186-da7219: Register to module device tableNícolas F. R. A. Prado1-0/+1
Register the compatibles for this module on the module device table so it can be automatically loaded when a matching device is found on the system. Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> Link: https://lore.kernel.org/r/20221107160437.740353-7-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-09ASoC: mediatek: mt8183-mt6358: Register to module device tableNícolas F. R. A. Prado1-0/+1
Register the compatibles for this module on the module device table so it can be automatically loaded when a matching device is found on the system. Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Tested-by: Chen-Yu Tsai <wenst@chromium.org> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> Link: https://lore.kernel.org/r/20221107160437.740353-6-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-09ASoC: mediatek: mt8183-da7219: Register to module device tableNícolas F. R. A. Prado1-0/+1
Register the compatibles for this module on the module device table so it can be automatically loaded when a matching device is found on the system. Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> Link: https://lore.kernel.org/r/20221107160437.740353-5-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-09ASoC: mediatek: mt6797-mt6351: Register to module device tableNícolas F. R. A. Prado1-0/+1
Register the compatibles for this module on the module device table so it can be automatically loaded when a matching device is found on the system. Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> Link: https://lore.kernel.org/r/20221107160437.740353-4-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-09ASoC: mediatek: mt2701-wm8960: Register to module device tableNícolas F. R. A. Prado1-0/+1
Register the compatibles for this module on the module device table so it can be automatically loaded when a matching device is found on the system. Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> Link: https://lore.kernel.org/r/20221107160437.740353-3-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-09ASoC: mediatek: mt2701-cs42448: Register to module device tableNícolas F. R. A. Prado1-0/+1
Register the compatibles for this module on the module device table so it can be automatically loaded when a matching device is found on the system. Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> Link: https://lore.kernel.org/r/20221107160437.740353-2-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-09ASoC: SOF: ipc4: get pipeline instance id from pipe_widget->instance_idBard Liao3-12/+29
Currently we set pipeline instance id = swidget->pipeline_id, but pipeline_id is from topology and can be any number. In fact, the number of pipelines is limited. This patch use ida to allocate pipeline instance id and will be used for pipeline instance id in the IPC message. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20221108002910.2819709-4-yung-chuan.liao@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-09ASoC: SOF: ipc4-loader: get max pipeline numberBard Liao2-0/+13
Get max pipeline number from firmware configuration. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20221108002910.2819709-3-yung-chuan.liao@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-09ASoC: SOF: ipc4-topology: rename sof_ipc4_widget_free_compBard Liao1-2/+3
sof_ipc4_widget_free_comp is dedicated to pipeline. Rename it to sof_ipc4_widget_free_comp_pipeline. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20221108002910.2819709-2-yung-chuan.liao@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: SOF: Intel: set d0i3 register with d0i3_offsetRander Wang1-7/+14
Set the d0i3 with d0i3_offset for different platforms Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Rander Wang <rander.wang@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20221107164154.21925-4-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: SOF: Intel: add d0i3_offset in chip_infoRander Wang6-0/+10
MTL has different d0i3 offset compared to cavs platforms. Use d0i3_offset to unify the setting. Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Rander Wang <rander.wang@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20221107164154.21925-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: SOF: Intel: add d0i3 definition for MTLRander Wang1-0/+2
MTL has a different offset of d0i3 compared to cavs platforms. Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Rander Wang <rander.wang@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20221107164154.21925-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: rt5682: Support DBVDD and LDO1-IN suppliesNícolas F. R. A. Prado2-1/+3
Add support for the DBVDD and LDO1-IN supplies. Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Link: https://lore.kernel.org/r/20221102182002.255282-7-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: rt5682s: Support DBVDD and LDO1-IN suppliesNícolas F. R. A. Prado2-0/+24
Add support for the DBVDD and LDO1-IN supplies. Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Link: https://lore.kernel.org/r/20221102182002.255282-6-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: dt-bindings: rt5682: Add DBVDD and LDO1-IN suppliesNícolas F. R. A. Prado1-0/+8
The rt5682 codec has two additional power supply pins, DBVDD and LDO1_IN, that aren't currently described in the binding. Add them. Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20221102182002.255282-5-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: dt-bindings: rt5682: Add AVDD, MICVDD and VBAT suppliesNícolas F. R. A. Prado1-0/+12
The rt5682 codec has three supplies - AVDD, MICVDD and VBAT - which are already used by sc7180-trogdor.dtsi. Document them in the binding. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Link: https://lore.kernel.org/r/20221102182002.255282-4-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: dt-bindings: realtek,rt5682s: Add DBVDD and LDO1-IN suppliesNícolas F. R. A. Prado1-0/+11
The rt5682s codec has two additional power supply pins, DBVDD and LDO1_IN, that aren't currently described in the binding. Add them. Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20221102182002.255282-3-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: dt-bindings: realtek,rt5682s: Add AVDD and MICVDD suppliesNícolas F. R. A. Prado1-0/+12
The rt5682s codec has two supplies - AVDD and MICVDD - which are already used by sc7180-trogdor-kingoftown.dtsi. Document them in the binding. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Link: https://lore.kernel.org/r/20221102182002.255282-2-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: SOF: Intel: hda-loader: use small buffer for iccmax streamKai Vehmanen1-10/+5
The data received via iccmax stream is not used anywhere, so no need to allocate a big DMA buffer for it. This is especially important as the allocation is done even in cases where reload of the firmware is skipped and execution happens directly from the firmware stored in IMR. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20221107072621.28904-1-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: SOF: ipc4-topology: Implement tear_down_all_pipelines callbackPeter Ujfalusi1-0/+34
During system suspend there is a chance that the running stream undergo an xrun and instead of the expected SNDRV_PCM_TRIGGER_SUSPEND trigger we will receive SNDRV_PCM_TRIGGER_STOP. The handling of SUSPEND and STOP triggers differ that case of the later the sof_pcm_stream_free() will be called with free_widget_list = false. But we must make sure that all active widgets and streams are free before entering suspend in order to be able to resume without error. We can utilize the tear_down_all_pipelines to put the system to an expected state and to fix the suspend/resume error. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20221107084158.26629-1-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: mediatek: mt8183-mt6358: Register to module device tableNícolas F. R. A. Prado1-0/+1
Register the compatibles for this module on the module device table so it can be automatically loaded when a matching device is found on the system. Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20221104212409.603970-2-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: mediatek: mt8183-da7219: Register to module device tableNícolas F. R. A. Prado1-0/+1
Register the compatibles for this module on the module device table so it can be automatically loaded when a matching device is found on the system. Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20221104212409.603970-1-nfraprado@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: codecs: da7219: Do not export internal symbolsAmadeusz Sławiński1-4/+0
With all users utilizing component->set_jack(), there is no need to export da7219_aad_jack_det() function. While at it, remove exports from all other functions as well. Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> Link: https://lore.kernel.org/r/20221031160227.2352630-8-cezary.rojewski@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: Intel: avs: Drop da7219_aad_jack_det() usageCezary Rojewski1-2/+1
Do not access the internal function directly, do so through component->set_jack() instead. Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> Link: https://lore.kernel.org/r/20221031160227.2352630-7-cezary.rojewski@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: amd: Drop da7219_aad_jack_det() usageCezary Rojewski1-2/+1
Do not access the internal function directly, do so through component->set_jack() instead. Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> Link: https://lore.kernel.org/r/20221031160227.2352630-6-cezary.rojewski@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: rockchip: Drop da7219_aad_jack_det() usageCezary Rojewski1-2/+1
Do not access the internal function directly, do so through component->set_jack() instead. Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> Link: https://lore.kernel.org/r/20221031160227.2352630-5-cezary.rojewski@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: mediatek: Drop da7219_aad_jack_det() usageCezary Rojewski2-4/+3
Do not access the internal function directly, do so through component->set_jack() instead. Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> Link: https://lore.kernel.org/r/20221031160227.2352630-4-cezary.rojewski@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: Intel: Drop da7219_aad_jack_det() usageCezary Rojewski4-8/+5
Do not access the internal function directly, do so through component->set_jack() instead. Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> Link: https://lore.kernel.org/r/20221031160227.2352630-3-cezary.rojewski@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: codecs: da7219: Introduce set_jack() callbackAmadeusz Sławiński1-0/+9
Codec driver for da7219 implements jack detect functionality, but does not integrate it with the framework. Platform component drivers are accessing the functionality through internal da7219_aad_jack_det() instead. Address this by implementing set_jack() for the codec. Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> Link: https://lore.kernel.org/r/20221031160227.2352630-2-cezary.rojewski@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: SOF: topology: Add helper to get/put widget queue idChao Song3-13/+131
Add get/put queue id helper to manage queue id in route setup and route free. The queue allocation rules are: - If widget only has one sink/source pin, zero will be returned as the queue ID directly. - If widget has more than one sink/source pins, and pin binding array is defined in topology, queue ID will be allocated according to the pin binding array. - If widget has more than one sink/sink pins, and pin binding array is not defined, Linux ID allocation will be used to allocate queue ID dynamically. Signed-off-by: Chao Song <chao.song@linux.intel.com> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Suggested-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20221107085706.2550-4-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: SOF: Add support to parse pin binding array from topologyChao Song3-4/+163
Add support for parsing sink/source pin binding array per widget from topology. The pin binding arrays will be used to determine the source and sink queue IDs during widget binding for widget that requires special pin binding. An example of widget that requires special pin binding is the smart amplifier widget, its feedback sink pin has to be connected to a capture DAI copier for codec feedback, while the other sink pin has to be connected to a host DAI copier. Pin ID is required during widget binding for correct route setup. Conversely, the pin ID for 'generic' pins is not defined in the topology and will be allocated by the kernel dynamically. When only one pin is supported, the pin ID shall always be zero. When more than one pin is supported, the pin ID is determined with the ID allocation mechanism in the kernel. Signed-off-by: Chao Song <chao.song@linux.intel.com> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Suggested-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20221107085706.2550-3-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: SOF: Add support for parsing the number of sink/source pinsChao Song3-4/+46
Add support for parsing the number of sink/source pins per widget from topology. They will be used to determine the sink/source queue IDs during widget binding. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Signed-off-by: Chao Song <chao.song@linux.intel.com> Suggested-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20221107085706.2550-2-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: audio-graph-card2: check also dpcm node for convert-xxxKuninori Morimoto1-1/+2
DPCM connection on Card2, its DT looks like below. Current Card2 is checking (a)/(b) part only for convert-xxx settings. But it is not useful. This patch enables its settings at (A)/(B) part too. (A)/(B) settings will be overwritten (a)/(b) settings if it has. <Image> (A) (a) Card2 <--+--> FE <---> CPU | +--> BE <---> Codec (B) (b) <DT> card2-sound { ... links = <fe, be>; /* (A) (B) */ }; dpcm { /* FE */ ports@0 { /* (A) */ fe: port { fe_ep: endpoint { remote-endpoint = <&cpu_ep>; } }; }; /* BE */ ports@1 { /* (B) */ be: port { convert-rate = <44100>; /* This patch enables this */ be_ep: endpoint { remote-endpoint = <&codec_ep>; } }; }; }; cpu { /* CPU (a) */ port { cpu_ep: endpoint { remote-endpoint = <&fe_ep>; } }; }; codec { /* Codec (b) */ port { convert-rate = <48000>; /* (B) settings will be over written here */ codec_ep: endpoint { remote-endpoint = <&be_ep>; } }; }; Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/871qqn8fst.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: audio-graph-card2-custom-sample.dtsi: add convert-rate for DPCM (MIXer)Kuninori Morimoto1-2/+8
audio-graph-card2-custom-sample.dtsi is assuming that DPCM sample is MIXer connection. FE BE **** CPU3 -- * * -- Codec3 CPU4 -- * * **** CPU3/CPU4 need to convert rate in this case. This patch adds missing "convert-rate" setting sample for it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/8735b38fta.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-07ASoC: simple-card-utils: remove asoc_simple_convert_fixup()Kuninori Morimoto2-24/+13
No one is using asoc_simple_convert_fixup(), we don't need to export its symbol. This patch removes it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/874jvj8ftp.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-04ASoC: amd: fix ACP version typo mistakesyed saba kareem6-183/+183
Pink Sardine is based on ACP6.3 architecture. This patch fixes the typo mistake acp6.2 -> acp6.3 Signed-off-by: syed saba kareem <syed.sabakareem@amd.com> Link: https://lore.kernel.org/r/20221104121001.207992-1-Syed.SabaKareem@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
2022-11-03Modify documentation and machine driver for mt8186_rt1019_rt5682s sound cardMark Brown2-2/+114
Merge series from Ajye Huang <ajye_huang@compal.corp-partner.google.com>: Support selecting between front and rear microphones on some of the MediaTek platforms.