New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[TGL][SDW] XRUN causes multiple pipeline capture test to fail #4066
Comments
It is related to commit 242d33837f6218c1db1a020d8069cdf85545b277 https://github.com/thesofproject/linux/commit/242d33837f6218c1db1a020d8069cdf85545b277 too To confirm this , I revert commit 242d338 , builded kernel and installed it on ubuntu@sh-tglu-volt-sdw-02 . It appeared that after reverting the commit , multipipeline test worked quite well. |
Transferred from linux issue. IPC errors are fixed by #4065. |
@fredoh9 can we close ? |
@lgirdwood #4065 fixes only ipc errors. |
@fredoh9 thanks, can you update and mark the duplicated issues with the duplicated label. |
@fredoh9 can you link the original duplicate here and assign its owner here. thanks |
Duplicate of #3953 |
still happened on TGLU_VOLT_SDW in internal daily test [id 4457] |
Comments by @RanderWang : this issue is caused by thesofproject/linux@3a27875. |
@RanderWang @keqiaozhang does this cause a delay between sending IPC messages ? Can someone confirm ? |
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmition was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. According to ASoC framework, be link trigger should be executed before component trigger when starting pipeline and the sequence will be reverse for the stop case. This patch changes sequence to this style. Fixes: Added 30ms turn on/off time delay (3a27875) BugLink: thesofproject/sof#4066 Signed-off-by: Rander Wang <rander.wang@intel.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmition was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. According to ASoC framework, be link trigger should be executed before component trigger when starting pipeline and the sequence will be reverse for the stop case. This patch changes sequence to this style. Fixes: 3a27875 (ASoC: max98373: Added 30ms turn on/off time delay) BugLink: thesofproject/sof#4066 Signed-off-by: Rander Wang <rander.wang@intel.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmition was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. According to ASoC framework, be link trigger should be executed before component trigger when starting pipeline and the sequence will be reverse for the stop case. This patch changes sequence to this style. Fixes: 3a27875 (ASoC: max98373: Added 30ms turn on/off time delay) BugLink: thesofproject/sof#4066 Signed-off-by: Rander Wang <rander.wang@intel.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmition was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 (ASoC: max98373: Added 30ms turn on/off time delay) BugLink: thesofproject/sof#4066 Signed-off-by: Rander Wang <rander.wang@intel.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmition was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 (ASoC: max98373: Added 30ms turn on/off time delay) BugLink: thesofproject/sof#4066 Signed-off-by: Rander Wang <rander.wang@intel.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmition was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 (ASoC: max98373: Added 30ms turn on/off time delay) BugLink: thesofproject/sof#4066 Signed-off-by: Rander Wang <rander.wang@intel.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmition was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 (ASoC: max98373: Added 30ms turn on/off time delay) BugLink: thesofproject/sof#4066 Signed-off-by: Rander Wang <rander.wang@intel.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmition was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 (ASoC: max98373: Added 30ms turn on/off time delay) BugLink: thesofproject/sof#4066 Signed-off-by: Rander Wang <rander.wang@intel.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmition was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 (ASoC: max98373: Added 30ms turn on/off time delay) BugLink: thesofproject/sof#4066 Signed-off-by: Rander Wang <rander.wang@intel.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmition was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 (ASoC: max98373: Added 30ms turn on/off time delay) BugLink: thesofproject/sof#4066 Signed-off-by: Rander Wang <rander.wang@intel.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmition was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 (ASoC: max98373: Added 30ms turn on/off time delay) BugLink: thesofproject/sof#4066 Signed-off-by: Rander Wang <rander.wang@intel.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmition was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 (ASoC: max98373: Added 30ms turn on/off time delay) BugLink: thesofproject/sof#4066 Signed-off-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmission was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 ("ASoC: max98373: Added 30ms turn on/off time delay") BugLink: thesofproject/sof#4066 Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Rander Wang <rander.wang@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmission was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 ("ASoC: max98373: Added 30ms turn on/off time delay") BugLink: thesofproject/sof#4066 Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Rander Wang <rander.wang@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210625205042.65181-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
[ Upstream commit 33c8516 ] On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmission was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 ("ASoC: max98373: Added 30ms turn on/off time delay") BugLink: thesofproject/sof#4066 Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Rander Wang <rander.wang@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210625205042.65181-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 33c8516 ] On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmission was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 ("ASoC: max98373: Added 30ms turn on/off time delay") BugLink: thesofproject/sof#4066 Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Rander Wang <rander.wang@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210625205042.65181-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
BugLink: https://bugs.launchpad.net/bugs/1942123 [ Upstream commit 33c8516 ] On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmission was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 ("ASoC: max98373: Added 30ms turn on/off time delay") BugLink: thesofproject/sof#4066 Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Rander Wang <rander.wang@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210625205042.65181-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Kamal Mostafa <kamal@canonical.com> Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
On TGL platform with max98373 codec the trigger start sequence is fe first, then codec component and sdw link is the last. Recently a delay was introduced in max98373 codec driver and this resulted to the start of sdw stream transmission was delayed and the data transmitted by fw can't be consumed by sdw controller, so xrun happened. Adding delay in trigger function is a bad idea. This patch enable spk pin in prepare function and disable it in hw_free to avoid xrun issue caused by delay in trigger. Fixes: 3a27875 ("ASoC: max98373: Added 30ms turn on/off time delay") BugLink: thesofproject/sof#4066 Reviewed-by: Bard Liao <bard.liao@intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Signed-off-by: Rander Wang <rander.wang@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210625205042.65181-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Describe the bug
We found this issue on TGL-chrome SDW device. when running arecord and aplay on several pipelines, it will failed with I/O error, check the dmesg, there's IPC error log: “error: ipc error for 0x60050000 size 12" and also some XRUN errors in dma trace.
To Reproduce
Reproduction Rate
100%
Environment
Kernel Branch: topic/sof-dev
Kernel Commit: 2338fa4f
SOF Branch: main
SOF Commit: 72121fb
Platform: TGL chromebook SDW
dmesg
Trace
The text was updated successfully, but these errors were encountered: