Re: sound/isa/es1688/es1688_lib.c:384:79: error: 'DMA_AUTOINIT' undeclared

From: Randy Dunlap
Date: Fri Sep 10 2021 - 22:32:57 EST


On 9/3/21 3:56 PM, kernel test robot wrote:
Hi Arnd,

First bad commit (maybe != root cause):

Hi Geert, Greg, Arnd,

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@xxxxxxxxx>

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


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.


thanks.
--
~Randy