diff options
author | Shengjiu Wang <shengjiu.wang@nxp.com> | 2018-12-27 16:23:59 +0800 |
---|---|---|
committer | Dong Aisheng <aisheng.dong@nxp.com> | 2019-11-25 15:52:15 +0800 |
commit | e8d93a7218db71fe798d797f3713b0f37b43bedc (patch) | |
tree | 4ccedeb29c2df1c5aecee3dca70526b31a941a7a | |
parent | 4ef357502632565256d61200d499c102a8377e2b (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.c | 12 | ||||
-rw-r--r-- | sound/soc/fsl/fsl_dsp_proxy.h | 2 |
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; |