- 28 Jan, 2022 11 commits
-
-
Ajit Kumar Pandey authored
Add DMIC related dai link for pdm-dmic dai on Renoir platform with generic dmic codec dai. Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com> Link: https://lore.kernel.org/r/20220117115854.455995-6-AjitKumar.Pandey@amd.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Ajit Kumar Pandey authored
ACP hardware has PGFSM control registers that can be configured to power On/Off the ACP IP block. Add acp init()/de_init() callbacks in renoir platform driver probe()/remove() respectively to power on and off ACP IP block on ACP3X device. Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com> Link: https://lore.kernel.org/r/20220117115854.455995-5-AjitKumar.Pandey@amd.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Ajit Kumar Pandey authored
Audio Co-processor or ACP IP block on AMD's SOC is connected via PCI bus interface, hence needs to be register as a PCI device. We have same PCI device ID across multiple SOC's but with different revision id for PCI hw. Add a generic PCI driver module for ACP that registers ACP as a PCI device and also register a platform device based on pci revision id. Any SOC's specific configuration for ACP block will be done in platform driver probe. We have added an initial support for ACP revision id 3 or ACP3X device. Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com> Link: https://lore.kernel.org/r/20220117115854.455995-4-AjitKumar.Pandey@amd.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Ajit Kumar Pandey authored
Renoir ACP IP has a PDM controller block. Add DMIC dai instance in dai_driver struct to enable dmic capture support on Renoir platform. Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com> Link: https://lore.kernel.org/r/20220117115854.455995-3-AjitKumar.Pandey@amd.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Ajit Kumar Pandey authored
Add driver module for PDM controller on ACP IP block. Expose dai ops to configure ACP_WOV_PDM_BLOCK registers on ACP. Such dai ops will be used by platform specific driver module to register dmic related dai with ASoC. Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com> Link: https://lore.kernel.org/r/20220117115854.455995-2-AjitKumar.Pandey@amd.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Mark Brown authored
Merge series from Sameer Pujar <spujar@nvidia.com>: This adds APE support on Tegra234 and enables sound card on Jetson AGX Orin platform.
-
Peter Ujfalusi authored
The first count check and fixup against "buffer - lpos" can be removed as we will do the adjustment later against the "avail" in sof_dfsentry_trace_read() Signed-off-by: Peter 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> Link: https://lore.kernel.org/r/20220128120627.18443-1-peter.ujfalusi@linux.intel.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Rob Herring authored
There's no need to complicate examples with a platform specific macro. It also complicates example parsing to figure out the number of interrupt cells in examples (based on bracketing). Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220126231358.1637174-1-robh@kernel.orgSigned-off-by: Mark Brown <broonie@kernel.org>
-
Ranjani Sridharan authored
The limitation to assign a link DMA channel for a BE iff the corresponding host DMA channel is assigned to a connected FE is only applicable if the PROCEN_FMT_QUIRK is set. So, remove it for platforms that do not enable the quirk. Complements: a792bfc1 ("ASoC: SOF: Intel: hda-stream: limit PROCEN workaround") Signed-off-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: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20220128130017.28508-1-peter.ujfalusi@linux.intel.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sameer Pujar authored
Update binding docs for devices which are part of APE subsystem on Tegra234 chip. Signed-off-by: Sameer Pujar <spujar@nvidia.com> Link: https://lore.kernel.org/r/1643373476-8538-4-git-send-email-spujar@nvidia.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Mohan Kumar authored
The register offsets of switches connecting various AHUB internal modules have changed from previous chip. Address this variation by making use of Tegra234 based compatible. Signed-off-by: Mohan Kumar <mkumard@nvidia.com> Signed-off-by: Sameer Pujar <spujar@nvidia.com> Link: https://lore.kernel.org/r/1643373476-8538-2-git-send-email-spujar@nvidia.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
- 25 Jan, 2022 12 commits
-
-
Lad Prabhakar authored
Remove SSICR_MST and SSICR_CKDV macros which are defined more than once. Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com> Link: https://lore.kernel.org/r/20220125132457.14984-4-prabhakar.mahadev-lad.rj@bp.renesas.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Lad Prabhakar authored
A copy of substream pointer is stored in priv structure during rz_ssi_dai_trigger() callback ie in SNDRV_PCM_TRIGGER_START case and the pointer is assigned to NULL in case of SNDRV_PCM_TRIGGER_STOP. The driver used the locks only in rz_ssi_stream_is_valid() and assigned the local substream pointer to NULL in rz_ssi_dai_trigger() callback but never locked it while making a local copy. This patch adds the rz_ssi_set_substream() helper function to set the substream pointer with locks acquired and replaces the instances of setting the local substream pointer with the rz_ssi_set_substream() function. Reported-by: Pavel Machek <pavel@denx.de> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com> Link: https://lore.kernel.org/r/20220125132457.14984-3-prabhakar.mahadev-lad.rj@bp.renesas.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Lad Prabhakar authored
Use a do-while loop while reading the samples from RX FIFO. The "done" flag was only changed as an outcome of the last if-statement (last step) in this entire procedure. This patch moves the condition from if statement to while and drops the "done" variable for readability. While at it, also drop the unneeded parentheses around runtime->dma_area. Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Link: https://lore.kernel.org/r/20220125132457.14984-2-prabhakar.mahadev-lad.rj@bp.renesas.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Mark Brown authored
Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>: Add support for platforms without amplifier (headset codec only) and without Intel graphics.
-
Mark Brown authored
Merge series from Daniel Beer <daniel.beer@igorinstitute.com>: This pair of patches implements support for the TAS5805M class D audio amplifier. This driver, and the example configuration in the device-tree file, were originally based on a 4.19 series kernel and have been modified slightly from the tested version.
-
Mark Brown authored
Merge series from Richard Fitzgerald <rf@opensource.cirrus.com>: Add system suspend and resume handlers so that the cs42l42 is cleanly put into power-off state during system suspend and the registers are restored in resume.
-
Mark Brown authored
Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>: Make sure the device version is taken into account when selecting a machine driver, in addition to device manufacturer and part_id, and simplify code with a macro.
-
Mark Brown authored
Merge series from Ariel D'Alessandro <ariel.dalessandro@collabora.com>: Sound cards may allow using different main clock inputs. In the generic fsl-asoc-card driver, these values are hardcoded for each specific card configuration. Let's make it more flexible, allowing setting mclk-id from the device-tree node.
-
Mark Brown authored
Merge series from Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>: Hi All, This patch series does code cleanup and fixes to the rz-ssi driver. Cheers, Prabhakar Lad Prabhakar (5): ASoC: sh: rz-ssi: Drop calling rz_ssi_pio_recv() recursively ASoC: sh: rz-ssi: Make the data structures available before registering the handlers ASoC: sh: rz-ssi: Drop ssi parameter from rz_ssi_stream_init() ASoC: sh: rz-ssi: Make return type of rz_ssi_stream_is_valid() to bool ASoC: sh: rz-ssi: Add functions to get/set substream pointer sound/soc/sh/rz-ssi.c | 147 ++++++++++++++++++++++++------------------ 1 file changed, 86 insertions(+), 61 deletions(-) -- 2.17.1
-
Mark Brown authored
Merge series from Robert Hancock <robert.hancock@calian.com>: There are drivers in mainline for the Xilinx Audio Formatter and Xilinx I2S IP cores. However, because of a few issues, these were only really usable with Xilinx's xlnx_pl_snd_card top-level driver, which is not in mainline (and not suitable for mainline). The fixes in this patchset, for the simple-card layer as well as the Xilinx drivers, now allow these drivers to be properly used with simple-card without any out-of-tree support code.
-
Mark Brown authored
Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>: After the first firmware boot, the firmware is capable of saving/restoring its context to/from IMR (Isolated Memory Region, set aside by BIOS on startup). This capability improves the resume speed. Due to an unexplained issue on Up2 boards, this capability is disabled on ApolloLake. For backwards compatibility, the regular boot flow is used with older firmware. For added peace of mind, a kernel module parameter is provided to force the regular boot flow - this shouldn't be necessary since we've been testing these patches for 6+ months.
-
Mark Brown authored
Merge series from Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>: Following series performs few cleanups in topology code. First patch reduces number of prints we get from failure. Second allos TLV controls to be either read or write which should be possible as evidenced by further code in function. Last one cleanups after refactoring of memory handling. v2: - Add missing Fixes tag on second patch - Add Reviewed-by tag from Pierre Amadeusz Sławiński (3): ASoC: topology: Remove superfluous error prints ASoC: topology: Allow TLV control to be either read or write ASoC: topology: Optimize soc_tplg_dapm_graph_elems_load behavior sound/soc/soc-topology.c | 103 ++++++++++----------------------------- 1 file changed, 27 insertions(+), 76 deletions(-) -- 2.25.1
-
- 24 Jan, 2022 17 commits
-
-
Robert Hancock authored
Add a new system-clock-fixed flag, which can be used to specify that the driver cannot or should not allow the clock frequency of the mapped clock to be modified. This behavior is also implied if the system-clock-frequency parameter is set explicitly - the flag is meant for cases where a clock is mapped to the DAI but which is, or should be treated as, fixed. When mclk-fs is also specified, this causes a PCM constraint to be added which enforces that only the corresponding valid sample rate can be used. Signed-off-by: Robert Hancock <robert.hancock@calian.com> Link: https://lore.kernel.org/r/20220120195832.1742271-7-robert.hancock@calian.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Robert Hancock authored
Document the new system-clock-fixed flag, which can be used to specify that the driver cannot or should not allow the clock frequency of the mapped clock to be modified. Signed-off-by: Robert Hancock <robert.hancock@calian.com> Link: https://lore.kernel.org/r/20220120195832.1742271-6-robert.hancock@calian.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Robert Hancock authored
If an mclk-fs value was provided in the device tree configuration, the calculated MCLK was fed into the downstream codec DAI and CPU DAI, however set_sysclk was not being called on the platform device. Some platform devices such as the Xilinx Audio Formatter need to know the MCLK as well. Call snd_soc_component_set_sysclk on each component in the stream to set the proper sysclk value in addition to the existing call of snd_soc_dai_set_sysclk on the codec DAI and CPU DAI. This may end up resulting in redundant calls if one of the snd_soc_dai_set_sysclk calls ends up calling snd_soc_component_set_sysclk itself, but that isn't expected to cause any significant harm. Fixes: f48dcbb6 ("ASoC: simple-card-utils: share asoc_simple_hw_param()") Signed-off-by: Robert Hancock <robert.hancock@calian.com> Reviewed-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/20220120195832.1742271-5-robert.hancock@calian.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Robert Hancock authored
This driver previously only handled the set_clkdiv divider callback when setting the SCLK Out Divider field in the I2S Timing Control register. However, when using the simple-audio-card driver, the set_sysclk function is called but not set_clkdiv. This caused the divider not to be set, leaving it at an invalid value of 0 and resulting in a very low SCLK output rate. Handle set_clkdiv and store the sysclk (MCLK) value for later use in hw_params to set the SCLK Out Divider such that: MCLK/SCLK = divider * 2 Signed-off-by: Robert Hancock <robert.hancock@calian.com> Link: https://lore.kernel.org/r/20220120195832.1742271-4-robert.hancock@calian.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Robert Hancock authored
An upcoming change will require storing additional driver data other than the memory base address. Create a drvdata structure and use that rather than storing the raw base address pointer. Signed-off-by: Robert Hancock <robert.hancock@calian.com> Link: https://lore.kernel.org/r/20220120195832.1742271-3-robert.hancock@calian.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Robert Hancock authored
This driver did not set the MM2S Fs Multiplier Register to the proper value for playback streams. This needs to be set to the sample rate to MCLK multiplier, or random stream underflows can occur on the downstream I2S transmitter. Store the sysclk value provided via the set_sysclk callback and use that in conjunction with the sample rate in the hw_params callback to calculate the proper value to set for this register. Fixes: 6f6c3c36 ("ASoC: xlnx: add pcm formatter platform driver") Signed-off-by: Robert Hancock <robert.hancock@calian.com> Link: https://lore.kernel.org/r/20220120195832.1742271-2-robert.hancock@calian.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Jiasheng Jiang authored
Since the potential failure of the devm_regmap_init_mmio(), it will return error pointer and be assigned to the regmap. Then the error pointer will be dereferenced. For example rx->regmap will be used in rx_macro_mclk_enable(). Therefore, it should be better to check it. Fixes: af3d54b9 ("ASoC: codecs: lpass-rx-macro: add support for lpass rx macro") Fixes: c39667dd ("ASoC: codecs: lpass-tx-macro: add support for lpass tx macro") Fixes: 809bcbce ("ASoC: codecs: lpass-wsa-macro: Add support to WSA Macro") Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> Link: https://lore.kernel.org/r/20220121171031.2826198-1-jiasheng@iscas.ac.cnSigned-off-by: Mark Brown <broonie@kernel.org>
-
Mac Chiang authored
codec system clock source support 512FS MCLK synchronous directly, so no need to set PLL configuration when MCLK 24.576MHz. Suggested-by: Shuming Fan <shumingf@realtek.com> Signed-off-by: Mac Chiang <mac.chiang@intel.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20220120054012.15849-1-mac.chiang@intel.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
V sujith kumar Reddy authored
We have new platform with rt5682s as a primary codec and rt1019 as an amp codec. Add machine struct to register sof audio based sound card on such Chrome machine. Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com> Signed-off-by: V sujith kumar Reddy <vsujithkumar.reddy@amd.com> Link: https://lore.kernel.org/r/20220122194707.2661026-1-vsujithkumar.reddy@amd.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Shengjiu Wang authored
The config->pcm_hardware may be NULL when config->prealloc_buffer_size is not zero, so it is better to move max_buffer_size assignment under a separate condition. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1642646642-15908-1-git-send-email-shengjiu.wang@nxp.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Minghao Chi authored
Return value from io_remap_pfn_range() directly instead of taking this in another redundant variable. Reported-by: Zeal Robot <zealci@zte.com.cn> Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn> Signed-off-by: CGEL ZTE <cgel.zte@gmail.com> Link: https://lore.kernel.org/r/20220117110357.863990-1-chi.minghao@zte.com.cnSigned-off-by: Mark Brown <broonie@kernel.org>
-
Minghao Chi authored
Return value from devm_snd_soc_register_component() directly instead of taking this in another redundant variable. Reported-by: Zeal Robot <zealci@zte.com.cn> Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn> Signed-off-by: CGEL ZTE <cgel.zte@gmail.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220110012833.643994-1-chi.minghao@zte.com.cnSigned-off-by: Mark Brown <broonie@kernel.org>
-
Ariel D'Alessandro authored
Add constants for the different PLL clock inputs in tlv320aic31xx. Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com> Link: https://lore.kernel.org/r/20220117132109.283365-3-ariel.dalessandro@collabora.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Ariel D'Alessandro authored
Let's use a more generic name, so other definitions for tlv320aic31xx can be included. Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com> Acked-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220117132109.283365-2-ariel.dalessandro@collabora.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Ariel D'Alessandro authored
Now that fsl-asoc-card support setting mclk-id through the device-tree mclk-id property, let's remove the default BCLK configuration for this card. Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com> Link: https://lore.kernel.org/r/20220117132109.283365-6-ariel.dalessandro@collabora.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Ariel D'Alessandro authored
Sound cards may allow using different main clock inputs. In the generic fsl-asoc-card driver, these values are hardcoded for each specific card configuration. Let's make it more flexible, allowing setting mclk-id from the device-tree node. Otherwise, the default value for each card configuration is used. Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com> Link: https://lore.kernel.org/r/20220117132109.283365-5-ariel.dalessandro@collabora.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Ariel D'Alessandro authored
Support setting the sound card main clock input from the device-tree using the mclk-id property. Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com> Link: https://lore.kernel.org/r/20220117132109.283365-4-ariel.dalessandro@collabora.comSigned-off-by: Mark Brown <broonie@kernel.org>
-