- 27 6月, 2022 3 次提交
-
-
由 Shengjiu Wang 提交于
Add support for more sample rates, because PDM format bitstream has higher sample rates. for example DSD512 format, the bit clock is 22.5792MHz, if the word width is U8_LE, then the max sample rate is 2822400. Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1655451877-16382-4-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Shengjiu Wang 提交于
Support DSD_U8, DSD_U16_LE, DSD_U32_LE. Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1655451877-16382-3-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Shengjiu Wang 提交于
PDM format is used for 1-bit stream, so clear the FBT and SYWD, and the each dataline only has one channel data. Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1655451877-16382-2-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 22 6月, 2022 1 次提交
-
-
由 Uwe Kleine-König 提交于
The function snd_soc_unregister_card() returned 0 unconditionally and most callers don't care to check the return value. Make it return void and adapt the callers that didn't ignore the return value before. This is a preparation for making platform remove callbacks return void. Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.kernel.org/r/20220621145834.198519-1-u.kleine-koenig@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 20 6月, 2022 1 次提交
-
-
由 Sascha Hauer 提交于
dmaengine_terminate_all() is deprecated and should no longer be used. Use dmaengine_terminate_async() instead. This involves no functional change since both functions do the same. After dmaengine_terminate_async() dmaengine_synchronize() must be called to make sure the channel has really stopped before the underlying memory is freed. This is done implicitly by dma_release_channel() called from the .hw_free hook. Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de> Link: https://lore.kernel.org/r/20220617120133.4011846-1-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 14 6月, 2022 1 次提交
-
-
由 Shengjiu Wang 提交于
Add i.MX93 compatible string and specific soc data Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1654840042-7069-2-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 09 6月, 2022 2 次提交
-
-
由 Minghao Chi 提交于
Because clk_disable_unprepare/clk_prepare_enable already checked NULL clock parameter, so the additional checks are unnecessary, just remove them. Reported-by: NZeal Robot <zealci@zte.com.cn> Signed-off-by: NMinghao Chi <chi.minghao@zte.com.cn> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220606033705.291048-1-chi.minghao@zte.com.cnSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Shengjiu Wang 提交于
On i.MX8MM, the MCTL_MCLK_EN bit it is not only the gate for MCLK output to PAD, but also the gate bit between root clock and SAI module, So it is need to be enabled for master mode, otherwise there is no bclk generated. Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1652963808-14515-1-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 06 6月, 2022 9 次提交
-
-
由 Shengjiu Wang 提交于
Add soc specific data struct fsl_mqs_soc_data, move the definition of control register, each function bits to it, then the code can be simplified. Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1653456221-21613-1-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 zhangqilong 提交于
a) Add missing pm_runtime_disable() when probe error out. It could avoid pm_runtime implementation complains when removing and probing again the driver. b) Add remove for missing pm_runtime_disable(). Fix:c590fa80 ("ASoC: fsl_xcvr: register platform component before registering cpu dai") Signed-off-by: NZhang Qilong <zhangqilong3@huawei.com> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220602072024.33236-1-zhangqilong3@huawei.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Shengjiu Wang 提交于
The SSI and SPDIF has dual fifos, enhance P2P for these case with using the sdma_peripheral_config struct Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1653015960-15474-1-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Marco Felsch 提交于
If the imx-pcm-dma is required we need to have the module enabled. For all NXP/FSL sound cards using the ASoC architecture this is the case but in case of using the simple-audio-card sound card this isn't the case. In such case the driver probe fails silently and the card isn't available. It took a while to find the missing Kconfig. Make this easier for others by printing a error if this the module isn't available but required by the HW. Signed-off-by: NMarco Felsch <m.felsch@pengutronix.de> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220601092342.3328644-3-m.felsch@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Marco Felsch 提交于
Use a local variable to dereference the device pointer once and use the local variable in further calls. No functional changes. Signed-off-by: NMarco Felsch <m.felsch@pengutronix.de> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220601092342.3328644-1-m.felsch@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Fabio Estevam 提交于
Change the of_device_get_match_data() cast to (uintptr_t) to silence the following clang warning: sound/soc/fsl/imx-audmux.c:301:16: warning: cast to smaller integer type 'enum imx_audmux_type' from 'const void *' [-Wvoid-pointer-to-enum-cast] Reported-by: Nkernel test robot <lkp@intel.com> Fixes: 6a8b8b58 ("ASoC: imx-audmux: Remove unused .id_table") Signed-off-by: NFabio Estevam <festevam@gmail.com> Link: https://lore.kernel.org/r/20220526010543.1164793-1-festevam@gmail.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Charles Keepax 提交于
Now the core has been migrated across to the new direct clock specification we can move the drivers back to the normal set_fmt callback. Signed-off-by: NCharles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220519154318.2153729-36-ckeepax@opensource.cirrus.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Charles Keepax 提交于
As part of updating the core to directly tell drivers if they are clock provider or consumer update these CPU side drivers to use the new direct callback. Signed-off-by: NCharles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220519154318.2153729-9-ckeepax@opensource.cirrus.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Shengjiu Wang 提交于
The SAI module on i.MX8MN is almost same as i.MX8MP, So reuse same soc data as i.MX8MP. Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1653966123-28217-1-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 23 5月, 2022 1 次提交
-
-
由 Shengjiu Wang 提交于
There are multiple xDR and xFR registers, the index is from 0 to 7. FSL_SAI_xDR and FSL_SAI_xFR is abandoned, replace them with FSL_SAI_xDR0 and FSL_SAI_xFR0. Fixes: 4f7a0728 ("ASoC: fsl_sai: Add support for SAI new version") Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1653284661-18964-1-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 16 5月, 2022 3 次提交
-
-
由 Shengjiu Wang 提交于
Add i.MX8ULP specific soc data, the max register is FSL_SAI_RTCAP the IP version is also 0x0301, So version can't be used for the condition of register FSL_SAI_MCTL setting. Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by: NFabio Estevam <festevam@gmail.com> Link: https://lore.kernel.org/r/1652688372-10274-4-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Shengjiu Wang 提交于
Add i.MX8M Plus specific soc data, the max register is FSL_SAI_MDIV. Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by: NFabio Estevam <festevam@gmail.com> Link: https://lore.kernel.org/r/1652688372-10274-3-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Shengjiu Wang 提交于
On i.MX8MM the max register is FSL_SAI_MCTL, which is different with previous platform, so add max_register in soc data to distinguish platforms. And add specific soc data for i.MX8MM Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by: NFabio Estevam <festevam@gmail.com> Link: https://lore.kernel.org/r/1652688372-10274-2-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 12 5月, 2022 3 次提交
-
-
由 Miaoqian Lin 提交于
of_find_device_by_node() takes reference, we should use put_device() to release it. when devm_kzalloc() fails, it doesn't have a put_device(), it will cause refcount leak. Add missing put_device() to fix this. Fixes: 6a5f850a ("ASoC: fsl: Add imx-hdmi machine driver") Fixes: f670b274 ("ASoC: imx-hdmi: add put_device() after of_find_device_by_node()") Signed-off-by: NMiaoqian Lin <linmq006@gmail.com> Link: https://lore.kernel.org/r/20220511052740.46903-1-linmq006@gmail.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Shengjiu Wang 提交于
With dual fifo enabled, the case that recording mono sound in the background, playback mono sound twice in parallal, at second time playback sound may distort, the possible reason is using dual fifo to playback mono sound is not recommended. This patch is to provide a option to use multi fifo script, which can be dynamically configured as one fifo or two fifo mode. Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1652183808-3745-1-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Miaoqian Lin 提交于
of_find_i2c_device_by_node() takes a reference, In error paths, we should call put_device() to drop the reference to aviod refount leak. Fixes: 81e8e492 ("ASoC: fsl: add sgtl5000 clock support for imx-sgtl5000") Signed-off-by: NMiaoqian Lin <linmq006@gmail.com> Reviewed-by: NFabio Estevam <festevam@gmail.com> Link: https://lore.kernel.org/r/20220511065803.3957-1-linmq006@gmail.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 10 5月, 2022 1 次提交
-
-
由 Shengjiu Wang 提交于
On i.MX8Plus there are two updates for micfil module. One is that the output format is S32_LE, only the 24 more significative bits have information, the other bits are always zero. Add 'formats' variable in soc data to distinguish the format on different platform. Another is that the fifo depth is 32 entries. Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1652087663-1908-1-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 05 5月, 2022 1 次提交
-
-
由 Shengjiu Wang 提交于
Remove the _SHIFT for the mask definition. Fixes: 17f2142b ("ASoC: fsl_micfil: use GENMASK to define register bit fields") Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com> Acked-by: NSascha Hauer <s.hauer@pengutronix.de> Link: https://lore.kernel.org/r/1651736047-28809-1-git-send-email-shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 25 4月, 2022 2 次提交
-
-
由 Haowen Bai 提交于
No need to add null check before call of_node_put(), since the implementation of of_node_put() has done it. Signed-off-by: NHaowen Bai <baihaowen@meizu.com> Link: https://lore.kernel.org/r/1650509120-25377-1-git-send-email-baihaowen@meizu.comSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Minghao Chi 提交于
Using pm_runtime_resume_and_get() to replace pm_runtime_get_sync and pm_runtime_put_noidle. This change is just to simplify the code, no actual functional changes. Reported-by: NZeal Robot <zealci@zte.com.cn> Signed-off-by: NMinghao Chi <chi.minghao@zte.com.cn> Link: https://lore.kernel.org/r/20220420030402.2575755-1-chi.minghao@zte.com.cnSigned-off-by: NMark Brown <broonie@kernel.org>
-
- 19 4月, 2022 12 次提交
-
-
由 Sascha Hauer 提交于
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: NSascha Hauer <s.hauer@pengutronix.de> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-22-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Sascha Hauer 提交于
fsl_set_clock_params() is used only once and easily be folded into its caller, do so. Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-21-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Sascha Hauer 提交于
The "fsl,shared-interrupt" property is undocumented and unnecessary. Just pass IRQF_SHARED unconditionally. Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-20-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Sascha Hauer 提交于
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: NSascha Hauer <s.hauer@pengutronix.de> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-19-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Sascha Hauer 提交于
The micfil driver doesn't use anything from imx-pcm.h. Drop its inclusion. Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-18-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Sascha Hauer 提交于
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: NSascha Hauer <s.hauer@pengutronix.de> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-17-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Sascha Hauer 提交于
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: NSascha Hauer <s.hauer@pengutronix.de> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-16-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Sascha Hauer 提交于
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: NSascha Hauer <s.hauer@pengutronix.de> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-15-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Sascha Hauer 提交于
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: NSascha Hauer <s.hauer@pengutronix.de> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-14-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Sascha Hauer 提交于
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: NSascha Hauer <s.hauer@pengutronix.de> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-13-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Sascha Hauer 提交于
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: NSascha Hauer <s.hauer@pengutronix.de> Acked-By: NVinod Koul <vkoul@kernel.org> Link: https://lore.kernel.org/r/20220414162249.3934543-10-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-
由 Sascha Hauer 提交于
struct fsl_micfil has unused fields, remove them. Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de> Acked-by: NShengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220414162249.3934543-9-s.hauer@pengutronix.deSigned-off-by: NMark Brown <broonie@kernel.org>
-