ASoC: Intel: Add method to allow reloading of firmware.

SST DSPs require that FW is reloaded after suspend. Add a new
call to allow DSP resume code to easily reload the FW.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: Allow Rx/Tx message list can be cleared prior to suspend.

Suspend/resume reuqires reloading FW to boot state so we need to also
make sure that the driver matches the FW state at boot.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: Add BYT specific suspend/resume support.

Add suspend and resume support for BYT.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: Allow BYT stream operation to use start offset.

BYT IPC has an entry for start offset. Allow the stream operations
to use the offset value if required (i.e. for resume).

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: Add BYT call for setting DSP stream start position.

Allow clients to set stream start position.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: baytrail suspend/resume

First take prototype.

Main Risk is restoring playback position on resume.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: Add support to unload Firmware modules.

Add API call to unload firmware modules. Used by suspend to power OFF
and free all blocks.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: Add Baytrail late and noirq suspend API calls

Add calls for client drivers to suspend the ADSP safely.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: Suspend baytrail ADSP and Free Blocks

Make sure we free all blocks and power them OFF prior to suspend.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: DSP needs reset prior to resuming

Reset the DSP prior to reloading FW for resume.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: DEBUG - Workaround Block manager and add debug

Workaround the block manager so we boot the DSP at resume.
To be replaced with proper FIX.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: Fix block allocations.

To be merged with workaround.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel add Debug and remove warnings

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: Rework reset to be more like datasheet.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: Fix Baytrail IPC double kfree.

struct sst_byt is allocated with devm_kzalloc, but freed on the error
path of sst_byt_dsp_init(). Remove the extra kfree() and fix the error
path.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: Switch LPE power manually.

For testing.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>