lkml.org 
[lkml]   [2019]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.2 068/162] ASoC: amd: acp3x: use dma_ops of parent device for acp3x dma driver
    Date
    [ Upstream commit 88639051017fb61a414b636dd0fc490da2b62b64 ]

    AMD platform device acp3x_rv_i2s created by parent PCI device
    driver. Pass struct device of the parent to
    snd_pcm_lib_preallocate_pages() so dma_alloc_coherent() can use
    correct dma_ops. Otherwise, it will use default dma_ops which
    is nommu_dma_ops on x86_64 even when IOMMU is enabled and
    set to non passthrough mode.

    Signed-off-by: Vijendar Mukunda <vijendar.mukunda@amd.com>
    Link: https://lore.kernel.org/r/1564753899-17124-1-git-send-email-Vijendar.Mukunda@amd.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    sound/soc/amd/raven/acp3x-pcm-dma.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    diff --git a/sound/soc/amd/raven/acp3x-pcm-dma.c b/sound/soc/amd/raven/acp3x-pcm-dma.c
    index 9775bda2a4ca3..d8aa6ab3f68bc 100644
    --- a/sound/soc/amd/raven/acp3x-pcm-dma.c
    +++ b/sound/soc/amd/raven/acp3x-pcm-dma.c
    @@ -367,9 +367,11 @@ static snd_pcm_uframes_t acp3x_dma_pointer(struct snd_pcm_substream *substream)

    static int acp3x_dma_new(struct snd_soc_pcm_runtime *rtd)
    {
    + struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd,
    + DRV_NAME);
    + struct device *parent = component->dev->parent;
    snd_pcm_lib_preallocate_pages_for_all(rtd->pcm, SNDRV_DMA_TYPE_DEV,
    - rtd->pcm->card->dev,
    - MIN_BUFFER, MAX_BUFFER);
    + parent, MIN_BUFFER, MAX_BUFFER);
    return 0;
    }

    --
    2.20.1


    \
     
     \ /
      Last update: 2019-08-27 10:10    [W:4.172 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site