Merge remote-tracking branch 'asoc/fix/omap' into asoc-linus

This commit is contained in:
Mark Brown 2015-03-04 20:42:40 +00:00
commit a9ca2a3cf4
3 changed files with 15 additions and 1 deletions

View File

@ -352,6 +352,9 @@ static int omap_hdmi_audio_probe(struct platform_device *pdev)
return ret;
card = devm_kzalloc(dev, sizeof(*card), GFP_KERNEL);
if (!card)
return -ENOMEM;
card->name = devm_kasprintf(dev, GFP_KERNEL,
"HDMI %s", dev_name(ad->dssdev));
card->owner = THIS_MODULE;

View File

@ -530,8 +530,19 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
case OMAP_MCBSP_SYSCLK_CLKX_EXT:
regs->srgr2 |= CLKSM;
regs->pcr0 |= SCLKME;
/*
* If McBSP is master but yet the CLKX/CLKR pin drives the SRG,
* disable output on those pins. This enables to inject the
* reference clock through CLKX/CLKR. For this to work
* set_dai_sysclk() _needs_ to be called after set_dai_fmt().
*/
regs->pcr0 &= ~CLKXM;
break;
case OMAP_MCBSP_SYSCLK_CLKR_EXT:
regs->pcr0 |= SCLKME;
/* Disable ouput on CLKR pin in master mode */
regs->pcr0 &= ~CLKRM;
break;
default:
err = -ENODEV;

View File

@ -201,7 +201,7 @@ static int omap_pcm_new(struct snd_soc_pcm_runtime *rtd)
struct snd_pcm *pcm = rtd->pcm;
int ret;
ret = dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(64));
ret = dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(32));
if (ret)
return ret;