| From 330d96303163c31021afc3ce3ea2de61e50f2ce6 Mon Sep 17 00:00:00 2001 |
| From: Daniel Baluta <daniel.baluta@nxp.com> |
| Date: Sun, 21 Apr 2019 19:39:08 +0000 |
| Subject: ASoC: fsl_sai: Update is_slave_mode with correct value |
| |
| [ Upstream commit ddb351145a967ee791a0fb0156852ec2fcb746ba ] |
| |
| is_slave_mode defaults to false because sai structure |
| that contains it is kzalloc'ed. |
| |
| Anyhow, if we decide to set the following configuration |
| SAI slave -> SAI master, is_slave_mode will remain set on true |
| although SAI being master it should be set to false. |
| |
| Fix this by updating is_slave_mode for each call of |
| fsl_sai_set_dai_fmt. |
| |
| Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> |
| Acked-by: Nicolin Chen <nicoleotsuka@gmail.com> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| sound/soc/fsl/fsl_sai.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c |
| index db9e0872f73db..7549b74e464e9 100644 |
| --- a/sound/soc/fsl/fsl_sai.c |
| +++ b/sound/soc/fsl/fsl_sai.c |
| @@ -268,12 +268,14 @@ static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *cpu_dai, |
| case SND_SOC_DAIFMT_CBS_CFS: |
| val_cr2 |= FSL_SAI_CR2_BCD_MSTR; |
| val_cr4 |= FSL_SAI_CR4_FSD_MSTR; |
| + sai->is_slave_mode = false; |
| break; |
| case SND_SOC_DAIFMT_CBM_CFM: |
| sai->is_slave_mode = true; |
| break; |
| case SND_SOC_DAIFMT_CBS_CFM: |
| val_cr2 |= FSL_SAI_CR2_BCD_MSTR; |
| + sai->is_slave_mode = false; |
| break; |
| case SND_SOC_DAIFMT_CBM_CFS: |
| val_cr4 |= FSL_SAI_CR4_FSD_MSTR; |
| -- |
| 2.20.1 |
| |