aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2015-04-12 14:48:20 -0400
committerMark Brown <broonie@kernel.org>2015-04-12 14:48:20 -0400
commita55ede1661268c1a6fe94078b7b08906dfa7b77a (patch)
treefe46be595fc52803a74b3e081a01ec247eb5ac1c
parentdad0e523ede5a6d2d20c54d0e179b36a54a9953b (diff)
parent6212755eff3171e0211bb6a9f4706e115217588c (diff)
Merge remote-tracking branch 'asoc/fix/intel' into asoc-linus
-rw-r--r--sound/soc/intel/sst-acpi.c1
-rw-r--r--sound/soc/intel/sst-dsp.h1
-rw-r--r--sound/soc/intel/sst-firmware.c4
-rw-r--r--sound/soc/intel/sst/sst_acpi.c2
4 files changed, 7 insertions, 1 deletions
diff --git a/sound/soc/intel/sst-acpi.c b/sound/soc/intel/sst-acpi.c
index b3d84560fbb5..42f293f9c6e2 100644
--- a/sound/soc/intel/sst-acpi.c
+++ b/sound/soc/intel/sst-acpi.c
@@ -142,6 +142,7 @@ static int sst_acpi_probe(struct platform_device *pdev)
142 sst_acpi->desc = desc; 142 sst_acpi->desc = desc;
143 sst_acpi->mach = mach; 143 sst_acpi->mach = mach;
144 144
145 sst_pdata->resindex_dma_base = desc->resindex_dma_base;
145 if (desc->resindex_dma_base >= 0) { 146 if (desc->resindex_dma_base >= 0) {
146 sst_pdata->dma_engine = desc->dma_engine; 147 sst_pdata->dma_engine = desc->dma_engine;
147 sst_pdata->dma_base = desc->resindex_dma_base; 148 sst_pdata->dma_base = desc->resindex_dma_base;
diff --git a/sound/soc/intel/sst-dsp.h b/sound/soc/intel/sst-dsp.h
index f291e32f0077..148d8c589a43 100644
--- a/sound/soc/intel/sst-dsp.h
+++ b/sound/soc/intel/sst-dsp.h
@@ -206,6 +206,7 @@ struct sst_pdata {
206 const struct firmware *fw; 206 const struct firmware *fw;
207 207
208 /* DMA */ 208 /* DMA */
209 int resindex_dma_base; /* other fields invalid if equals to -1 */
209 u32 dma_base; 210 u32 dma_base;
210 u32 dma_size; 211 u32 dma_size;
211 int dma_engine; 212 int dma_engine;
diff --git a/sound/soc/intel/sst-firmware.c b/sound/soc/intel/sst-firmware.c
index 5f71ef607a57..4a993d16a235 100644
--- a/sound/soc/intel/sst-firmware.c
+++ b/sound/soc/intel/sst-firmware.c
@@ -271,6 +271,10 @@ int sst_dma_new(struct sst_dsp *sst)
271 const char *dma_dev_name; 271 const char *dma_dev_name;
272 int ret = 0; 272 int ret = 0;
273 273
274 if (sst->pdata->resindex_dma_base == -1)
275 /* DMA is not used, return and squelsh error messages */
276 return 0;
277
274 /* configure the correct platform data for whatever DMA engine 278 /* configure the correct platform data for whatever DMA engine
275 * is attached to the ADSP IP. */ 279 * is attached to the ADSP IP. */
276 switch (sst->pdata->dma_engine) { 280 switch (sst->pdata->dma_engine) {
diff --git a/sound/soc/intel/sst/sst_acpi.c b/sound/soc/intel/sst/sst_acpi.c
index b782dfdcdbba..b536ddd2517d 100644
--- a/sound/soc/intel/sst/sst_acpi.c
+++ b/sound/soc/intel/sst/sst_acpi.c
@@ -309,7 +309,7 @@ static int sst_acpi_probe(struct platform_device *pdev)
309 ctx->shim_regs64 = devm_kzalloc(ctx->dev, sizeof(*ctx->shim_regs64), 309 ctx->shim_regs64 = devm_kzalloc(ctx->dev, sizeof(*ctx->shim_regs64),
310 GFP_KERNEL); 310 GFP_KERNEL);
311 if (!ctx->shim_regs64) { 311 if (!ctx->shim_regs64) {
312 return -ENOMEM; 312 ret = -ENOMEM;
313 goto do_sst_cleanup; 313 goto do_sst_cleanup;
314 } 314 }
315 315