-
Notifications
You must be signed in to change notification settings - Fork 46
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
check-sof-logger: fix the DSP boot check #1095
check-sof-logger: fix the DSP boot check #1095
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kv2019i, wow, that's a nice catch (and overlook in the test code)
test-case/check-sof-logger.sh
Outdated
dlogi "Polling ${CARD_NODE}, waiting for DSP boot..." | ||
for i in $(seq 1 5); do | ||
for i in $(seq 1 70); do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you use MAX_WAIT_FW_LOADING
here? See #1059 for other use cases
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you look at the (small) PRs linked from #1059 you will see a new, convenience function poll_wait_for()
function that can likely replace this loop.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a fix for #01077 ? If yes please mention it in the commit message.
test-case/check-sof-logger.sh
Outdated
dlogi "Polling ${CARD_NODE}, waiting for DSP boot..." | ||
for i in $(seq 1 5); do | ||
for i in $(seq 1 70); do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you look at the (small) PRs linked from #1059 you will see a new, convenience function poll_wait_for()
function that can likely replace this loop.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch!
The DSP boot check reload_drivers() must wait longer than 5 seconds as we have many configurations where DSP boot will take more than 60sec (due to e.g. Intel platforms with i915 hardware present but driver not present in the kernel version under test). Additionally the test case must check whether DSP did boot up after the timeout expires, and fail the test case if it didn't. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
94e9731
to
6220dba
Compare
Fixed the variable, will try to adopt the poll loop. |
Use poll_wait_for() to implement polling for DSP boot. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Suggested-by: Marc Herbert <marc.herbert@intel.com>
V3 uploaded:
|
The failure in https://sof-ci.01.org/softestpr/PR1095/build696/devicetest/index.html?model=CML_HEL_RT5682&testcase=check-sof-logger seems unfortunately related. Looking into it. |
Interesting, In any case I will bump the default timeout to 13 seconds.
|
rt1011 i2c-10EC1011:00 needs about 10 seconds to boot every time on cml-hel-rt5682, see evidence in thesofproject#1095 ``` 21:59:16 snd_sof:ipc3_log_header: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx: 0x30130000: GLB_TPLG_MSG: PIPE_COMPLETE 21:59:16 snd_sof:sof_ipc3_complete_pipeline: sof-audio-pci-intel-cnl 0000:00:1f.3: tplg: complete pipeline PIPELINE.1.SSP0.OUT id 5 21:59:16 snd_sof:ipc3_log_header: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx: 0x30130000: GLB_TPLG_MSG: PIPE_COMPLETE 21:59:16 snd_hda_codec_hdmi ehdaudio0D2: ASoC: sink widget AIF1TX overwritten 21:59:16 snd_hda_codec_hdmi ehdaudio0D2: ASoC: source widget AIF1RX overwritten 21:59:16 rt1011 i2c-10EC1011:00: ADC offset=0x0 21:59:16 rt1011 i2c-10EC1011:00: Gain0 offset=0x1ffeea 21:59:16 rt1011 i2c-10EC1011:00: Gain1 offset=0x1ffed2 21:59:17 usbcore: registered new interface driver snd-usb-audio 21:59:18 rt1011 i2c-10EC1011:00: r0 resistance about 7.26 ohm, reg=0x2337F6 21:59:19 rt1011 i2c-10EC1011:01: ADC offset=0x0 21:59:19 rt1011 i2c-10EC1011:01: Gain0 offset=0x1bf 21:59:19 rt1011 i2c-10EC1011:01: Gain1 offset=0x196 21:59:21 rt1011 i2c-10EC1011:01: r0 resistance about 6.89 ohm, reg=0x2521A7 21:59:21 rt1011 i2c-10EC1011:02: ADC offset=0x0 21:59:21 rt1011 i2c-10EC1011:02: Gain0 offset=0x1ffca4 21:59:21 rt1011 i2c-10EC1011:02: Gain1 offset=0x1ffd97 21:59:23 rt1011 i2c-10EC1011:02: r0 resistance about 5.92 ohm, reg=0x2B2D08 21:59:23 rt1011 i2c-10EC1011:03: ADC offset=0x0 21:59:23 rt1011 i2c-10EC1011:03: Gain0 offset=0x276 21:59:23 rt1011 i2c-10EC1011:03: Gain1 offset=0x2d2 21:59:25 rt1011 i2c-10EC1011:03: r0 resistance about 6.16 ohm, reg=0x297CAC 21:59:26 snd_sof:sof_pcm_new: sof-audio-pci-intel-cnl 0000:00:1f.3: creating new PCM DMIC16kHz 21:59:26 snd_sof:sof_pcm_new: sof-audio-pci-intel-cnl 0000:00:1f.3: spcm: allocate Sound Trigger Capture 8 capture DMA buffer size 0x83400 max 0x138800 21:59:26 snd_sof:sof_pcm_new: sof-audio-pci-intel-cnl 0000:00:1f.3: creating new PCM Port1 21:59:26 snd_sof:sof_pcm_new: sof-audio-pci-intel-cnl 0000:00:1f.3: spcm: allocate Passthrough Playback 0 playback DMA buffer size 0x10000 max 0x10000 ``` Signed-off-by: Marc Herbert <marc.herbert@intel.com>
rt1011 i2c-10EC1011:00 needs about 10 seconds to boot every time on cml-hel-rt5682, see evidence in #1095 ``` 21:59:16 snd_sof:ipc3_log_header: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx: 0x30130000: GLB_TPLG_MSG: PIPE_COMPLETE 21:59:16 snd_sof:sof_ipc3_complete_pipeline: sof-audio-pci-intel-cnl 0000:00:1f.3: tplg: complete pipeline PIPELINE.1.SSP0.OUT id 5 21:59:16 snd_sof:ipc3_log_header: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx: 0x30130000: GLB_TPLG_MSG: PIPE_COMPLETE 21:59:16 snd_hda_codec_hdmi ehdaudio0D2: ASoC: sink widget AIF1TX overwritten 21:59:16 snd_hda_codec_hdmi ehdaudio0D2: ASoC: source widget AIF1RX overwritten 21:59:16 rt1011 i2c-10EC1011:00: ADC offset=0x0 21:59:16 rt1011 i2c-10EC1011:00: Gain0 offset=0x1ffeea 21:59:16 rt1011 i2c-10EC1011:00: Gain1 offset=0x1ffed2 21:59:17 usbcore: registered new interface driver snd-usb-audio 21:59:18 rt1011 i2c-10EC1011:00: r0 resistance about 7.26 ohm, reg=0x2337F6 21:59:19 rt1011 i2c-10EC1011:01: ADC offset=0x0 21:59:19 rt1011 i2c-10EC1011:01: Gain0 offset=0x1bf 21:59:19 rt1011 i2c-10EC1011:01: Gain1 offset=0x196 21:59:21 rt1011 i2c-10EC1011:01: r0 resistance about 6.89 ohm, reg=0x2521A7 21:59:21 rt1011 i2c-10EC1011:02: ADC offset=0x0 21:59:21 rt1011 i2c-10EC1011:02: Gain0 offset=0x1ffca4 21:59:21 rt1011 i2c-10EC1011:02: Gain1 offset=0x1ffd97 21:59:23 rt1011 i2c-10EC1011:02: r0 resistance about 5.92 ohm, reg=0x2B2D08 21:59:23 rt1011 i2c-10EC1011:03: ADC offset=0x0 21:59:23 rt1011 i2c-10EC1011:03: Gain0 offset=0x276 21:59:23 rt1011 i2c-10EC1011:03: Gain1 offset=0x2d2 21:59:25 rt1011 i2c-10EC1011:03: r0 resistance about 6.16 ohm, reg=0x297CAC 21:59:26 snd_sof:sof_pcm_new: sof-audio-pci-intel-cnl 0000:00:1f.3: creating new PCM DMIC16kHz 21:59:26 snd_sof:sof_pcm_new: sof-audio-pci-intel-cnl 0000:00:1f.3: spcm: allocate Sound Trigger Capture 8 capture DMA buffer size 0x83400 max 0x138800 21:59:26 snd_sof:sof_pcm_new: sof-audio-pci-intel-cnl 0000:00:1f.3: creating new PCM Port1 21:59:26 snd_sof:sof_pcm_new: sof-audio-pci-intel-cnl 0000:00:1f.3: spcm: allocate Passthrough Playback 0 playback DMA buffer size 0x10000 max 0x10000 ``` Signed-off-by: Marc Herbert <marc.herbert@intel.com>
SOFCI TEST EDIT: with the increase to 13s, check-sof-logger is now passing on The unrelated APL topology error will be fixed by thesofproject/sof#8175 The MTL test plan https://sof-ci.01.org/softestpr/PR1095/build701/devicetest/index.html is lagging as usual because of thesofproject/sof#8174 but it already passed before the 13s increase. It's not running this test anyway. https://sof-ci.01.org/softestpr/PR1095/build703/devicetest/index.html is all green. |
The DSP boot check reload_drivers() must wait longer than 5 seconds as we have many configurations where DSP boot will take more than 60sec (due to e.g. Intel platforms with i915 hardware present but driver not present in the kernel version under test).
Additionally the test case must check whether DSP did boot up after the timeout expires, and fail the test case if it didn't.