ASoC: mediatek: preallocate pages use platform device
authorKai Chieh Chuang <kaichieh.chuang@mediatek.com>
Fri, 27 Apr 2018 02:11:35 +0000 (10:11 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Jul 2018 09:39:22 +0000 (11:39 +0200)
commit 5845e6155d8f4a4a9bae2d4c1d1bb4a4d9a925c2 upstream.

preallocate pages should use platform device,
since we set dma mask for platform device.

Signed-off-by: KaiChieh Chuang <kaichieh.chuang@mediatek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/soc/mediatek/common/mtk-afe-platform-driver.c

index 82d439c..e58fbef 100644 (file)
@@ -63,13 +63,13 @@ static const struct snd_pcm_ops mtk_afe_pcm_ops = {
 static int mtk_afe_pcm_new(struct snd_soc_pcm_runtime *rtd)
 {
        size_t size;
-       struct snd_card *card = rtd->card->snd_card;
        struct snd_pcm *pcm = rtd->pcm;
        struct mtk_base_afe *afe = snd_soc_platform_get_drvdata(rtd->platform);
 
        size = afe->mtk_afe_hardware->buffer_bytes_max;
        return snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
-                                                    card->dev, size, size);
+                                                    rtd->platform->dev,
+                                                    size, size);
 }
 
 static void mtk_afe_pcm_free(struct snd_pcm *pcm)