• Vinod Koul's avatar
    ASoC: Intel: Skylake: add DSP platform widget event handlers · d93f8e55
    Vinod Koul authored
    The Skylake driver topology model tries to model the firmware
    rule for pipeline and module creation.
    The creation rule is:
     - Create Pipe
     - Add modules to Pipe
     - Connect the modules (bind)
     - Start the pipes
    
    Similarly destroy rule is:
     - Stop the pipe
     - Disconnect it (unbind)
     - Delete the pipe
    
    In driver we use Mixer, as there will always be ONE mixer in a
    pipeline to model a pipe. The modules in pipe are modelled as PGA
    widgets.  The DAPM sequencing rules (mixer and then PGA) are used
    to create the sequence DSP expects as depicted above, and then
    widget handlers for PMU and PMD events help in that.
    
    This patch adds widget event handlers for PRE/POST PMU and
    PRE/POST PMD event for mixer and pga modules.  These event
    handlers invoke pipeline creation, destroy, module creation,
    module bind, unbind and pipeline bind unbind
    
    Event handler sequencing is implement to target the DSP FW
    sequence expectations to enable path from source to sink pipe for
    Playback/Capture.
    Signed-off-by: default avatarJeeja KP <jeeja.kp@intel.com>
    Signed-off-by: default avatarHardik T Shah <hardik.t.shah@intel.com>
    Signed-off-by: default avatarSubhransu S. Prusty <subhransu.s.prusty@intel.com>
    Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    d93f8e55
skl-topology.h 6.36 KB