From f48397b6487f23655b0a7edf86685190e63a992a Mon Sep 17 00:00:00 2001 From: Viswanath L Date: Mon, 9 Dec 2019 14:20:51 +0530 Subject: [PATCH] ASoC: tegra-alt: warning print at disable timeout ADMAIF may hit timeout in closing sequence, if some bits remain unconsumed in FIFO, which may happen if the sink gets closed/blocked ahead of source. As such the status register of ADMAIF remaining uncleared is not a catastrophic error and the channel will be available after reset, hence timeout merits a warning print. Above issue gets hit in two test scripts: - tegra-audio-amx-to-adx.sh, where closing aplay at any one input port of AMX causes the module to block other substreams. This is a HW bug, fixed in T194 upwards. - tegra-audio-admaif-testsuite.sh, where running aplay and arecord without any flow control does not ensure that aplay always drains its bits. The warning print here, in playback path, is whitelisted for GVS runs. Bug 200569324 Change-Id: I12984d08c6f43f41f3b85bb066d42b6883249060 Signed-off-by: Viswanath L Reviewed-on: https://git-master.nvidia.com/r/2258180 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Mohan Kumar D Reviewed-by: Sameer Pujar Reviewed-by: Sharad Gupta GVS: Gerrit_Virtual_Submit Reviewed-by: mobile promotions Tested-by: mobile promotions --- sound/soc/tegra-alt/tegra210_admaif_alt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/soc/tegra-alt/tegra210_admaif_alt.c b/sound/soc/tegra-alt/tegra210_admaif_alt.c index 1fdb43a2..435e4ef2 100644 --- a/sound/soc/tegra-alt/tegra210_admaif_alt.c +++ b/sound/soc/tegra-alt/tegra210_admaif_alt.c @@ -453,9 +453,9 @@ static int tegra_admaif_stop(struct snd_soc_dai *dai, int direction) ret = readl_poll_timeout_atomic(REG_IOVA(status_reg), val, !(val & enable), 10, 10000); - /* FIXME: root cause timeout and return error for below */ + /* Timeout may be hit if sink gets closed/blocked ahead of source */ if (ret < 0) - dev_info(dai->dev, "timeout: failed to disable ADMAIF%d_%s\n", + dev_warn(dai->dev, "timeout: failed to disable ADMAIF%d_%s\n", dai->id + 1, dir_name); /* SW reset */