- 20 Apr, 2022 1 commit
-
-
Mark Brown authored
Merge series from Sascha Hauer <s.hauer@pengutronix.de>: Cleanups for the fsl_micfil driver.
-
- 19 Apr, 2022 25 commits
-
-
Richard Fitzgerald authored
SND_SOC_SOF_HDA_PROBES must be tristate because the code it builds depends on code that is tristate. If SND_SOC_SOF_HDA_PROBES is bool it leads to the following build inconsistency: SND_SOC_SOF_HDA_COMMON=m which selects SND_SOC_SOF_HDA_PROBES but since this is a bool SND_SOC_SOF_HDA_PROBES=y SND_SOC_SOF_HDA_PROBES=y selects SND_SOC_SOF_DEBUG_PROBES=y so sof-client-probes.c is built into the kernel. sof-client-probes.c calls functions in sof-client.c, but SND_SOC_SOF=m sof-client.c is built into a loadable module. Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220407153813.1231866-1-rf@opensource.cirrus.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Shengjiu Wang authored
Add DSD format support in this generic dmic driver: DSD_U8, DSD_U16_LE, DSD_U32_LE, Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1650251910-8932-1-git-send-email-shengjiu.wang@nxp.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
The micfil driver prints out the IRQ numbers for each interrupt at error level. This information is useful for debugging at best, remove it. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-22-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
fsl_set_clock_params() is used only once and easily be folded into its caller, do so. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-21-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
The "fsl,shared-interrupt" property is undocumented and unnecessary. Just pass IRQF_SHARED unconditionally. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-20-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
FSL_MICFIL_RATES and FSL_MICFIL_FORMATS is only used once. Drop the unnecesary indirection and use SNDRV_PCM_RATE_8000_48000 and SNDRV_PCM_FMTBIT_S16_LE directly. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-19-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
The micfil driver doesn't use anything from imx-pcm.h. Drop its inclusion. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-18-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
For the quality setting the quality setting register values are directly exposed to the kcontrol and thus to userspace. This is unfortunate because the register settings contains invalid bit combinations marked as "N/A". For userspace it doesn't make much sense to be able to set these just to see that the driver responds with "Please make sure you select a valid quality." in the kernel log. Work around this by adding get/set functions for the quality setting. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-17-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
The reference manual has this for calculating the micfil internal clock divider: MICFIL Clock rate clkdiv = ----------------- 8 * OSR * outrate (with OSR == Oversampling Rate, outrate == output sample rate) The driver first sets the MICFIL Clock rate to (outrate * 1024) and then calculates back the clkdiv value from the above calculation. Simplify this by using a fixed clkdiv value of 8 and set the MICFIL Clock rate to (outrate * clkdiv * OSR * 8). While at it drop disabling the clock before setting its rate. The MICFIL module is disabled when the rate is changed and it is also resetted before it is started again, so I doubt it's necessary to disable the clock. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-16-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
get_pdm_clk() calculates the PDM clock based on the quality setting, but really the PDM clock is independent of the quality, it's always rate * 4 * micfil->osr. Just drop the function and do the calculation in the caller. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-15-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
The OSR (OverSampling Rate) setting is set once to the default value and never changed throughout the driver. Nevertheless the value is read back from the register for further calculations. Just use the default value because we know what we have written. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-14-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
The micfil hardware provides the microphone data on multiple successive FIFO registers, one register per stereo pair. Also to work properly the SDMA_DONE0_CONFIG_DONE_SEL bit in the SDMA engines SDMA_DONE0_CONFIG register must be set. This patch provides the necessary information to the SDMA engine driver. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-13-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
The i.MX SDMA engine can read from / write to multiple successive hardware FIFO registers, referred to as "Multi FIFO support". This is needed for the micfil driver and certain configurations of the SAI driver. This patch adds support for this feature. The number of FIFOs to read from / write to must be communicated from the client driver to the SDMA engine. For this the struct dma_slave_config::peripheral_config field is used. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-By: Vinod Koul <vkoul@kernel.org> Link: https://lore.kernel.org/r/20220414162249.3934543-12-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
The i.MX SDMA driver currently silently ignores unsupported transfer types. These transfer types are specified in the dma channel description in the device tree, so they should really be checked. Issue a message and error out when we hit unsupported transfer types. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-By: Vinod Koul <vkoul@kernel.org> Link: https://lore.kernel.org/r/20220414162249.3934543-11-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
The i.MX DMA drivers are device tree only, nothing in include/linux/platform_data/dma-imx.h has platform_data in it, so move the file to include/linux/dma/imx-dma.h. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-By: Vinod Koul <vkoul@kernel.org> Link: https://lore.kernel.org/r/20220414162249.3934543-10-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
struct fsl_micfil has unused fields, remove them. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-9-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
Failed register accesses are really not expected in memory mapped registers. When it fails then the register access itself is likely not the reason, so no need to have extra error messages for each regmap access. Just drop the error messages. This also fixes some places where a return value is concatenated using 'ret |=' and then returned as error value. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-8-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
Instead regmap_update_bits() use the simpler variants regmap_[set|clear]_bits() where appropriate. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-7-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
Use GENMASK along with FIELD_PREP and FIELD_GET to access bitfields in registers to straighten register access and to drop a lot of defines. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-6-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
No need to have defines for the mask of single bits. Also shift is unused. Drop all these unnecessary defines. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-5-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
All that the .set_sysclk hook in the micfil driver does is to pass the sysclk frequency to fsl_micfil_set_mclk_rate(). This function expects the sample rate as argument though, not any kind of sysclk frequency. The resulting rate setting of the clock is overwritten in hw_params anyway, so drop this altogether. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-4-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
In get_pdm_clk() REG_MICFIL_CTRL2 is read, but the result is never used. Drop the unused code. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-3-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Sascha Hauer authored
in get_pdm_clk() REG_MICFIL_CTRL2 is read twice. Drop second read. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-2-s.hauer@pengutronix.deSigned-off-by: Mark Brown <broonie@kernel.org>
-
Minghao Chi authored
Using pm_runtime_resume_and_get is more appropriate for simplifing code Reported-by: Zeal Robot <zealci@zte.com.cn> Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220418110259.2559144-1-chi.minghao@zte.com.cnSigned-off-by: Mark Brown <broonie@kernel.org>
-
Srinivasa Rao Mandadapu authored
Update memremap flag from MEMREMAP_WT to MEMREMAP_WC for better performance. Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com> Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com> Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com> Link: https://lore.kernel.org/r/1649844596-5264-1-git-send-email-quic_srivasam@quicinc.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
- 14 Apr, 2022 1 commit
-
-
Akihiko Odaki authored
snd_soc_card_jack_new() allowed to create jack kcontrol without pins, but did not create kcontrols. The jack would not have kcontrols if pins were not going to be added. This renames the old snd_soc_card_jack_new() to snd_soc_card_jack_new_pins() for use when pins are provided or will be added later. The new snd_soc_card_jack_new() appropriately creates a jack for use without pins and adds a kcontrol. Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com> Link: https://lore.kernel.org/r/20220408041114.6024-1-akihiko.odaki@gmail.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
- 13 Apr, 2022 1 commit
-
-
Zheyu Ma authored
The driver should use the pci_resource_len() to get the actual length of pci bar, and compare it with the expect value. If the bar size is too small (such as a broken device), the driver should return an error. Signed-off-by: Zheyu Ma <zheyuma97@gmail.com> Link: https://lore.kernel.org/r/20220409143950.2570186-1-zheyuma97@gmail.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
- 12 Apr, 2022 6 commits
-
-
Janusz Krzysztofik authored
The driver, OMAP1 specific, now omits clk_prepare/unprepare() steps, not supported by OMAP1 custom implementation of clock API. However, non-CCF stubs of those functions exist for use on such platforms until converted to CCF. Update the driver to be compatible with CCF implementation of clock API. Signed-off-by: Janusz Krzysztofik <jmkrzyszt@gmail.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com> Link: https://lore.kernel.org/r/20220407191202.46206-1-jmkrzyszt@gmail.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Minghao Chi authored
Using pm_runtime_resume_and_get is more appropriate for simplifing code Reported-by: Zeal Robot <zealci@zte.com.cn> Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220412083000.2532711-1-chi.minghao@zte.com.cnSigned-off-by: Mark Brown <broonie@kernel.org>
-
Corentin Labbe authored
The word "or" is useless and breaks yaml validation. Signed-off-by: Corentin Labbe <clabbe@baylibre.com> Link: https://lore.kernel.org/r/20220411194409.3390002-1-clabbe@baylibre.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Mark Brown authored
Merge series from Stephen Kitt <steve@sk2.org>: This series covers all the remaining changes to migrate sound/soc/codecs i2c probes to probe_new, where the const struct i2c_client * argument is unused; there are a few remaining files which use the argument and will need i2c_match_id migration.
-
Mark Brown authored
Merge series from Ranjani Sridharan <ranjani.sridharan@linux.intel.com>: This series is continuation of the IPC abstraction in the SOF driver in preparation for supporting the new IPC supported by the SOF firmware. It introduces abstraction for top-level IPC ops for sending/receiving regular and large IPC's. Peter Ujfalusi (15): ASoC: SOF: Add helper function to prepare and send an IPC message ASoC: SOF: Add high level IPC IO callback definitions to ipc_ops ASoC: SOF: ipc3: Implement the tx_msg IPC ops ASoC: SOF: ipc3: Use sof_ipc3_tx_msg() internally for message sending ASoC: SOF: ipc3: Implement the set_get_data IPC ops ASoC: SOF: ipc3: Implement the get_reply IPC ops ASoC: SOF: ipc3: Implement rx_msg IPC ops ASoC: SOF: ipc: Separate the ops checks by functions/topics ASoC: SOF: ipc: Add check for mandatory IPC message handling ops ASoC: SOF: ipc: Use the get_reply ops in snd_sof_ipc_get_reply() ASoC: SOF: ipc: Switch over to use the tx_msg and set_get_data ops ASoC: SOF: ipc: Switch over to use the rx_msg ops ASoC: SOF: Add widget_kcontrol_setup control ops for IPC3 ASoC: SOF: sof-audio: Use the widget_kcontrol_setup ops for kcontrol set up ASoC: SOF: ipc: Move the ipc_set_get_comp_data() local to ipc3-control sound/soc/sof/ipc.c | 858 ++--------------------------------- sound/soc/sof/ipc3-control.c | 131 +++++- sound/soc/sof/ipc3.c | 682 +++++++++++++++++++++++++++- sound/soc/sof/sof-audio.c | 54 +-- sound/soc/sof/sof-audio.h | 7 +- sound/soc/sof/sof-priv.h | 28 +- 6 files changed, 880 insertions(+), 880 deletions(-) -- 2.25.1
-
Mark Brown authored
Merge series from Mario Limonciello <mario.limonciello@amd.com>: It's not possible to probe for the presence of a DMIC, so the ACP6x machine driver currently has a hardcoded list of all the systems known to have a DMIC connected to the ACP. Although this design works it means that the acp6x driver needs to always grow with more systems and worse, if an OEM introduces a new system there will be a mismatch in time that even if the driver (otherwise) works fine it needs their system added to the list to work. So this series introduces a _DSD that OEMs can populate into the BIOS to indicate presence of a DMIC.
-
- 11 Apr, 2022 6 commits
-
-
Richard Fitzgerald authored
Use the new EXPORT_SYMBOL_NS_GPL() for exports from the set of drivers for cs35l45. Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220411165929.1302333-1-rf@opensource.cirrus.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
YueHaibing authored
sound/soc/tegra/tegra186_asrc.c:90:12: error: ‘tegra186_asrc_runtime_resume’ defined but not used [-Werror=unused-function] static int tegra186_asrc_runtime_resume(struct device *dev) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ sound/soc/tegra/tegra186_asrc.c:80:12: error: ‘tegra186_asrc_runtime_suspend’ defined but not used [-Werror=unused-function] static int tegra186_asrc_runtime_suspend(struct device *dev) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Mark these functions as __maybe_unused to avoid this kind of warning. Fixes: a2df8c2d ("ASoC: tegra: Add Tegra186 based ASRC driver") Signed-off-by: YueHaibing <yuehaibing@huawei.com> Reviewed-by: Sameer Pujar <spujar@nvidia.com> Link: https://lore.kernel.org/r/20220411020908.580-1-yuehaibing@huawei.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Vijendar Mukunda authored
Update PCI revision id check for the new YC platform varaint. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20220411134119.1767646-1-Vijendar.Mukunda@amd.comSigned-off-by: Mark Brown <broonie@kernel.org>
-
Stephen Kitt authored
The i2c probe functions here don't use the id information provided in their second argument, so the single-parameter i2c probe function ("probe_new") can be used instead. This avoids scanning the identifier tables during probes. Signed-off-by: Stephen Kitt <steve@sk2.org> Link: https://lore.kernel.org/r/20220405165836.2165310-15-steve@sk2.orgSigned-off-by: Mark Brown <broonie@kernel.org>
-
Stephen Kitt authored
The i2c probe functions here don't use the id information provided in their second argument, so the single-parameter i2c probe function ("probe_new") can be used instead. This avoids scanning the identifier tables during probes. Signed-off-by: Stephen Kitt <steve@sk2.org> Link: https://lore.kernel.org/r/20220405165836.2165310-14-steve@sk2.orgSigned-off-by: Mark Brown <broonie@kernel.org>
-
Stephen Kitt authored
The i2c probe functions here don't use the id information provided in their second argument, so the single-parameter i2c probe function ("probe_new") can be used instead. This avoids scanning the identifier tables during probes. Signed-off-by: Stephen Kitt <steve@sk2.org> Link: https://lore.kernel.org/r/20220405165836.2165310-13-steve@sk2.orgSigned-off-by: Mark Brown <broonie@kernel.org>
-