-
Notifications
You must be signed in to change notification settings - Fork 349
topology: add ipc for smart amplifier component #1896
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
topology: add ipc for smart amplifier component #1896
Conversation
|
@bkokoszx drawing is very nice. Please include the PR description inside commit message. Otherwise, it will be lost into git PR history. No one looks into closed PRs, every useful information should be placed inside git commit message. |
|
@bkokoszx so is the smart_amp and smart_amp_demux different components or same component with different parameters? Also do you have to possible topology (m4->alsa.conf) changes soewhere? |
aab6199 to
b7c7292
Compare
|
@dbaluta @juimonen |
|
@lgirdwood |
|
@bkokoszx @lgirdwood @plbossart Do we got a ABI version for this? As I will work on the kernel part now. PS: what dapm comp would this smart amp mapped to? Are they sometype of mux and demux with some special config? |
|
@xiulipan |
|
yes there should be something indicating those new devices are present, but more importantly the topology ABI needs to be updated so that we can check consistency between topology and firmware. |
|
@bkokoszx @plbossart Do we also need to create some new dapm structure for this? I think we do not have a suitable kind of widget in topology for this new feature. |
|
@plbossart @juimonen @ranj063 I will start to work with the SND_SOC_TPLG_DAPM_EFFECT |
|
@xiulipan |
|
@bkokoszx You can take the reference of kpb enable patch. https://github.com/thesofproject/sof/blob/master/src/audio/kpb.c Lines 1356 to 1369 in 3d5d314
So the only specific variable for the smart_amp is |
|
@xiulipan I think we can even ignore Today I will try to update smart amp template. |
|
@xiulipan |
src/include/ipc/topology.h
Outdated
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.
what does this index represent? The component ID of the buffer? the topology ID?
There are so many indices throughout topology, kernel and firmware, you need to be more explicit on what this is tied to.
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 @plbossart , I've just updated PR and commit messages.
I've talked with @xiulipan and we decided to use sof_ipc_comp_process struct
(like e.g. in KPB; it does not have feedback_buf_id variable) instead of sof_ipc_comp_smart_amp.
b7c7292 to
44cc3bb
Compare
|
tplg PR: #1983 Test with https://github.com/thesofproject/sof/commits/topic/smart-amp-comp-process |
|
@xiulipan |
|
Due to merg of PR #2029 and CI bit depth conversion tests changes - rebase is needed. |
|
@bkokoszx any update ? |
|
SOFCI TEST |
44cc3bb to
5e284c4
Compare
|
SOFCI TEST |
lgirdwood
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.
This could be the last new one, @plbossart @kv2019i do you have a cut off date for this due to kernel impact.
src/include/ipc/topology.h
Outdated
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.
Component types are going away. Lets not add any new ones.
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.
I just had the same remark on the kernel side, even if we kept these comp_type it should be identified as 3rd-party stuff
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.
@plbossart as replied on the kernel side, we plan to add config item for the 3rd-party algorithm specific selection, to the component itself, we want to make it a generic one with dummy(simple enough) algorithm, so if someone contribute an better open source algorithm, we can create an item for it also (something like a N->1 mux selection in the config menu).
@plbossart what's your suggestion about that?
|
Assuming we use this, what is the ABI level? Still ABI 15? |
b0aa325 to
1200bf4
Compare
|
@plbossart |
Yep, ABI is set at MINOR 15 now for FW but where ie the kernel PR ???. |
|
|
@bkokoszx sorry, needs to be MINOR 16 now - please check if any changes needed. |
Add SOF_COMP_SMART_AMP type for smart amp component.
Basic topology using smart amplifier component
could be as follows:
+------------------------------------------+
+------+ | +---+ +-------------+ +---+ +-------+ |
| Host |----->|Buf|->| Smart Amp |->|Buf|->|SSP Dai|-----------+
+------+ | +---+ +-------------+ +---+ +-------+ | |
+-----------------^------------------------+ |
| |
+---+ |
|Buf| |
+---+ |
^ |
+-----------------|--------------------------+ |
+------+ | +---+ +--------|------+ +---+ +-------+ | |
| Host |<-----|Buf|<-| Demux |<-|Buf|<-|SSP Dai|<--------+
+------+ | +---+ +---------------+ +---+ +-------+ |
+--------------------------------------------+
Basic topology contains Smart Amp component in playback pipeline and Demux
component in capture pipeline. There is a additional buffer (feedback)
between them in order to process "feedback".
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
1200bf4 to
49c8b59
Compare
|
@lgirdwood |
|
@kv2019i kernel part ok ? if good we can merge on Monday ? |
|
@lgirdwood wrote:
It seems ok, we have @plbossart request-changes still on this PR, would be good to get a formal ack on this. |
|
@lgirdwood |
keyonjie
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.
@lgirdwood @kv2019i looks good to me.
lgirdwood
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.
@kv2019i we are good from this end now.
Ack @lgirdwood . Kernel PR is now merged. |
|
SOFCI TEST |
|
Looks like CI needs rerun sine it was down when last update was pushed. |
|
@dbaluta @paulstelian97 @dianacretu what's the ETA for imx qemu fix, I'm still seeing the qemu boot failure for one of the imx platforms with this PR. This is unrelated since this wont impact boot. |
No ETA for the moment but we'll think about it. I think the issue is that our platform only reports boot complete via the IPC and the qemu check doesn't look at the IPC. So there are two ways to go here. Either let Diana add a generic IPC implementation (which will be useful for the other platforms as well) or I implement trace points (allocate a shared memory space for trace point and panic information) and have her only rely on the trace point itself. I assume the second one is probably simpler but I want an internal discussion on this as well. |
|
@paulstelian97 thanks for the update, I can apply this now and Diana can resolve the qemu CI issues when she is ready. |
Add
SOF_COMP_SMART_AMPtype for smart amp component.Basic topology using smart amplifier component
could be as follows:
Basic topology contains Smart Amp component in playback pipeline and Demux
component in capture pipeline. There is a additional buffer (feedback)
between them in order to process "feedback".
Signed-off-by: Bartosz Kokoszko bartoszx.kokoszko@linux.intel.com