summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@nxp.com>2018-12-27 16:23:59 +0800
committerDong Aisheng <aisheng.dong@nxp.com>2019-11-25 15:52:15 +0800
commite8d93a7218db71fe798d797f3713b0f37b43bedc (patch)
tree4ccedeb29c2df1c5aecee3dca70526b31a941a7a
parent4ef357502632565256d61200d499c102a8377e2b (diff)
MLK-20693-1: ASoC: fsl_dsp: remove this workaround of skip sections
Revert "MLK-18497-13: ASoC: fsl: dsp: Skip SDRAM section update if fw is already loaded" This reverts commit a0cffd9a9299362f2b3a4d24b78a8574b736fdfa. This is just to avoid reconfigure the edma isr handler in dsp framework, which should be handled by dsp framework. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
-rw-r--r--sound/soc/fsl/fsl_dsp.c12
-rw-r--r--sound/soc/fsl/fsl_dsp_proxy.h2
2 files changed, 5 insertions, 9 deletions
diff --git a/sound/soc/fsl/fsl_dsp.c b/sound/soc/fsl/fsl_dsp.c
index 1d5b28fc05ac..fa5efb267f62 100644
--- a/sound/soc/fsl/fsl_dsp.c
+++ b/sound/soc/fsl/fsl_dsp.c
@@ -370,7 +370,6 @@ int fsl_dsp_open_func(struct fsl_dsp *dsp_priv, struct xf_client *client)
atomic_set(&client->vm_use, 0);
client->global = (void *)dsp_priv;
- dsp_priv->proxy.is_loaded = 0;
dsp_priv->proxy.is_active = 1;
pm_runtime_get_sync(dev);
@@ -687,12 +686,10 @@ static void dsp_load_firmware(const struct firmware *fw, void *context)
(!strcmp(&strtab[shdr->sh_name], ".data")) ||
(!strcmp(&strtab[shdr->sh_name], ".bss"))
) {
- if (!dsp_priv->proxy.is_loaded) {
- memcpy_dsp((void *)(dsp_priv->sdram_vir_addr
- + (sh_addr - dsp_priv->sdram_phys_addr)),
- (const void *)image,
- shdr->sh_size);
- }
+ memcpy_dsp((void *)(dsp_priv->sdram_vir_addr
+ + (sh_addr - dsp_priv->sdram_phys_addr)),
+ (const void *)image,
+ shdr->sh_size);
} else {
/* sh_addr is from DSP view, we need to
* fixup addr because we load the firmware from
@@ -711,7 +708,6 @@ static void dsp_load_firmware(const struct firmware *fw, void *context)
/* start the core */
imx_sc_pm_cpu_start(dsp_priv->dsp_ipcHandle,
IMX_SC_R_DSP, true, dsp_priv->iram);
- dsp_priv->proxy.is_loaded = 1;
}
/* Initialization of the MU code. */
diff --git a/sound/soc/fsl/fsl_dsp_proxy.h b/sound/soc/fsl/fsl_dsp_proxy.h
index 9b5c78f8b993..bc9ccf37bc8f 100644
--- a/sound/soc/fsl/fsl_dsp_proxy.h
+++ b/sound/soc/fsl/fsl_dsp_proxy.h
@@ -299,8 +299,8 @@ struct xf_proxy {
struct completion cmd_complete;
int is_ready;
- int is_loaded;
int is_active;
+
/* ...internal lock */
spinlock_t lock;