ASoC: Intel: Skylake: Add support for deferred DSP module bind
authorJeeja KP <jeeja.kp@intel.com>
Fri, 24 Mar 2017 17:40:34 +0000 (23:10 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 12 Apr 2017 15:57:52 +0000 (16:57 +0100)
commitb8c722ddd548186db3f62e64f727af4db1cf9517
treef3ea8cdd1de91f3470225ad44e2f800e70e13224
parent5f75b19ef99054736aa80b70dbdf2f7a86a22007
ASoC: Intel: Skylake: Add support for deferred DSP module bind

Module at the end of DSP pipeline that needs to be connected to a module
in another pipeline are represented as a PGA(leaf node) and in PGA event
handler these modules are bound/unbounded. Modules other than PGA leaf
can be connected directly or via switch to a module in another pipeline.
Example: reference path.

To support the deferred DSP module bind, following changes are done:
o When the path is enabled, the destination module that needs to be
bound may not be initialized. If the module is not initialized, add
these modules in a deferred bind list.
o When the destination module is initialized, check for these modules
in deferred bind list. If found, bind them.
o When the destination module is deleted, Unbind the modules.
o When the source module is deleted, remove the entry from the deferred
bind list.

Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/skylake/skl-pcm.c
sound/soc/intel/skylake/skl-topology.c
sound/soc/intel/skylake/skl-topology.h
sound/soc/intel/skylake/skl.h