20 Nov, 2020
2 commits
-
Add set_sysclk function to select preferred master input
clock on pcm512x codec, support multiple input system clocks
on SCLK master mode.Signed-off-by: Adrian Alonso
Reviewed-by: Shengjiu Wang
(cherry picked from commit 5ca64840578f9dad359d5c2e6821805df68a1608) -
ASoC machine sound driver for IQAudio PiDAC plus/pro
Rev3 for iMX SoC, high resolution codec supporting
upto 384khz sample rate on SAI; Include support for
Hifiberry audio hats that uses external oscillators for
dac system clock.Signed-off-by: Adrian Alonso
Reviewed-by: Shengjiu Wang
(cherry picked from commit b52d3587cba2b3db60cf316430478969918fed7a)
16 Nov, 2020
2 commits
-
Add widget to fix error prompt:
imx-cdnhdmi sound-hdmi: ASoC: DAPM unknown pin HDMI JackSigned-off-by: Shengjiu Wang
Reviewed-by: Peng Zhang -
When set_params return error, we should avoid to delete the component
in free function again. This may cause kernel crash.
Check cstream state to avoid such issue.Signed-off-by: Zhang Peng
13 Nov, 2020
2 commits
-
Remove unused pll8k and pll11k clock.
Signed-off-by: Shengjiu Wang
Reviewed-by: Peng Zhang -
When DSP has no response with cplay and try to force exit, kernel
met crash. Reason is kernel locks a mutex proxy->lock twice then
kernel crash. Use MU_SendMessageTimeout instead MU_SendMessage
then kernel can release the mutex.Signed-off-by: Zhang Peng
11 Nov, 2020
1 commit
-
Get card name from model property, which is to align the name
with Linux Fractory.Signed-off-by: Shengjiu Wang
Reviewed-by: Daniel Baluta
05 Nov, 2020
1 commit
-
Add support for bit and timestamp counters.
Signed-off-by: Viorel Suman
Reviewed-by: Shengjiu Wang
03 Nov, 2020
1 commit
-
Sync fsl_xcvr driver with the upstream accepted version.
Signed-off-by: Viorel Suman
29 Oct, 2020
1 commit
-
Add support aac streams for cplay, set necessary parameters to comp.
Signed-off-by: Zhang Peng
28 Oct, 2020
1 commit
-
ATF put into the end of OCRAM on 8mp A1. Change the ocram layout
for lpa.Signed-off-by: Bing Song
27 Oct, 2020
4 commits
-
Make fsl_dsp_cpu as a separate driver, otherwise below
build error will occur when set CONFIG_SND_SOC_FSL_DSP=mld.lld: error: duplicate symbol: init_module
>>> defined at fsl_dsp.c
>>> sound/soc/fsl/fsl_dsp.o:(init_module)
>>> defined at fsl_dsp_cpu.c
>>> sound/soc/fsl/fsl_dsp_cpu.o:(.init.text+0x0)Signed-off-by: Jindong
Reviewed-by: Shengjiu Wang -
After enable remote proc drvier, audio rpmsg
driver should not depend on HAVE_IMX_RPMSG.Signed-off-by: Jindong
Reviewed-by: Shengjiu Wang -
Move rpmsg wm8960 i2c driver to a new driver file,
otherwise it can not be built as module.Signed-off-by: Jindong
Reviewed-by: Shengjiu Wang -
Move i2s rpmsg driver to a new file: imx-i2s-rpmsg.c
This new driver should be probed after fsl_rpmsg_i2s, which
calls imx_rpmsg_platform_register (in imx-pcm-rpmsg) to fill
global variable: i2s_info_g.Signed-off-by: Jindong
Reviewed-by: Shengjiu Wang
26 Oct, 2020
1 commit
-
Add S32_LE support.
Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman
20 Oct, 2020
1 commit
-
Add license to support module build.
Signed-off-by: Jindong
Reviewed-by: Daniel Baluta
15 Oct, 2020
1 commit
-
Add to check more sections for dsp firmware due to xtensa tools upgrade,
dsp firmware binary adds sections.Signed-off-by: Zhang Peng
09 Oct, 2020
1 commit
-
instantiate snd_soc_dai_link for multi instance on 8dxl evk board.
Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman
08 Oct, 2020
1 commit
-
* tag 'v5.4.70': (3051 commits)
Linux 5.4.70
netfilter: ctnetlink: add a range check for l3/l4 protonum
ep_create_wakeup_source(): dentry name can change under you...
...Conflicts:
arch/arm/mach-imx/pm-imx6.c
arch/arm64/boot/dts/freescale/imx8mm-evk.dts
arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dts
drivers/crypto/caam/caamalg.c
drivers/gpu/drm/imx/dw_hdmi-imx.c
drivers/gpu/drm/imx/imx-ldb.c
drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
drivers/mmc/host/sdhci-esdhc-imx.c
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
drivers/net/ethernet/freescale/enetc/enetc.c
drivers/net/ethernet/freescale/enetc/enetc_pf.c
drivers/thermal/imx_thermal.c
drivers/usb/cdns3/ep0.c
drivers/xen/swiotlb-xen.c
sound/soc/fsl/fsl_esai.c
sound/soc/fsl/fsl_sai.cSigned-off-by: Jason Liu
07 Oct, 2020
3 commits
-
As per discussion with upstream this is not the correct way
to handle DSP resources. All the resource management was moved
to SOF IMX driver so this code is no longer used.Removed it!
Signed-off-by: Daniel Baluta
-
We must match this with the name from topology.
Signed-off-by: Daniel Baluta -
We move clocks handling from FSL DAI generic driver to IMX specific
driver as per discussion with upstream community. With this patch,
FSL DAI generic driver is no longer used and will be removed.Signed-off-by: Daniel Baluta
06 Oct, 2020
2 commits
-
Because we no longer use FSL DAI generic driver, we register
supported DAI drivers now with audio DSP platform.This will also simplify dts file.
Reviewed-by: Paul Olaru
Signed-off-by: Daniel Baluta -
We no longer use FSL DAI generic driver as it is not
a good direction for upstreaming. Move clock handling
to SOF imx specific driver.Note that clocks handled are for DAIs used by i.MX8/i.MX8X boards,
that is SAI1 and ESAI0.Reviewed-by: Paul Olaru
Signed-off-by: Daniel Baluta
01 Oct, 2020
8 commits
-
[ Upstream commit 6a0137101f47301fff2da6ba4b9048383d569909 ]
The MPMAN Converter9 2-in-1 almost fully works with out default settings.
The only problem is that it has only 1 speaker so any sounds only playing
on the right channel get lost.Add a quirk for this model using the default settings + MONO_SPEAKER.
Signed-off-by: Hans de Goede
Acked-by: Pierre-Louis Bossart
Link: https://lore.kernel.org/r/20200901080623.4987-1-hdegoede@redhat.com
Signed-off-by: Mark Brown
Signed-off-by: Sasha Levin -
[ Upstream commit f5a2cda4f1db89776b64c4f0f2c2ac609527ac70 ]
When the wm8958_mic_detect, wm8994_mic_detect functions get called from
the machine driver, e.g. from the card's late_probe() callback, the CODEC
device may be PM runtime suspended and any regmap writes have no effect.
Add PM runtime calls to these functions to ensure the device registers
are updated as expected.
This suppresses an error during boot
"wm8994-codec: ASoC: error at snd_soc_component_update_bits on wm8994-codec"
caused by the regmap access error due to the cache_only flag being set.Signed-off-by: Sylwester Nawrocki
Acked-by: Krzysztof Kozlowski
Acked-by: Charles Keepax
Link: https://lore.kernel.org/r/20200827173357.31891-2-s.nawrocki@samsung.com
Signed-off-by: Mark Brown
Signed-off-by: Sasha Levin -
[ Upstream commit 811c5494436789e7149487c06e0602b507ce274b ]
The WM8994_MICBIAS register is not available in the WM1811 CODEC so skip
initialization of that register for that device.
This suppresses an error during boot:
"wm8994-codec: ASoC: error at snd_soc_component_update_bits on wm8994-codec"Signed-off-by: Sylwester Nawrocki
Acked-by: Krzysztof Kozlowski
Acked-by: Charles Keepax
Link: https://lore.kernel.org/r/20200827173357.31891-1-s.nawrocki@samsung.com
Signed-off-by: Mark Brown
Signed-off-by: Sasha Levin -
[ Upstream commit 7ad26d6671db758c959d7e1d100b138a38483612 ]
Some sound card try to set 0 Hz as reset, but it is impossible.
This patch ignores it to avoid error return.Signed-off-by: Kuninori Morimoto
Link: https://lore.kernel.org/r/87a6yjy5sy.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown
Signed-off-by: Sasha Levin -
[ Upstream commit 65bd91dd6957390c42a0491b9622cf31a2cdb140 ]
pm_runtime_get_sync() increments the runtime PM usage counter even
the call returns an error code. Thus a pairing decrement is needed
on the error handling path to keep the counter balanced.Signed-off-by: Dinghao Liu
Link: https://lore.kernel.org/r/20200529012230.5863-1-dinghao.liu@zju.edu.cn
Signed-off-by: Mark Brown
Signed-off-by: Sasha Levin -
[ Upstream commit 1919b42ca4ad75a2397081164661af3ce5a7b8f4 ]
In tx_wait_done the ipc payload is copied before the DSP transaction
error code is checked. This might lead to corrupted data in kernel side
even though the error would be handled later. It is also pointless to
copy the data in case of error. So change the order of error check and
copy.Signed-off-by: Pierre-Louis Bossart
Signed-off-by: Jaska Uimonen
Link: https://lore.kernel.org/r/20200228231850.9226-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown
Signed-off-by: Sasha Levin -
[ Upstream commit acb874a7c049ec49d8fc66c893170fb42c01bdf7 ]
It was observed Baytrail-based chromebooks could cause continuous PLL
unlocked when using playback stream and capture stream simultaneously.
Specifically, starting a capture stream after started a playback stream.
As a result, the audio data could corrupt or turn completely silent.As the datasheet suggested, the maximum PLL lock time should be 7 msec.
The workaround resets the codec softly by toggling SHDN off and on if
PLL failed to lock for 10 msec. Notably, there is no suggested hold
time for SHDN off.On Baytrail-based chromebooks, it would easily happen continuous PLL
unlocked if there is a 10 msec delay between SHDN off and on. Removes
the msleep().Signed-off-by: Tzung-Bi Shih
Link: https://lore.kernel.org/r/20191122073114.219945-2-tzungbi@google.com
Reviewed-by: Pierre-Louis Bossart
Signed-off-by: Mark Brown
Signed-off-by: Sasha Levin -
[ Upstream commit 175fc928198236037174e5c5c066fe3c4691903e ]
Propagate the error code from request_irq(), rather than returning
-EBUSY.Signed-off-by: Russell King
Link: https://lore.kernel.org/r/E1iNIqh-0000tW-EZ@rmk-PC.armlinux.org.uk
Signed-off-by: Mark Brown
Signed-off-by: Sasha Levin
23 Sep, 2020
3 commits
-
[ Upstream commit 9c4b205a20f483d8a5d1208cfec33e339347d4bd ]
On g12 and following platforms, The first channel of record with more than
2 channels ends being placed randomly on an even channel of the output.On these SoCs, a bit was added to force the first channel to be placed at
the beginning of the output. Apparently the behavior if the bit is not set
is not easily predictable. According to the documentation, this bit is not
present on the axg series.Set the bit on g12 and fix the problem.
Fixes: a3c23a8ad4dc ("ASoC: meson: axg-toddr: add g12a support")
Reported-by: Nicolas Belin
Signed-off-by: Jerome Brunet
Link: https://lore.kernel.org/r/20200828151438.350974-1-jbrunet@baylibre.com
Signed-off-by: Mark Brown
Signed-off-by: Sasha Levin -
[ Upstream commit c1e6414cdc371f9ed82cefebba7538499a3059f9 ]
for_each_child_of_node returns a node pointer np with
refcount incremented. So when devm_kzalloc fails, a
pairing refcount decrement is needed to keep np's
refcount balanced.Fixes: 16395ceee11f8 ("ASoC: qcom: common: Fix NULL pointer in of parser")
Signed-off-by: Dinghao Liu
Link: https://lore.kernel.org/r/20200820042828.10308-1-dinghao.liu@zju.edu.cn
Signed-off-by: Mark Brown
Signed-off-by: Sasha Levin -
[ Upstream commit 3c27ea23ffb43262da6c64964163895951aaed4e ]
On Linux 5.9-rc1 I get the following warning with apq8016-sbc:
WARNING: CPU: 2 PID: 69 at sound/core/init.c:207 snd_card_new+0x36c/0x3b0 [snd]
CPU: 2 PID: 69 Comm: kworker/2:1 Not tainted 5.9.0-rc1 #1
Workqueue: events deferred_probe_work_func
pc : snd_card_new+0x36c/0x3b0 [snd]
lr : snd_card_new+0xf4/0x3b0 [snd]
Call trace:
snd_card_new+0x36c/0x3b0 [snd]
snd_soc_bind_card+0x340/0x9a0 [snd_soc_core]
snd_soc_register_card+0xf4/0x110 [snd_soc_core]
devm_snd_soc_register_card+0x44/0xa0 [snd_soc_core]
apq8016_sbc_platform_probe+0x11c/0x140 [snd_soc_apq8016_sbc]This warning was introduced in
commit 81033c6b584b ("ALSA: core: Warn on empty module").
It looks like we are supposed to set card->owner to THIS_MODULE.Fix this for all the qcom ASoC drivers.
Cc: Srinivas Kandagatla
Fixes: 79119c798649 ("ASoC: qcom: Add Storm machine driver")
Fixes: bdb052e81f62 ("ASoC: qcom: add apq8016 sound card support")
Fixes: a6f933f63f2f ("ASoC: qcom: apq8096: Add db820c machine driver")
Fixes: 6b1687bf76ef ("ASoC: qcom: add sdm845 sound card support")
Signed-off-by: Stephan Gerhold
Link: https://lore.kernel.org/r/20200820154511.203072-1-stephan@gerhold.net
Signed-off-by: Mark Brown
Signed-off-by: Sasha Levin
18 Sep, 2020
2 commits
-
When connect two components, should be one component output port links
to the other one input port.Signed-off-by: Zhang Peng
-
For supporting seek for compress pipeline, remove delate comp operation
in dsp_platform_compr_trigger_stop. Remove connect comp operation in
dsp_platform_compr_trigger_start. Only connect component once.Signed-off-by: Zhang Peng
10 Sep, 2020
2 commits
-
Previously update pointer in mix function according to dma callback,
which is not accurate for the callback maybe triggerred very late, that
cause the read pointer and write pointer point to same period, then
there is noise in output.
So get pointer directly from dma driver to avoid such issue.Signed-off-by: Shengjiu Wang
Reviewed-by: Peng Zhang -
Previously doing mixing in softirq, the mixing causing too much
time ( period size is 512 sample, the time is about 2.5ms), so
move the mixing to workqueue to reduce irq loadingUse 4 period instead of pingpong buffer for leverage instant loading.
Signed-off-by: Shengjiu Wang
Reviewed-by: Peng Zhang