Hi all,

After merging the sound tree, today's linux-next build (x86_64
allmodconfig) failed like this:

sound/core/pcm_memory.c: In function 'do_alloc_pages':
sound/core/pcm_memory.c:47:7: error: implicit declaration of function 
'dma_is_direct'; did you mean 'd_is_dir'? 
[-Werror=implicit-function-declaration]
   47 |      !dma_is_direct(get_dma_ops(dev))) {
      |       ^~~~~~~~~~~~~
      |       d_is_dir

Caused by commit

  3ad796cbc36a ("ALSA: pcm: Use SG-buffer only when direct DMA is available")

interacting with commit

  d3fa60d7bfdc ("dma-mapping: move the remaining DMA API calls out of line")

from the dma-mapping tree.

I am not sure of the best fix here, so I just added this hack to make
it build for now.  Suggestions welcome.

From: Stephen Rothwell <[email protected]>
Date: Fri, 17 Jul 2020 12:57:38 +1000
Subject: [PATCH] merge fix for dma_is_direct() removal

Signed-off-by: Stephen Rothwell <[email protected]>
---
 sound/core/pcm_memory.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/core/pcm_memory.c b/sound/core/pcm_memory.c
index 795af1b88051..89480f12086a 100644
--- a/sound/core/pcm_memory.c
+++ b/sound/core/pcm_memory.c
@@ -44,7 +44,7 @@ static int do_alloc_pages(struct snd_card *card, int type, 
struct device *dev,
 
 #ifdef CONFIG_SND_DMA_SGBUF
        if ((type == SNDRV_DMA_TYPE_DEV_SG || type == SNDRV_DMA_TYPE_DEV_UC_SG) 
&&
-           !dma_is_direct(get_dma_ops(dev))) {
+           1 /* !dma_is_direct(get_dma_ops(dev)) */) {
                /* mutate to continuous page allocation */
                dev_dbg(dev, "Use continuous page allocator\n");
                if (type == SNDRV_DMA_TYPE_DEV_SG)
-- 
2.27.0

-- 
Cheers,
Stephen Rothwell

Attachment: pgpkNbPdlhsRl.pgp
Description: OpenPGP digital signature

Reply via email to