-
Notifications
You must be signed in to change notification settings - Fork 349
Use arrays for objects in top-level conf files and included conf files #7113
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
Conversation
I have verified that the generated binaries with this change are identical to the ones we have today except for these three files and I think these are because of some module names being different due to the change in instance IDs. |
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.
Seems much cleaner without the additional ids (that needed to be unique), thanks!
2181f5b to
b8011c4
Compare
Where there more than 1 object of the same type defined at the same node
level, use arrays to define the object. For example, we can define 2
routes as follows:
Object.Base.route [
{
source "smart_amp.2.1"
sink "copier.SSP.2.1"
}
{
source "mixin.1.1"
sink "mixout.2.1"
}
]
This allows us to merge 2 arrays from different conf files without
needing to make their instance ID's unique.
Assume we add another route in a separate conf file like below:
Object.Base.route [
{
source "gain.5.1"
sink "copier.5.1"
}
]
The alsatplg compiler will merge them as follows resulting in 3 route
objects.
Object.Base.route [
{
source "smart_amp.2.1"
sink "copier.SSP.2.1"
}
{
source "mixin.1.1"
sink "mixout.2.1"
}
{
source "gain.5.1"
sink "copier.5.1"
}
]
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
These are already in the common includes. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
b8011c4 to
533b303
Compare
jsarha
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.
All in all I think I understand the logic behind these changes, and yes the result look much cleaner.
| stream_name 'SSP0 Playback' | ||
| } | ||
| } | ||
| passthrough-be [ |
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.
The changes to these new pipeline object instantiations with number of pipeline arrays were hardest to follow. The new jumping indexes do not look the most logical choices, but then again I can see that they come from history. In the end the indexes do not matter for anything else but they are needed when referring to these objects from outside, do they?
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.
yes, the index has no meaning in most cases except for the widget names. But I havent touched those obects within pipeline class definitions yet. That will be the next target after this one is merged.
|
qemu-boot for icl/cnl fail and the mtl-zephyr-sparse are known issues, other checks pass so proceeding with merge. |
This looks like a lot of changes for one patch but in reality the changes are quite monotonous to use arrays in object declarations. This fixes the problem of the topology writer having to come up with obscenely large instance ID's for objects just to make them exclusive when including conf files programatically.