lkml.org 
[lkml]   [2021]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: sound/isa/es1688/es1688_lib.c:384:79: error: 'DMA_AUTOINIT' undeclared
Hi Randy,

On Sat, Sep 11, 2021 at 4:32 AM Randy Dunlap <rdunlap@infradead.org> wrote:
> On 9/3/21 3:56 PM, kernel test robot wrote:
> > First bad commit (maybe != root cause):
>
> Any ideas about these build errors?
>
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head: 7cca308cfdc0725363ac5943dca9dcd49cc1d2d5
> > commit: db87db65c1059f3be04506d122f8ec9b2fa3b05e m68knommu: only set CONFIG_ISA_DMA_API for ColdFire sub-arch
> > date: 12 days ago
> > config: m68k-buildonly-randconfig-r001-20210904 (attached as .config)
> > compiler: m68k-linux-gcc (GCC) 11.2.0
> > reproduce (this is a W=1 build):
> > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > chmod +x ~/bin/make.cross
> > # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=db87db65c1059f3be04506d122f8ec9b2fa3b05e
> > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > git fetch --no-tags linus master
> > git checkout db87db65c1059f3be04506d122f8ec9b2fa3b05e
> > # save the attached .config to linux build tree
> > mkdir build_dir
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=m68k SHELL=/bin/bash sound/isa/es1688/ sound/isa/sb/ sound/isa/wss/
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@intel.com>
> >
> > All errors (new ones prefixed by >>):
> >
> > sound/isa/es1688/es1688_lib.c: In function 'snd_es1688_playback_prepare':
> >>> sound/isa/es1688/es1688_lib.c:384:79: error: 'DMA_AUTOINIT' undeclared (first use in this function)
> > 384 | snd_dma_program(chip->dma8, runtime->dma_addr, size, DMA_MODE_WRITE | DMA_AUTOINIT);
> > | ^~~~~~~~~~~~
> > sound/isa/es1688/es1688_lib.c:384:79: note: each undeclared identifier is reported only once for each function it appears in
> > sound/isa/es1688/es1688_lib.c: In function 'snd_es1688_capture_prepare':
> > sound/isa/es1688/es1688_lib.c:441:78: error: 'DMA_AUTOINIT' undeclared (first use in this function)
> > 441 | snd_dma_program(chip->dma8, runtime->dma_addr, size, DMA_MODE_READ | DMA_AUTOINIT);
> > | ^~~~~~~~~~~~
> > --
> > sound/isa/sb/sb16_main.c: In function 'snd_sb16_playback_prepare':
> >>> sound/isa/sb/sb16_main.c:253:72: error: 'DMA_AUTOINIT' undeclared (first use in this function)
> > 253 | snd_dma_program(dma, runtime->dma_addr, size, DMA_MODE_WRITE | DMA_AUTOINIT);
> > | ^~~~~~~~~~~~
> > sound/isa/sb/sb16_main.c:253:72: note: each undeclared identifier is reported only once for each function it appears in
> > sound/isa/sb/sb16_main.c: In function 'snd_sb16_capture_prepare':
> > sound/isa/sb/sb16_main.c:322:71: error: 'DMA_AUTOINIT' undeclared (first use in this function)
> > 322 | snd_dma_program(dma, runtime->dma_addr, size, DMA_MODE_READ | DMA_AUTOINIT);
> > | ^~~~~~~~~~~~
> > --
> > sound/isa/sb/sb8_main.c: In function 'snd_sb8_playback_prepare':
> >>> sound/isa/sb/sb8_main.c:188:48: error: 'DMA_AUTOINIT' undeclared (first use in this function)
> > 188 | size, DMA_MODE_WRITE | DMA_AUTOINIT);
> > | ^~~~~~~~~~~~
> > sound/isa/sb/sb8_main.c:188:48: note: each undeclared identifier is reported only once for each function it appears in
> > sound/isa/sb/sb8_main.c: In function 'snd_sb8_capture_prepare':
> > sound/isa/sb/sb8_main.c:313:47: error: 'DMA_AUTOINIT' undeclared (first use in this function)
> > 313 | size, DMA_MODE_READ | DMA_AUTOINIT);
> > | ^~~~~~~~~~~~
> > --
> > sound/isa/wss/wss_lib.c: In function 'snd_wss_playback_prepare':
> >>> sound/isa/wss/wss_lib.c:1004:79: error: 'DMA_AUTOINIT' undeclared (first use in this function)
> > 1004 | snd_dma_program(chip->dma1, runtime->dma_addr, size, DMA_MODE_WRITE | DMA_AUTOINIT);
> > | ^~~~~~~~~~~~
> > sound/isa/wss/wss_lib.c:1004:79: note: each undeclared identifier is reported only once for each function it appears in
> > sound/isa/wss/wss_lib.c: In function 'snd_wss_capture_prepare':
> > sound/isa/wss/wss_lib.c:1039:78: error: 'DMA_AUTOINIT' undeclared (first use in this function)
> > 1039 | snd_dma_program(chip->dma2, runtime->dma_addr, size, DMA_MODE_READ | DMA_AUTOINIT);
> > | ^~~~~~~~~~~~
>
> Only a few arches define DMA_AUTOINIT:
>
> $ grep -w DMA_AUTOINIT arch/*/include/asm/dma*.h
> arch/alpha/include/asm/dma.h:#define DMA_AUTOINIT 0x10
> arch/arm/include/asm/dma.h:#define DMA_AUTOINIT 0x10
> arch/mips/include/asm/dma.h:#define DMA_AUTOINIT 0x10
> arch/parisc/include/asm/dma.h:#define DMA_AUTOINIT 0x10
> arch/powerpc/include/asm/dma.h:#define DMA_AUTOINIT 0x10
> arch/sh/include/asm/dma.h:#define DMA_AUTOINIT 0x10
> arch/x86/include/asm/dma.h:#define DMA_AUTOINIT 0x10

So only m68k and sparc lack them?
Of course their dma_set_mode() implementations just ignore that
mode (and many more, for the rudimentary sparc version).

> CONFIG_ISA_DMA_API=y
> but CONFIG_ISA is not set.
> (Yes, this is ColdFire.)
>
> menuconfig SND_ISA
> bool "ISA sound devices"
> depends on ISA || COMPILE_TEST
> depends on ISA_DMA_API
> default y
>
> I suppose that we could drop the "|| COMPILE_TEST" part.

Or "... || (COMPILE_TEST && !M68K)"?

Sparc doesn't define ISA_DMA_API, so it doesn't suffer.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

\
 
 \ /
  Last update: 2021-09-13 09:55    [W:0.120 / U:0.544 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site