|
@@ -299,7 +299,6 @@ static struct snd_pcm_ops psc_dma_ops = {
|
|
|
.hw_params = psc_dma_hw_params,
|
|
|
};
|
|
|
|
|
|
-static u64 psc_dma_dmamask = DMA_BIT_MASK(32);
|
|
|
static int psc_dma_new(struct snd_soc_pcm_runtime *rtd)
|
|
|
{
|
|
|
struct snd_card *card = rtd->card->snd_card;
|
|
@@ -307,15 +306,14 @@ static int psc_dma_new(struct snd_soc_pcm_runtime *rtd)
|
|
|
struct snd_pcm *pcm = rtd->pcm;
|
|
|
struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(rtd->cpu_dai);
|
|
|
size_t size = psc_dma_hardware.buffer_bytes_max;
|
|
|
- int rc = 0;
|
|
|
+ int rc;
|
|
|
|
|
|
dev_dbg(rtd->platform->dev, "psc_dma_new(card=%p, dai=%p, pcm=%p)\n",
|
|
|
card, dai, pcm);
|
|
|
|
|
|
- if (!card->dev->dma_mask)
|
|
|
- card->dev->dma_mask = &psc_dma_dmamask;
|
|
|
- if (!card->dev->coherent_dma_mask)
|
|
|
- card->dev->coherent_dma_mask = DMA_BIT_MASK(32);
|
|
|
+ rc = dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(32));
|
|
|
+ if (rc)
|
|
|
+ return rc;
|
|
|
|
|
|
if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) {
|
|
|
rc = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, pcm->card->dev,
|