Revert: Remove Work in Progress LPE driver and Rambi platform driver.

This patch is a squash of following revert commits:

Revert "CHROMIUM: ASoC: max98090 - Fix dmic table entries for 19.2MHz sysclk."

This reverts commit 6f5a1d310042d870ac0b9b25de0f58f51cc200d2.

Revert "CHROMIUM: ALSA: ASoC: max98090: dt and regulator support"

This reverts commit 8a270d1f18bff50a58c683f1e59a429a883753d1.

Revert "CHROMIUM: SOUND: Support probing MAX98090 via ACPI ID"

This reverts commit 6518b74afeeacb69d8587667a09b7eec9390eff5.

Revert "CHROMIUM: [MUST_REVERT] LPE: Remove request_irq call from max98090 codec"

This reverts commit 8a41bc4d727b6f221b30426bc23175e210e90705.

Revert "CHROMIUM: ALSA: ASoC: max98090: Shudown codec for hw_params."

This reverts commit 8b43460031a8c4ef146faed2e6dcac9eec207d62.

Revert "CHROMIUM: ALSA: ASoC: max98090: Shutdown codec when changing to/from dmic."

This reverts commit 671d3d899d518cd4b86de64e257de4bd473373ce.

Revert "CHROMIUM: ASoC: mid-x86: rambi: Invert mic jack GPIO"

This reverts commit 25165b6a950e5765569d428a13e088d57dfba612.

Revert "CHROMIUM: SoC: mid-x86: rambi: hp/mic jack as event device"

This reverts commit b8d8c2c37e9c19d52a86a4c405b6d030d616b570.

Revert "CHROMIUM: ASoC: mid-x86: rambi: Fix max98090 master clock setting"

This reverts commit e2b4cc974a017bb92ae1233408cd58ccf702ccbd.

Revert "LPE: Enable jack detection for the Rambi platform"

This reverts commit 9d43848ce2d86cc4eee1ece7adfc478bd95ce8c0.

Revert "CHROMIUM: intel_sst: adjust the character length of the firmware path"

This reverts commit 9afc2c7a9f92d513d86f5a415ccee957fd253def.

Revert "CHROMIUM: rambi audio: load firmware from firmware/intel"

This reverts commit b1c1c4f67a99578355fe4ea95d7004e0a74f96ff.

Revert "CHROMIUM: SoC: mid-x86: rambi: Enable mic bias generation for headset mic"

This reverts commit 98ac6a401ead84e321c1aa4c43d069d7c7259af6.

Revert "CHROMIUM: ASoC: mid-x86: rambi: Use (virtual) input pin IN34 for headset mic"

This reverts commit 23ecd7b60f55dbad57d973d6c9ebc9a4d508ea0f.

Revert "CHROMIUM: LPE: Eliminate non-portable virt_to_phys in sst_pcm_new"

This reverts commit dc4eed8676b114aa632fd2670366fe1f33e21b2d.

Revert "CHROMIUM: Fix warnings in intel_sst_ and intel_mid_dma"

This reverts commit 7520c522ac8169d35ed7292d81934ef493c8d2b9.

Revert "CHROMIUM: LPE: Make audio driver fw ipc address-passing 64-bit safe"

This reverts commit 8fa87c6ff120ba57bdd11db20be401638c0685fc.

Revert "CHROMIUM: LPE: Make all sst firmware ipc structures packed"

This reverts commit 3f0075453e9e64f31e2f7257fa5e05c59db9f557.

Revert "CHROMIUM: LPE: Add a Maxim 98090-codec choice to the audio driver"

This reverts commit 63ce89046e46535d42472143e5dd037c5f997f18.

Revert "CHROMIUM: LPE: Force firmware-loading to use 4-byte writes"

This reverts commit e21f0419f06ea11be6c48586e71101415bd8d5a9.

Revert "CHROMIUM: ASoC: mid-x86: Use rt5640-aic1 also for capture on byt_bl_rt5642"

This reverts commit 800cd9fced62f96a5c882a5cfbf5f154d2ba75fe.

Revert "CHROMIUM: ASoC: mid-x86: Use I2S BCLK as a codec master clock on byt_bl_rt5642"

This reverts commit ca6a4f4b063752d558c09564483f5f479259e04e.

Revert "CHROMIUM: ASoC: mid-x86: Fix select statement for rt5640 driver"

This reverts commit ee4c30c73a77de019a57197b90d92132b0c85750.

Revert "CHROMIUM: BYT_LPE : Enabled playback with RT5642"

This reverts commit bd617e322bf09cc9cb9b81b35cf116c08b56c0b8.

Revert "CHROMIUM: ASoC: mid-x86: Codec selection and machine driver update for BYT"

This reverts commit 93b01e0aaa06bf6cb9ce474000768402dd8fe7a6.

Revert "CHROMIUM: BYT_LPE: Added machine driver source file for RT5642 codec as the base"

This reverts commit 22e032fb0ccbbd45fc8a367f2fa9c553f2d3a873.

Revert "CHROMIUM: LPE: Extract standalone platform-data for Baytrail audio codec"

This reverts commit 4baede473218cd0c1c8b2331aed492922745fb24.

Revert "CHROMIUM: x86: Add BYT RT564x related registrations"

This reverts commit 312af3b91c0c5b24991be73e7f3c44a15bb5d065.

Revert "CHROMIUM: dmaengine: mid_dma: Add mid_dma changes from LPE commit"

This reverts commit 602fc69137e0cac46d8df895f7439859dd74f65e.

Revert "CHROMIUM: BYT_LPE_FEATURE: Ported LPE audio driver codes from kernel 3.8"

This reverts commit 6acaac472514e654f7d03b5d63faefeefb2a19ee.

Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: Iaf30a586fbe8dc19589e031cc19854d2c267777a
Reviewed-on: https://chromium-review.googlesource.com/189301
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Derek Basehore <dbasehore@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
UPSTREAM: ASoC: Rename mid-x86 directory to intel

We have other Intel platforms coming having the Smart Sound Technology (SST)
so rename the mid-x86 directory to intel as originally directory name
reflected only Intel MID platform.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from 784cbf8ab4641c874806a938b9c863c91d70fbe5)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: I0e67157c8adcfb046b9376b7935e8c035642ce3a
Reviewed-on: https://chromium-review.googlesource.com/189302
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Derek Basehore <dbasehore@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
UPSTREAM: ASoC: intel: Don't set unused struct snd_pcm_hardware fields

The ASoC core assumes that the PCM component of the ASoC card transparently
moves data around and does not impose any restrictions on the memory layout or
the transfer speed. It ignores all fields from the snd_pcm_hardware struct for
the PCM driver that are related to this. Setting these fields in the PCM driver
might suggest otherwise though, so rather not set them.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from c098284a4bfb81b86331aadd08b482233c21fa2c)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: I6f82064cc1ffb8329dc555f2f5efce5d4666704f
Reviewed-on: https://chromium-review.googlesource.com/189303
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Derek Basehore <dbasehore@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Add a mfld prefix to Intel SST drivers.

Resent with correct email for Mark.

In order to differentiate the different Intel SST audio core drivers we
need to rename the current drivers with a mfld prefix. This also includes
renaming in the Makefile and Kconfig

Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from a355d67817eccdbe869020f8f5a3123f21f8106f
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: I8e9fdbcb9aa6216ca07abbe82dc2b6f5af57d3a7
Reviewed-on: https://chromium-review.googlesource.com/189304
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Derek Basehore <dbasehore@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Add Intel SST audio DSP low level shim driver.

Add support for Intel Smart Sound Technology (SST) audio DSPs.
This driver provides the low level IO, reset, boot and IRQ management
for Intel audio DSPs. These files make up  the low level part of the SST
audio driver stack and will be used by many Intel SST cores like
Haswell, Broadwell and Baytrail.

SST DSPs expose a memory mapped region (shim) for config and control.
The shim layout is mostly shared without much modification across cores
and this driver provides a uniform API to access the shim and to enable
basic shim functions. It also provides functionality to abstract some shim
functions for cores with different shim features.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from 790aff62291eade029755713fb41c1143d4ddbc7
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: Ib79908234a0808706a3be97465fd4649c394f059
Reviewed-on: https://chromium-review.googlesource.com/189305
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Derek Basehore <dbasehore@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Add common SST driver loader on ACPI systems

Most of the SST devices will be exposed as ACPI devices. It makes sense to
avoid duplication of the driver enumeration logic and concentrate the functionality
into a single ACPI SST enumeration file.

Idea of this loader is to parse data we get from ACPI and to be able to load
needed other SST drivers and ASoC machine driver runtime based on single
ACPI ID what BIOS gives to us.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from c2f8783fa2d053a61059f6b784c917129fb3064b
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: Ifa36d60a69d957e0fe4b4ea0b64ddd8816df8f71
Reviewed-on: https://chromium-review.googlesource.com/189306
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Add Intel SST audio DSP Firmware loader.

Provide services for Intel SST drivers to load SST modular firmware.

SST Firmware can be made up of several modules. These modules can exist
within any of the compatible SST memory blocks. Provide a generic memory
block and firmware module manager that can be used with any SST firmware
and core.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from 30020472c354fbe4352b4b4d59bbc9a30aacf5c3
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: I3e05380a759b797312350de3f5bafdb477638490
Reviewed-on: https://chromium-review.googlesource.com/189307
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Add build support for Intel SST DSP core.

This adds kernel build support for Intel SST core audio.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from ddfa40b1586f8c7c6bb8bb9dd398cf656c98e6ee
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: I4eff5aeb0c9311ad6f1df64f179933762aeec8d6
Reviewed-on: https://chromium-review.googlesource.com/189308
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Add GFP_KERNEL flag to firmware DMA buffer.

Add GFP_KERNEL when allocating firmware DMA buffer.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from 2280e90efae92060f6fa717fb1afa9861bd2b520
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: I2ca21303f11dcc86decad61ad9eabbafcef5ccb4
Reviewed-on: https://chromium-review.googlesource.com/189309
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Add trace support for generic SST IPC messages.

Provide a trace mechanism for debugging generic SST IPC messages.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from f869c98328337f9906944c7a105912a4088e3c9b
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Benson Leung <bleung@chromium.org>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: I3860bbebc41b28fb31c29f17c18c27d7189813d3
Reviewed-on: https://chromium-review.googlesource.com/189521
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Rename SST trace event header to be less generic.

The Intel audio DSP SST trace event header has been renamed from sst.h
to intel-sst.h in order to avoid any confusion with any future
Samoa Standard Time drivers ;)

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>

(cherry picked from b47bd099fbb3412e34e8915c7a06bc3dbe73bc01
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>
Signed-off-by: Benson Leung <bleung@chromium.org>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: Id435ccc3d43f14b5ef45b6e02543caae2716021a
Reviewed-on: https://chromium-review.googlesource.com/189310
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Move extended fw base and size fields in struct sst_pdata

Move fw_base and fw_size fields in struct sst_pdata under ACPI data for
clarifying that these are not related to firmware file but for platform
specific extended firmware area reserved by the BIOS.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from 0c49a8c9f9fafdf4345259b9b50513905afcf860
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: I6507716ee62cd50f3a60acb552ff75d32d2e3939
Reviewed-on: https://chromium-review.googlesource.com/189311
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: sst-acpi: Request firmware before SST platform driver probing

We originally thought to request SST audio DSP firmware during the SST
platform driver initialization. However plain request_firmware doesn't
work in driver probe paths if userspace is not ready to handle it. For
instance when drivers are built-in.

Implementing asynchronous firmware request in SST platform driver
initialization complicates code needlessly since it anyway will fail if
firmware is missing.

This is more simple to handle by requesting firmware asynchronously in
sst_acpi_probe() and register SST platform only after firmware is loaded.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from e5161d7987f14338ad0a3cf376b9bb6838416183
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: Id854aee301d937c16d08aba07933abce61aa452d
Reviewed-on: https://chromium-review.googlesource.com/189312
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Fix sparse warnings for firmware loader

Sparse gives us the following warnings on sst-firmware.c

  CHECK   sound/soc/intel/sst-firmware.c
sound/soc/intel/sst-firmware.c:39:34: warning: incorrect type in argument 1 (different address spaces)
sound/soc/intel/sst-firmware.c:39:34:    expected void volatile [noderef] <asn:2>*dst
sound/soc/intel/sst-firmware.c:39:34:    got void *
sound/soc/intel/sst-firmware.c:417:36: warning: incorrect type in argument 1 (different address spaces)
sound/soc/intel/sst-firmware.c:417:36:    expected void *dest
sound/soc/intel/sst-firmware.c:417:36:    got void [noderef] <asn:2>*
sound/soc/intel/sst-firmware.c:430:5: warning: symbol 'sst_block_module_remove' was not declared. Should it be static?

and

  CC [M]  sound/soc/intel/sst-dsp.o
sound/soc/intel/sst-dsp-priv.h:271:53: warning: incorrect type in argument 3 (different address spaces)
sound/soc/intel/sst-dsp-priv.h:271:53:    expected void *src
sound/soc/intel/sst-dsp-priv.h:271:53:    got void [noderef] <asn:2>*
sound/soc/intel/sst-dsp-priv.h:271:53: warning: incorrect type in argument 3 (different address spaces)
sound/soc/intel/sst-dsp-priv.h:271:53:    expected void *src
sound/soc/intel/sst-dsp-priv.h:271:53:    got void [noderef] <asn:2>*
sound/soc/intel/sst-dsp-priv.h:271:53: warning: incorrect type in argument 3 (different address spaces)
sound/soc/intel/sst-dsp-priv.h:271:53:    expected void *src
sound/soc/intel/sst-dsp-priv.h:271:53:    got void [noderef] <asn:2>*

This patch removes these warnings

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from 7bcd84878ebd87168682b117e1cb9dd8a55a1a8b
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: I413b1647bdd59f8dd9128cc56d82936a1139572d
Reviewed-on: https://chromium-review.googlesource.com/189313
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: sst-acpi: Add support for multiple machine drivers per platform

Initial implementation of this driver focused only matching SST ACPI ID
with single machine driver and same firmware file per platform. It was known
restriction to be improved incrementally.

This patch is now changing this that SST ACPI ID refers purely to platform
specific data which refers to machine drivers on this platform, not vice
versa.

Matching machine driver is found by looking at ACPI ID which would best
match with the driver. Typically this would be the ACPI ID of audio codec
but is not tied to it.

This patch also changes that DSP firmware name is machine not platform
specific.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from 6dda27cbbd1d2d2ac4833236f5fd8a81c14d200a
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: Ia6e31ebeba08aac7fb68e4bad6f98ee0fedec538
Reviewed-on: https://chromium-review.googlesource.com/189314
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Fix build for sst-dsp.c on PPC architecture

Disable build on non X86 architectures except for compile testing. This fixes
the following build errors on PPC and adds an option for testing the build on other
architectures as suggested by Mark Brown :-

sound/soc/intel/sst-dsp.c: In function 'sst_dsp_outbox_write':
sound/soc/intel/sst-dsp.c:218:2: error: implicit declaration of function 'memcpy_toio' [-Werror=implicit-function-declaration]
  memcpy_toio(sst->mailbox.out_base, message, bytes);
  ^
sound/soc/intel/sst-dsp.c: In function 'sst_dsp_outbox_read':
sound/soc/intel/sst-dsp.c:231:2: error: implicit declaration of function 'memcpy_fromio' [-Werror=implicit-function-declaration]
  memcpy_fromio(message, sst->mailbox.out_base, bytes);
  ^

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from afd954900af84bf66a0dd72b2648a2c15fb68f25
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: I05ae92826017531d034be9fabb9d65b3f268d2a6
Reviewed-on: https://chromium-review.googlesource.com/189315
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: mfld_machine: Update locking around use of DAPM pin API

The pin updates in this driver look like they are intended to be done
atomically, update to do so.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from 121df681da21cebd8915c8ad62b33b7c90d4b395
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: Ibd9c9db22a59e9c71d7e63cee8ef5fc10b922b2f
Reviewed-on: https://chromium-review.googlesource.com/189316
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Add support for Haswell/Broadwell DSP

Add support for low level differentiation functions for Haswell and Broadwell
SST DSPs. This includes suppoprt for DSP boot and reset, DSP firmware module
parsing and DSP memory block map initialisation.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from 1e42c3e426b3f7bc61ba338dd6507a293108117c
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: Ib4403f21d12b2ff1baf1f2e4a176c50ab9892a3c
Reviewed-on: https://chromium-review.googlesource.com/189317
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Add Haswell/Broadwell IPC

Add support for Haswell and Broadwell DSP IPC. This is used by the DSP
platform PCM driver to configure the DSP for audio operations.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from 22981243589c3468481f5cfd04176233d2c7be4b
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: I833df68a5194e2bc8e0a00212e06037c41011121
Reviewed-on: https://chromium-review.googlesource.com/189318
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>
BACKPORT: ASoC: Intel: Add Haswell and Broadwell PCM platform driver

Add the Haswell and Broadwell PCM DSP platform driver. This driver uses
the IPC driver for communication with the SST DSP.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from d37797705d959c21e2f846ac73c2e17303bff936
 in git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git)
Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>

BUG=chrome-os-partner:25090
TEST=With entire patch series applied, and coreboot change to switch
LPE to acpi mode, check that audio playback and record work correctly.

Change-Id: I9d444d6f38f1942201829c5f5064c52863dba2b8
Reviewed-on: https://chromium-review.googlesource.com/189319
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Commit-Queue: Benson Leung <bleung@chromium.org>