Merge branch 'fix/davinci' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-davinci

This commit is contained in:
Mark Brown 2014-11-17 16:40:27 +00:00
commit c117b4a39b
1 changed files with 13 additions and 2 deletions

View File

@ -582,8 +582,17 @@ static int davinci_config_channel_size(struct davinci_mcasp *mcasp,
* both left and right channels), so it has to be divided by number of
* tdm-slots (for I2S - divided by 2).
*/
if (mcasp->bclk_lrclk_ratio)
word_length = mcasp->bclk_lrclk_ratio / mcasp->tdm_slots;
if (mcasp->bclk_lrclk_ratio) {
u32 slot_length = mcasp->bclk_lrclk_ratio / mcasp->tdm_slots;
/*
* When we have more bclk then it is needed for the data, we
* need to use the rotation to move the received samples to have
* correct alignment.
*/
rx_rotate = (slot_length - word_length) / 4;
word_length = slot_length;
}
/* mapping of the XSSZ bit-field as described in the datasheet */
fmt = (word_length >> 1) - 1;
@ -1125,6 +1134,7 @@ static struct snd_soc_dai_driver davinci_mcasp_dai[] = {
},
.ops = &davinci_mcasp_dai_ops,
.symmetric_samplebits = 1,
},
{
.name = "davinci-mcasp.1",
@ -1391,6 +1401,7 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
ret = pm_runtime_get_sync(&pdev->dev);
if (IS_ERR_VALUE(ret)) {
dev_err(&pdev->dev, "pm_runtime_get_sync() failed\n");
pm_runtime_disable(&pdev->dev);
return ret;
}