diff options
Diffstat (limited to 'sound/soc/stm/stm32_i2s.c')
| -rw-r--r-- | sound/soc/stm/stm32_i2s.c | 14 | 
1 files changed, 7 insertions, 7 deletions
diff --git a/sound/soc/stm/stm32_i2s.c b/sound/soc/stm/stm32_i2s.c index 7f56d7b51ba3..95fffb61faa5 100644 --- a/sound/soc/stm/stm32_i2s.c +++ b/sound/soc/stm/stm32_i2s.c @@ -488,7 +488,7 @@ static int stm32_i2s_configure(struct snd_soc_dai *cpu_dai,  {  	struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai);  	int format = params_width(params); -	u32 cfgr, cfgr_mask, cfg1, cfg1_mask; +	u32 cfgr, cfgr_mask, cfg1;  	unsigned int fthlv;  	int ret; @@ -529,15 +529,11 @@ static int stm32_i2s_configure(struct snd_soc_dai *cpu_dai,  	if (ret < 0)  		return ret; -	cfg1 = I2S_CFG1_RXDMAEN | I2S_CFG1_TXDMAEN; -	cfg1_mask = cfg1; -  	fthlv = STM32_I2S_FIFO_SIZE * I2S_FIFO_TH_ONE_QUARTER / 4; -	cfg1 |= I2S_CFG1_FTHVL_SET(fthlv - 1); -	cfg1_mask |= I2S_CFG1_FTHVL_MASK; +	cfg1 = I2S_CFG1_FTHVL_SET(fthlv - 1);  	return regmap_update_bits(i2s->regmap, STM32_I2S_CFG1_REG, -				  cfg1_mask, cfg1); +				  I2S_CFG1_FTHVL_MASK, cfg1);  }  static int stm32_i2s_startup(struct snd_pcm_substream *substream, @@ -592,6 +588,10 @@ static int stm32_i2s_trigger(struct snd_pcm_substream *substream, int cmd,  		/* Enable i2s */  		dev_dbg(cpu_dai->dev, "start I2S\n"); +		cfg1_mask = I2S_CFG1_RXDMAEN | I2S_CFG1_TXDMAEN; +		regmap_update_bits(i2s->regmap, STM32_I2S_CFG1_REG, +				   cfg1_mask, cfg1_mask); +  		ret = regmap_update_bits(i2s->regmap, STM32_I2S_CR1_REG,  					 I2S_CR1_SPE, I2S_CR1_SPE);  		if (ret < 0) {  | 
