Releases: thesofproject/sof
v1.4.1
v1.4.1
Fixes since v1.4
Interrupt stack alignment
Boot loader trace now working.
Various fixes for imx8
IRQ alignment for cascaded IRQs.
Features
Support for Intel Tigerlake platform.
Continued support for NXP i.MX8 platform.
Support for Key Phrase Detection.
Initial infrastructure to support Soundwire.
HiFi3 optimisations for various compomemts including EQ.
Support for IPC fuzzing.
Scheduler improvements.
IRQ support for multiple controller levels.
v1.4
Features
Support for Intel Tigerlake platform.
Continued support for NXP i.MX8 platform.
Support for Key Phrase Detection.
Initial infrastructure to support Soundwire.
HiFi3 optimisations for various compomemts including EQ.
Support for IPC fuzzing.
Scheduler improvements.
IRQ support for multiple controller levels.
Known Issues
https://github.com/thesofproject/sof/milestone/5
Test Results
git | Case | BYT MinnowBoard | APL UP2 | GLK Chrome | CML Chrome | CML Mantis | CFL-S RVP | ICL-U RVP | CML Helios |
---|---|---|---|---|---|---|---|---|---|
nocodec | I2S RT5682 | nocodec | I2S PCM512x | I2S DA7219 | I2S RT5682 | HDA ALC3204 | HDA ALC700 | HDA ALC700 | I2S RT5682 |
Base | Verify firmware presense | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify kernel model load probe | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify SOF firmware load | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify topology binary | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify PCM device list | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Check SOF logger | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Check ipc flood | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Play an audio for 10 sec | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Capture an audio for 10 sec | Passed | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
Pause/Resume playback - 10 times | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Pause/Resume capture - 10 times | Passed | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
Speaker test | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Check Runtime PM status | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Multiple pipeline playback | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Multiple pipeline capture | N/A | N/A | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
Simultaneous playback capture | Passed | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
Volume basic test | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Repeat 3 times playback | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Repeat 3 times capture | Passed | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
Alsabat playback test | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
check-kmod-load-unload | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
check-kmod-load-unload-after-playback | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Beyond Base(Test in all pipeline) | stop/resume playback / capture | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Playing /Capturing-> pause -> s3 -> wakeup -> resume | N/A | N/A | Passed | Passed | Failed (#1387) | Failed (#1387) | Failed (#1387) | Passed | Failed (#1387) |
Plug and unplug headset/HDMI/DP during playback/capture | N/A | Passed | N/A | Passed | Passed | Passed | Passed | Passed | Passed |
Plug and unplug headset /HDMI/DP during idle, check jack detect in idle and audio output when starting play | N/A | N/A | N/A | Failed (#1440) | Passed | Passed | Passed | Failed (#1440) | Passed |
Suspend & Resume device during audio playback / capture | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Change volume during playback / capture, ensure audio quality | Passed | Passed | Passed | Failed (#1463) | Passed | Passed | Passed | Passed | FW_failed (#1756) |
Do playback and capture at same time_ensure pause/stop no effect for each other | Passed | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
2 aplay_Analogue + Media Playback_ensure pause/stop no effect for each other | Passed | Passed | Passed | Passed | N/A | Passed | N/A | N/A | N/A |
2 aplay_Analogue + HDMI_ensure pause/stop no effect for each other | N/A | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed |
DPMST test | N/A | N/A | N/A | Passed | Passed | N/T | Passed | Passed | Passed |
EQ test | N/A | N/A | N/A | Passed | N/A | N/A | N/A | N/A | N/A |
Check the audio channel via speaker-test: L output L, R output R | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Suspend & Resume device without audio playback or capture | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
paplay - Play an audio with high-level audio player | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
parecord - Record an audio with high-level audio recorder | Passed | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
Modules reload - 100 times_Test after disable PA | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
S3 & Resume without playback_300 times | N/A | N/A | Passed | Passed | Passed | N/A | Passed | Passed | Passed |
S3 & Resume with I2S / Analog HDA playback_300 times | N/A | N/A | Passed | Passed | Passed | N/A | Passed | Passed | Passed |
S3 & Resume with HDMI playback_300 times | N/A | N/A | N/A | Passed | Passed | N/A | Passed | Passed | Passed |
S0ix --Check S0ix -100 times | N/A | N/A | N/A | N/A | Passed | Passed | N/A | N/A | N/A |
volume change without playback/capture -1000 times | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Pause/Resume DMIC capture - 1000 times | N/A | N/A | Passed | N/A | Passed | Passed | Passed | Passed | Passed |
attempt to open speaker playback device 500 times | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Test Recipe | |||||||||
linux (topic/sof-dev) | 0e1a961 | ||||||||
sof (master) | b27b218a | ||||||||
topology | File | Applicable Platforms | |||||||
sof-byt-nocodec.tplg | BYT - nocodec | ||||||||
sof-byt-rt5682.tplg | BYT - RT5682 | ||||||||
sof-apl-nocodec.tplg | APL - nocodec | ||||||||
sof-apl-pcm512x.tplg | APL - PCM512 | ||||||||
sof-hda-generic-4ch.tplg | CFL-S RVP (HDA) | ICL-U RVP(HDA) | |||||||
sof-hda-generic-2ch.tplg | CML Mantis (HDA) | ||||||||
sof-glk-da7219.tplg | GLK Chrome (I2S) | ||||||||
sof-cml-rt5682-max98357a.tplg | CML Chrome (I2S) | ||||||||
sof-cml-rt1011-rt5682.tplg |
v1.4rc1
First RC for v1.4.
QA results failrly good, but there is a gap on Braswell/Cherrytrail and some outstanding issues. RC window should be short.
Features (list not final or complete yet).
- Initial support for Intel Tigerlake platform.
- Continued support for NXP i.MX8 platform.
- Support for Key Phrase Detection.
- Initial infrastructure to support Soundwire.
- HiFi3 optimisations for various compomemts including EQ.
- Support for IPC fuzzing.
- Scheduler improvements.
- IRQ support for multiple controller levels.
Known Issues
https://github.com/thesofproject/sof/milestone/5
QA results.
v | Case | BYT MinnowBoard | APL UP2 | GLK Chrome | CML Chrome | CML Mantis | CFL-S RVP | ICL-U RVP |
---|---|---|---|---|---|---|---|---|
nocodec | I2S RT5682 | nocodec | nocodec(xcc) | I2S PCM512x | I2S PCM512x(xcc) | I2S DA7219 | I2S RT5682 | HDA ALC3204 |
Base | Verify firmware presense | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify kernel model load probe | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify SOF firmware load | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify topology binary | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Verify PCM device list | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Check SOF logger | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Check ipc flood | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Play an audio for 10 sec | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Capture an audio for 10 sec | Passed | Passed | Passed | Passed | N/A | N/A | Passed | Passed |
Pause/Resume playback - 10 times | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Pause/Resume capture - 10 times | FW_failed (#1578) | Passed | Passed | Passed | N/A | N/A | FW_failed (#1578) | Passed |
Speaker test | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Check Runtime PM status | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed |
Multiple pipeline playback | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Multiple pipeline capture | N/A | N/A | Passed | Passed | N/A | N/A | Passed | Passed |
Simultaneous playback capture | Passed | Passed | Passed | Passed | N/A | N/A | Passed | Passed |
Volume basic test | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Repeat 3 times playback | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Repeat 3 times capture | N/A | N/A | Passed | Passed | N/A | N/A | Passed | Passed |
Alsabat playback test | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Beyond Base(Test in all pipeline) | stop/resume playback / capture | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Playing /Capturing-> pause -> s3 -> wakeup -> resume | N/A | N/A | Passed | Passed | Passed | Passed | Passed | N/A |
Plug and unplug headset during playback/capture | N/A | Passed | N/A | N/A | Passed | Passed | Passed | Passed |
Plug and unplug headset during idle, check jack detect in idle and audio output when starting play | N/A | Passed | N/A | N/A | Passed | Passed | Passed | Passed |
Suspend & Resume device during audio playback / capture | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed |
Change volume during playback / capture, ensure audio quality | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Do playback and capture at same time_ensure pause/stop no effect for each other | Passed | Passed | Passed | Passed | N/A | N/A | Passed | FW_failed (#1762) |
2 aplay_Analogue + Media Playback_ensure pause/stop no effect for each other | FW_failed (#1726) | Passed | Passed | Passed | Passed | Passed | N/A | N/A |
2 aplay_Analogue + HDMI_ensure pause/stop no effect for each other | N/A | N/A | N/A | N/A | Passed | Passed | Passed | Passed |
DPMST test | N/A | N/A | N/A | N/A | Passed | Passed | Passed | Passed |
EQ test | N/A | N/A | N/A | N/A | Passed | Passed | N/A | N/A |
Check the audio channel via speaker-test: L output L, R output R | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Suspend & Resume device without audio playback or capture | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Passed |
paplay - Play an audio with high-level audio player | Passed | Passed | Passed | Passed | Passed | Passed | Passed | FW_failed (#1762) |
parecord - Record an audio with high-level audio recorder | Passed | Passed | Passed | Passed | N/A | N/A | Passed | FW_failed (#1762) |
Modules reload_Test after disable PA | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Modules reload - 100 times_Test after disable PA | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
S3 & Resume without playback_300 times | N/A | N/A | Passed | Passed | Passed | Passed | N/A | N/A |
S3 & Resume with I2S / Analog HDA playback_300 times | N/A | N/A | Passed | Passed | Passed | Passed | N/A | N/A |
S3 & Resume with HDMI playback_300 times | N/A | N/A | N/A | N/A | Passed | Passed | N/A | N/A |
S0ix --Check S0ix -100 times | N/A | N/A | N/A | N/A | N/A | N/A | Passed | Passed |
volume change without playback/capture -1000 times | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
attempt to open playback device for 500 times | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed |
Test Recipe | ||||||||
linux (topic/sof-dev) | f95e4eb | |||||||
sof (master) | 7791303 | |||||||
topology | File | Applicable Platforms | ||||||
sof-byt-nocodec.tplg | BYT - nocodec | |||||||
sof-byt-rt5682.tplg | BYT - RT5682 | |||||||
sof-apl-nocodec.tplg | APL - nocodec | |||||||
sof-apl-pcm512x.tplg | APL - PCM512 | |||||||
sof-hda-generic-4ch.tplg | CFL-S RVP (HDA) | ICL-U RVP(HDA) | ||||||
sof-hda-generic-2ch.tplg | CML Mantis (HDA) | |||||||
sof-glk-da7219.tplg | GLK Chrome (I2S) | |||||||
sof-cml-rt5682-max98357a.tplg | CML Chrome (I2S) | |||||||
kconfig | File | Applicable Platforms | ||||||
http://sof-ci-storage.sh.intel.com/daily/20190830/linux-f95e4ebf-1/config-daily-nocodec-20190830.txt | BTY - nocodec | APL - nocodec | APL - nocodec (xcc) | |||||
http://sof-ci-storage.sh.intel.com/daily/20190830/linux-f95e4ebf-1/config-daily-20190830.txt | BTY - RT5651 | APL - pcm512x | APL - pcm512x (xcc) | GLK Chrome (I2S) | ||||
http://sof-ci-storage.sh.intel.com/daily/20190830/linux-f95e4ebf-1/config-daily-hda-20190830.txt | CFL-S RVP(HDA) | ICL-U RVP(HDA) | CML Mantis (HDA) |
SOF TGL 1st Drop
Note: Release only for Tiger Lake
New Features
- Basic playback on I2S
- Basic capture on I2S
- Basic capture on DMIC
Fixed Issues
- None
Known Issues
- None
v1.3
SOF v1.3
SOF version 1.3 is now released and brings many new features alongside improved stability and bug fixes. This release also coincides with the SOF Linux driver being merged into the upstream Linux kernel.
Future releases will follow a faster cadence and will be aligned with Linux kernel releases. i.e. they will be approximately every 8 - 10 weeks.
Signed binaries now attached using the Intel production key. Unsigned binaries alos attached alongside binaries built by GCC. Binaries to be upstreamed now.
New Features
kconfig and cmake support added.
Support for HDMI and HDA
PM support for S3, S0iX
EDF and Low Latency scheduler updates.
DW DMA updates and fixes.
GDB support
Initial iMX8 support added.
Initial Keyword detection framework added.
v1.3-rc3
v1.3-rc2
Release candidate 2 for SOF 1.3
Features (WIP)
kconfig and cmake support added.
Support for HDMI and HDA
PM support for S3, S0iX
EDF and Low Latency scheduler updates.
DW DMA updates and fixes.
GDB support
Results (courtesy of @stevyan)
DUT | Device Codec | Driver loaded | PCM devices list | HDMI/DP playback | Analogue playback | Analogue capture | DMIC capture | Volume Change | Unload/reload(100 iterations) | Runtime PM | S3 w/o playback(100 iterations) | S3 w/I2S playback(100 iterations) | S3 w/HDMI playback(100 iterations) | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BYT MinnowBoard | nocodec | Passed | Passed | N/A | Passed | Passed | N/A | Passed | Passed | N/A | N/A | N/A | N/A | ||
rt5651 | Passed | Passed | N/A | Passed | Passed | N/A | Passed | Passed | N/A | N/A | N/A | N/A | |||
APL UP2 | nocodec | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | N/A | ||
nocodec(xcc) | - | - | N/A | - | - | - | - | - | - | - | - | N/A | |||
pcm512x | Passed | Passed | Passed | Passed | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Failed | 1 (#489) | |||
pcm512x(xcc) | - | - | - | - | N/A | N/A | - | - | - | - | - | - |
Test case:
FW loading and version check
Channel test
Check the left/right channel with different input frequency.
Tplg loading
Playback test
Check playback with supported format and frequency, also check with the period size(4m, 192) and buffer size(384)
Capture test
Check playback with supported format and frequency, also check with the period size(4m, 192) and buffer size(384)
Pause/resume test
Pause/release during playback/capture/playback+capture.
Modules reloadable test
Modules reload for 100 times
Simultaneous playback and capture test
Do playback and capture at same time
Nocodec DMIC
Check with nocodec dmic tplg
Suspend/resume
Check the runtime_PM status and S3
SRC
Check audio playback with 8K/16K/32K/48K (16bit/32bit) audio wav files.
v1.3-rc1
Release candidate 1 for SOF 1.3
Features (WIP)
- kconfig and cmake support added.
- Support for HDMI and HDA
- PM support for S3, S0iX
Results
DUT | Device Codec | Driver loaded | PCM devices list | HDMI/DP playback | Analogy playback | Analogy capture | DMIC capture | Volume Change | Unload/reload(100 iterations) | Runtime PM | S3/S0ix w/o playback(50 iterations) | S3/S0ix w/I2C playback(50 iterations) | S3/S0ix w/HDMI playback(50 iterations) | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BYT MinnowBoard | nocodec | Passed | Passed | N/A | Passed | Passed | N/A | Passed | Passed | N/A | N/A | N/A | N/A | ||
rt5651 | Passed | Passed | N/A | Passed | Passed | N/A | Passed | Passed | N/A | N/A | N/A | N/A | |||
APL UP2 | nocodec | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | N/A | ||
nocodec(xcc) | Passed | Passed | N/A | Passed | Passed | Passed | Passed | Passed | Passed | Passed | Passed | N/A | |||
pcm512x | Passed | Passed | Passed | Passed | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Failed (#489) | |||
pcm512x(xcc) | Passed | Passed | Passed | Passed | N/A | N/A | Passed | Passed | Passed | Passed | Passed | Failed (#489) |
Test case:
FW loading and version check
Channel test
Check the left/right channel with different input frequency.
Tplg loading
Playback test
Check playback with supported format and frequency, also check with the period size(4m, 192) and buffer size(384)
Capture test
Check playback with supported format and frequency, also check with the period size(4m, 192) and buffer size(384)
Pause/resume test
Pause/release during playback/capture/playback+capture.
Modules reloadable test
Modules reload for 100 times
Simultaneous playback and capture test
Do playback and capture at same time
Nocodec DMIC
Check with nocodec dmic tplg
Suspend/resume
Check the runtime_PM status and S3
SRC Check audio playback with 8K/16K/32K/48K (16bit/32bit) audio wav files.
SOF GLK V1.1
Known limitations
- PM: Link DMA fails to resume after system suspend (driver issues 489) on HDMI playback from command line (does not appear while handled by CRAS)
- Firmware will rarely time out when speaker, headset and HDMI playback work at the same time
Fixed major issues
- The IPC timeouts in CTX_SAVE will no longer happen
- Simultaneous playback and capture will no longer cause IPC timeout
- Enabling memory debug will no longer cause FW panic
- During pausing/releasing HDMI audio playback the sound will no longer become distorted
SOF GLK 5th Drop
Fixed major issues
- DSP buffer overflow error will no longer occur.
- DMIC: 16bits FIFOs will no longer record at double rate.
- IPC timeouts during resume that could potentially cause system suspend/resume failures
- HIPCIE register timeout seen during resume due to duplicate core power up
- ABI agreement between the kernel and firmware
Known limitations
- During pausing/releasing HDMI audio playback the sound will sometimes become distorted.
- Timeouts:
- Simultaneous playback and capture will sometimes cause IPC timeout
- Firmware will rarely time out when speaker, headset and HDMI playback work at the same time.
- The ipc timeouts in CTX_SAVE which happens randomly
- Enabling memory debug will cause FW panic.