Open johnylin76 opened 2 years ago
@johnylin76 fwiw, @mwasko will be converging the Intel CAVS 2.5 branches soon i.e. ADL, TGL and RPL. So this should make future alignments simpler.
@ranj063 fyi
@johnylin76 is this done?
It's all done except for TGL devices. However since TGL is planned for rpl-001 migration as well as ADL and rpl-001 is done, we could also consider it's done.
@mwasko can you confirm changes are all done in correct branches and @johnylin76 does NOT need to do TGL as it's migrated to rpl-01 ?
@mwasko can you confirm changes are all done in correct branches and @johnylin76 does NOT need to do TGL as it's migrated to rpl-01 ?
The maintenance branch for cAVS 2.5 targets (TGL, ADL, RPL) is prepared based on rpl-01, but we need to complete full validation including E2E testing. I am expecting that we can make official announcement after Chinese New Year when we have positive test results feedback - https://github.com/thesofproject/sof/tree/cavs2.5-001-drop-stable
This is affecting the product branches, so removing v2.5 tag (released from SOF main).
@kv2019i this might have implications for stable v2.2 if it not already patched
@cujomalainey wrote:
@kv2019i this might have implications for stable v2.2 if it not already patched
Ack. We should backport to origin/stable-v2.2 as well. @mwasko can you check this? I see the patch is in cavs2.5-001-drop-stable already, so we should have the same in stable-v2.2 as well.
Is your feature request related to a problem? Please describe. PR#6230, which modifies prepare/reset API definition for internal modules in module_adapter, has landed on mainstream recently. It's a critical fix of module_adapter and required for the issue of Google auto-test item: ALSAConformance. Therefore, PR#6230 is planned to back-port on branches supporting SOF firmware builds for Google projects.
Describe the solution you'd like (AI: @johnylin76 ) PR#6230 back-porting to the following branches:
3P modules align the updated prepare/reset API of module_adapter (or codec_adapter). More details on Additional context:
Additional context The main change by PR#6230 to be aligned is that module-specific prepare will be called every time on prepare of module_adapter (stream start trigger), which is only called once in the beginning before.
Regarding the flow of module-specfic API/state: Present:
After PR#6230:
The change makes the module able to re-configure and re-allocate data buffers according to the stream parameter for the new stream at that time. Under this flow, the module should free data buffers on module-specific reset, while data buffers are retained at present flow.
For modules to align the updated API flow, there are two items to check:
Verification To verify the alignment to the updated API flow, run the command:
then wait at least 10 seconds, or reboot device, or suspend/resume, run the command:
check whether both of them are passed.
Note that the module (and the pipeline) will be released while going to power state S0ix, such as device suspend, reboot, or after the active streams are flushed and stopped. So
&&
is used to run the test with S16 and S24 format continuously, where the module will be reset then prepare with varied stream format between two tests (not being released and re-created).