-
Notifications
You must be signed in to change notification settings - Fork 140
ASoC: SOF: topology: add support to smart amplifier #1971
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
ASoC: SOF: topology: add support to smart amplifier #1971
Conversation
|
The corresponding FW part PR is here: |
|
I think this is a dangerous path. the 'smart-amp' is by no means generic and the code is not available, it's 3rd-party IP and it should be classified as such. This is not a full-blown process maintained in the SOF tree. At the very least it should be an ID that belongs in the 3rd party range @lgirdwood what's your take on this? |
|
@plbossart Thanks for reviewing. I am not sure if your "dangerous" means it could break the amplifier with bad algorithm, or adding more and more new component ID is not the correct path, but let me try to add some information about what we have been doing. Per my understanding, the FW team has been using the model for 3rd-party IP development like this:
@bkokoszx @mrajwa please correct me if I have written something wrong. |
@plbossart I agree that this isnt a scalable solution for supporting 3rd party modules. Do we have a process for adding new modules? |
That makes it impossible to know if the component is implemented with the dummy test version or the real one... Something is missing here really. |
By default we are using dummy test version in upstream. We plan to add config item for 3rd-party version selection. |
|
@keyonjie How does this relate to: |
Yes they have relationship, the discussion/32 is something like framework refinement, but I had no time to do that yet, it need effort on both FW and driver side together. |
b5067bf to
0f1ca2a
Compare
kv2019i
left a comment
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.
Smart amp seems to be generic enough. The is remaining work to identify the implementations with UUID, but that applies to all generic processing components, not just this one.
|
I am personally not comfortable with merging this Call me a grumpy old person if you want, but it's a recurring pattern really. There was plenty of time to do the right thing and we didn't. |
Hi @plbossart There is discussion and extra work to implement the UUID in the driver side, we need to align on that before we can refine the generic processing components. |
|
@plbossart @keyonjie @kv2019i set to MINOR 15 like FW |
NAK 15, now at 16. @keyonjie please use MINOR 16. |
Thanks for the information @lgirdwood . So should we add explicit ABI bump for this change or the MINOR 16 is for update with several other changes? I am not seeing the 16 bumping in the FW corresponding PR thesofproject/sof#1896. |
|
@lgirdwood @plbossart @kv2019i just checked the ABI MINOR in dirver side is already 16. |
|
Update on this PR: the proposal is to use same approach as with EQ, KPB and others for Smart Amp. |
plbossart
left a comment
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.
let's hope this is the last one we add this way - but I wouldn't hold my breath.
0f1ca2a to
0bd4c1c
Compare
Add smart amplifier component support, which is designed as another new type of process component and used for speaker protection algorithm integration. Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
| if (!strcmp(codec_dai->component->name, MAX_98373_DEV0_NAME)) { | ||
| /* DEV0 tdm slot configuration */ | ||
| snd_soc_dai_set_tdm_slot(codec_dai, 0x30, 3, 8, 16); | ||
| snd_soc_dai_set_tdm_slot(codec_dai, 0x3, 3, 8, 32); |
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.
unify code style to 0x3, 0x3, 8, 32 ? tx_mask and rx_mask should be in the same style.
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.
sorry, I just pushed wrong local change recently, this is for debug only so should not go to here :)
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.
removed. @RanderWang
0bd4c1c to
7357efe
Compare
|
@plbossart wrote:
And you were right of course. Although this was so quick that you could have even held your breath for real while waiting for this one ;D More seriously, I think it is now pretty evident that we need to invest in the infra in this area. I.e. time to proceed with https://github.com/orgs/thesofproject/teams/sof-developers/discussions/32 |
kv2019i
left a comment
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.
Looks good.
|
Thanks @plbossart @kv2019i , yes, that's true, I will put effort to the UUID implementation on driver side after freed from the release. |
|
@keyonjie and @sebcarlucci can you please chat and figure out which one of these two components goes in first and what ABI level this is. @lgirdwood FYI this is a mess |
@sebcarlucci is it OK for you to let this smart amplifier one go first, it has been hold for quite long time and it is actually waited from the product. For the ABI version, I think @lgirdwood and @kv2019i has aligned to use Minor 16 for it? @kv2019i has initiated an discussion about ABI refinement in https://github.com/orgs/thesofproject/teams/sof-developers/discussions/35, but I am not sure will that impact this PR actually.
|
@keyonjie Sounds good to me |
Thanks. |
|
There were errors on one machine in CI: https://sof-ci.01.org/linuxpr/PR1971/build3638/devicetest/ So basicly, I could merge this, but I'm a bit puzzled I see no approvals for the FW change thesofproject/sof#1896 .. what's up with that? |
|
The FW change is still missing reviews, not merging this before it's at least approved. |
|
@kv2019i the FW one is approved now: thesofproject/sof#1896 Let's merge it? |
|
FW patch approved, merging this as well. |
Add smart amplifier component support, which is designed as another new
type of process component and used for Dynamic Speaker Management.
Signed-off-by: Keyon Jie yang.jie@linux.intel.com