ASoC: Byt Max98090: Remove unnecessary DAPM config

The platform clock is not controlled by the driver so lets remove it's
DAPM logic. The no suspend is not required for SPK and HP pins either.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: max98090: make sure we configure BCLK in one place

BCL is being configured in two places producing a warning message.
Make sure we only configure BCLK once and when we are master.

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

Currently stream restore after resume is not working reliably. Driver gets
SNDRV_PCM_TRIGGER_SUSPEND and SNDRV_PCM_TRIGGER_RESUME commands over
suspend/resume cycle and we actually restart the stream only after getting
xrun() since sst_byt_pcm_restore_stream_context() don't restart the stream.

Then another thing is that we cannot call
sst_byt_pcm_restore_stream_context() from the trigger callback since it is
not atomic. Queue instead a work that will both restore the stream context
and start it again.

Note we simplyfy the code a little by storing suspend_offset in every
sst_byt_pcm_pointer() call instead of doing it in
removing sst_byt_pcm_save_stream_context(). Stream context saving when done
properly would require to wait stream to stop first and saving
suspend_offset only by then. This felt too complex compared to saving
one integer more in every sst_byt_pcm_pointer() call.

We can implement it back if we need to do some additional context savings.
Probably outside of atomic trigger callback context.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
ASoC: Intel: Dont allow XRUN handling during resume workq

It's possible that the XRUN handler will trigger STOP and START before or
during the resume workQ. Add some logic so we dont STOP/Start the DSP
streams.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: DEBUG - Add toggle switch for codec SHUTDOWN bit.

This recovers silent streams by toggling the "AB Test2" mixer control
several times.

FOR DEBUG ONLY.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
ASoC: Intel: Fix corruption in BYT PCM driver.

The PCM ops in BYT PCM driver are over writing the RTD driver data causing
corruption after first playback or capture has been opened. Fix this by not
using snd_soc_pcm_set_drvdata(). There are no other users of
snd_soc_pcm_set_drvdata upstream so this needs to be removed uptream too.

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