diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-05-28 16:41:36 +0200 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-05-28 16:41:36 +0200 |
commit | 72322e6362fc921411da7410e1c4f5823e1deeda (patch) | |
tree | ed71d59c4b8962051eb73b5bbdcfa5d95930ddd4 /sound | |
parent | Merge remote-tracking branch 'asoc/fix/cs42l52' into asoc-linus (diff) | |
parent | ASoC: davinci: fix sample rotation (diff) | |
download | linux-72322e6362fc921411da7410e1c4f5823e1deeda.tar.xz linux-72322e6362fc921411da7410e1c4f5823e1deeda.zip |
Merge remote-tracking branch 'asoc/fix/davinci' into asoc-linus
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/davinci/davinci-mcasp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c index 56ecfc72f2e9..81490febac6d 100644 --- a/sound/soc/davinci/davinci-mcasp.c +++ b/sound/soc/davinci/davinci-mcasp.c @@ -631,7 +631,8 @@ static int davinci_config_channel_size(struct davinci_audio_dev *dev, int word_length) { u32 fmt; - u32 rotate = (word_length / 4) & 0x7; + u32 tx_rotate = (word_length / 4) & 0x7; + u32 rx_rotate = (32 - word_length) / 4; u32 mask = (1ULL << word_length) - 1; /* @@ -655,9 +656,9 @@ static int davinci_config_channel_size(struct davinci_audio_dev *dev, mcasp_mod_bits(dev->base + DAVINCI_MCASP_TXFMT_REG, TXSSZ(fmt), TXSSZ(0x0F)); mcasp_mod_bits(dev->base + DAVINCI_MCASP_TXFMT_REG, - TXROT(rotate), TXROT(7)); + TXROT(tx_rotate), TXROT(7)); mcasp_mod_bits(dev->base + DAVINCI_MCASP_RXFMT_REG, - RXROT(rotate), RXROT(7)); + RXROT(rx_rotate), RXROT(7)); mcasp_set_reg(dev->base + DAVINCI_MCASP_RXMASK_REG, mask); } |