diff options
-rw-r--r-- | sound/soc/fsl/fsl_dsp_audiomix.c | 10 | ||||
-rw-r--r-- | sound/soc/fsl/fsl_dsp_audiomix.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/fsl/fsl_dsp_audiomix.c b/sound/soc/fsl/fsl_dsp_audiomix.c index ba7730b54cd2..679550ae857d 100644 --- a/sound/soc/fsl/fsl_dsp_audiomix.c +++ b/sound/soc/fsl/fsl_dsp_audiomix.c @@ -26,6 +26,16 @@ void imx_audiomix_dsp_start(struct imx_audiomix_dsp_data *data) } EXPORT_SYMBOL(imx_audiomix_dsp_start); +void imx_audiomix_dsp_stall(struct imx_audiomix_dsp_data *data) +{ + u32 val; + + val = readl(data->base + AudioDSP_REG2); + val |= AudioDSP_REG2_RUNSTALL; + writel(val, data->base + AudioDSP_REG2); +} +EXPORT_SYMBOL(imx_audiomix_dsp_stall); + void imx_audiomix_dsp_pid_set(struct imx_audiomix_dsp_data *data, u32 val) { writel(val, data->base + AudioDSP_REG3); diff --git a/sound/soc/fsl/fsl_dsp_audiomix.h b/sound/soc/fsl/fsl_dsp_audiomix.h index 810efbaafff0..40fdf0d30dfa 100644 --- a/sound/soc/fsl/fsl_dsp_audiomix.h +++ b/sound/soc/fsl/fsl_dsp_audiomix.h @@ -17,6 +17,7 @@ struct imx_audiomix_dsp_data; void imx_audiomix_dsp_start(struct imx_audiomix_dsp_data *data); +void imx_audiomix_dsp_stall(struct imx_audiomix_dsp_data *data); void imx_audiomix_dsp_pid_set(struct imx_audiomix_dsp_data *data, u32 val); bool imx_audiomix_dsp_reset(struct imx_audiomix_dsp_data *data); |