You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Firmware should be able to support compound IPC whereby multiple IPC commands are send as one (using one doorbell IRQ). This allows a speed up in initialization and reduced latency switching use cases.
We need to categorize which types we can categorize and how we handle failure for each. I can think of :-
Topology construction. Whole topology is rewound on failure on any component. e.g. if we send 20 cmds and cmd 7 fails then we rewind and delete cmds 0 - 6.
kcontrol updates. For mixers and volumes, not sure is applicable to binary for size constraints. I would be tempted to keep going on any unlikely failure (since all volume/mute/enum values should be within bounds).
Stream trigger ops. e.g. for simultaneous stream ops. Any failure here would reset all streams.
The tricky part is knowing when to enable compound mode for 2, we could speculatively enable it for any kcontrol update and only send when we timeout of further kcontrol IO. Enabling for 1 is simple enough and 3 could be based on linked PCMs in ALSA.
Activity
lgirdwood commentedon Apr 18, 2019
@juimonen I guess this can start for v1.4 since large message is now fully merged ?
lgirdwood commentedon Aug 18, 2020
Not needed atm, so move out to v1.7
lgirdwood commentedon Jan 12, 2021
Still not needed - move to v1.9
kv2019i commentedon Feb 15, 2023
Parking on TBD for the moment, this is still a valid item.