Skip to content

Commit

Permalink
ASoC: Disable automatic volume control in the CS4270 sound driver
Browse files Browse the repository at this point in the history
Disable the automatic volume control feature of the CS4270 audio codec.  This
feature, which is enabled by default, causes volume change commands to be
delayed.  Sometimes the volume change happens after playback is started.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Timur Tabi authored and Mark Brown committed Oct 30, 2008
1 parent ca53fb2 commit 0c235d1
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions sound/soc/codecs/cs4270.c
Original file line number Diff line number Diff line change
Expand Up @@ -450,6 +450,19 @@ static int cs4270_hw_params(struct snd_pcm_substream *substream,
return ret;
}

/* Disable automatic volume control. It's enabled by default, and
* it causes volume change commands to be delayed, sometimes until
* after playback has started.
*/

reg = cs4270_read_reg_cache(codec, CS4270_TRANS);
reg &= ~(CS4270_TRANS_SOFT | CS4270_TRANS_ZERO);
ret = cs4270_i2c_write(codec, CS4270_TRANS, reg);
if (ret < 0) {
printk(KERN_ERR "I2C write failed\n");
return ret;
}

/* Thaw and power-up the codec */

ret = snd_soc_write(codec, CS4270_PWRCTL, 0);
Expand Down

0 comments on commit 0c235d1

Please sign in to comment.