Uh oh!
There was an error while loading. Please reload this page.
topology: Add topology for Waves codec - #3972
Conversation
stolx
commented
Mar 29, 2021
@cujomalainey@dbaluta@keyonjie |
cujomalainey
left a comment
There was a problem hiding this comment.
Thanks for the update LGTM
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
does this mean that this will create controls "MaxxChrome Runtime %d" and "MaxChrome Setup %d"?
If yes, it's not clear to me what Runtime and Setup mean for a control? Adding some comments wouldn't hurt on the intended purpose and behavior
There was a problem hiding this comment.
These are controls dictated by the codec adapter and we have no control over.
There was a problem hiding this comment.
Sorry, what? Nothing prevents us from creating the controls we see fit in the topology. The codec adapter is just another module which knows nothing about controls. The codec adapter defines an IPC, but not how those controls are named and used.
There was a problem hiding this comment.
Agreed, but the names correspond to the naming in the codec adapter. Codec adapter has explicitly a "setup config" handler and a "runtime config" handler. I am down for comments I am just hesitant to deviate to far from the source code.
There was a problem hiding this comment.
does this mean that this will create controls "MaxxChrome Runtime %d" and "MaxChrome Setup %d"?
yes, the topology will create:
for speakers: MaxxChrome Runtime 1 MaxxChrome Setup 1
for headphones: MaxxChrome Runtime 2 MaxxChrome Setup 2
difference between them is defined by codec_adapter api. For example, Setup, as opposed to Runtime, has a codec_adapter-related part that holds codec id (used to select between possible codecs), and a bunch of actually unused fields.
AFAIK having setup and runtime configs is a must for a codec that implements codec_adapter interface.
So correct description of Setup and Runtime is some kind of a reference to codec_adapter api, which I can add as a comment to topology but not sure it is needed.
Or maybe I did not understand your point correctly?
There was a problem hiding this comment.
the point was that it would be more intuitive to have
for speakers: MaxxChrome Runtime MaxxChrome Setup Speaker
for headphones: MaxxChrome Runtime MaxxChrome Setup Headphones
and as discussed with Curtis this can be done via macros that are set in the caller
There was a problem hiding this comment.
@stolx see here how all these params are defined in top level m4 then used as variables in included m4? @plbossart is suggesting something similar so we can pass in names to codec adapter where relevant. Just to make the names more intuitive.
There was a problem hiding this comment.
@plbossart@cujomalainey
added macros to make more intuitive name for controls, please check if this will work
Uh oh!
There was an error while loading. Please reload this page.
marc-hb
commented
Mar 31, 2021
Github Actions hang fixed by #3992 , please |
plbossart
left a comment
There was a problem hiding this comment.
looks mostly good, I suggested an improvement below and I have a question as well.
Thanks!
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
I don't fully follow why here you have a PIPELINE ID but not in the other file without demux?
There was a problem hiding this comment.
pipe-waves-codec-playback.m4 defines CA_RUNTIME_CONTROLBYTES_NAME and CA_SETUP_CONTROLBYTES_NAME
then sof/pipe-codec-adapter-playback.m4 adds pipeline ID to it:
https://github.com/thesofproject/sof/blob/main/tools/topology/sof/pipe-codec-adapter-playback.m4#L73
There was a problem hiding this comment.
so here I am aligning with sof/pipe-codec-adapter-playback.m4 implementation adding pipeline ID to name of a control
dbaluta
commented
Apr 6, 2021
lgirdwood
commented
Apr 6, 2021
Add pipe for Waves codec playback Add pipe for Waves codec demux playback Modify sof-tgl-max98357a-rt5682 topology so Waves codec can be added to playback and headphones in case 'WAVES' is defined Signed-off-by: Oleksandr Strelchenko <oleksandr.strelchenko@waves.com>
stolx
commented
Apr 6, 2021
@lgirdwood@dbaluta |
dbaluta
commented
Apr 6, 2021
@stolx thanks. That part looks good to me. For the rest I'm not able to comment as they are Intel specific stuff. |
lgirdwood
commented
Apr 6, 2021
SOFCI TEST |
lgirdwood
commented
Apr 6, 2021
Rerun CI as build reported a TGL-H failure, but status was all green ? Could be a CI sync issue. Rerun to be sure. |
lgirdwood
commented
Apr 8, 2021
Usual CI timeout on suspend/resume. |
Add pipe for Waves codec playback
Add pipe for Waves codec demux playback
Modify sof-tgl-max98357a-rt5682 topology so Waves codec can be added
to playback and headphones depending on -DWAVES value
Signed-off-by: Oleksandr Strelchenko oleksandr.strelchenko@waves.com