Driver needs to send unique module instance id to firmware while creating the module and uses this id to communicate with DSP for setting parameters while audio use case is ongoing.
But, we have upper bound of instance ID. The current IDs are coming from topology but it doesn't know the upper bound and can't assign unique id's subject to upper bounds as we can create a big graph but not all parts running at same time.
So this series first adds APIs to allocate/free a 128bit unique id which is built on top of ffz(). It also adds a table for finding modules of neighbouring modules. Then driver patches are updated to use this.
Dharageswari R (4): ASoC: Intel: Skylake: Add module instance id generation APIs ASoC: Intel: Skylake: Use private instance id of modules in IPC ASoC: Intel: Skylake: Add table for module id for quick ref ASoC: Intel: Skylake: Update to use instance ids generated
sound/soc/intel/skylake/skl-messages.c | 24 +++-- sound/soc/intel/skylake/skl-sst-dsp.h | 6 ++ sound/soc/intel/skylake/skl-sst-utils.c | 150 ++++++++++++++++++++++++++- sound/soc/intel/skylake/skl-topology.c | 32 +++++- sound/soc/intel/skylake/skl-topology.h | 11 ++ sound/soc/intel/skylake/skl-tplg-interface.h | 3 +- 6 files changed, 211 insertions(+), 15 deletions(-)