diff options
author | Zhang Peng <peng_zhang_8@nxp.com> | 2020-03-11 13:58:48 +0800 |
---|---|---|
committer | Peng Zhang <peng.zhang_8@nxp.com> | 2020-03-11 14:29:31 +0100 |
commit | 10abba22b3160e8816edb82b655ce04082a7fe82 (patch) | |
tree | 7f7bcd5dedf3ae7aaad664f4e313b8e32b86eeb3 /sound/soc/fsl/fsl_dsp.c | |
parent | dc5a4818433a59c187fa52b7d4585940ba6b2da5 (diff) |
MLK-23570i fsl: fsl_dsp: Fix dsp suspend issue on imx.mp board
1. Add check pm runtime state to decide send suspend msg to dsp when
call fsl_dsp_suspend.
2. Set proxy->dsp_mu_init be zero in fsl_dsp_suspend for imx.mp.
Signed-off-by: Zhang Peng <peng_zhang_8@nxp.com>
Diffstat (limited to 'sound/soc/fsl/fsl_dsp.c')
-rw-r--r-- | sound/soc/fsl/fsl_dsp.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/fsl/fsl_dsp.c b/sound/soc/fsl/fsl_dsp.c index 64e9b4f7b3e6..4cf051449f21 100644 --- a/sound/soc/fsl/fsl_dsp.c +++ b/sound/soc/fsl/fsl_dsp.c @@ -1258,13 +1258,17 @@ static int fsl_dsp_suspend(struct device *dev) struct xf_proxy *proxy = &dsp_priv->proxy; int ret = 0; - if (proxy->is_ready) { + if (proxy->is_ready & pm_runtime_active(dev)) { ret = xf_cmd_send_suspend(proxy); if (ret) { dev_err(dev, "dsp suspend fail\n"); return ret; } } + if (dsp_priv->dsp_board_type == DSP_IMX8MP_TYPE) { + dsp_priv->dsp_mu_init = 0; + proxy->is_ready = 0; + } ret = pm_runtime_force_suspend(dev); |