lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202305160221.9XgweObz-lkp@intel.com>
Date:   Tue, 16 May 2023 03:12:50 +0800
From:   kernel test robot <lkp@...el.com>
To:     Herve Codina <herve.codina@...tlin.com>
Cc:     oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
        Mark Brown <broonie@...nel.org>
Subject: sound/soc/fsl/fsl_qmc_audio.c:146: undefined reference to
 `qmc_chan_write_submit'

Hi Herve,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6
commit: 6ffa0da5c63f8408101d01075709981005eb66ec soc: fsl: cpm1: qmc: Fix test dependency
date:   9 weeks ago
config: powerpc-randconfig-r021-20230515
compiler: powerpc-linux-gcc (GCC) 12.1.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=6ffa0da5c63f8408101d01075709981005eb66ec
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 6ffa0da5c63f8408101d01075709981005eb66ec
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202305160221.9XgweObz-lkp@intel.com/

All errors (new ones prefixed by >>):

   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.o: in function `cpm_uart_init_scc':
   drivers/tty/serial/cpm_uart/cpm_uart_core.c:799: undefined reference to `cpm_line_cr_cmd'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.o: in function `cpm_uart_release_port':
   drivers/tty/serial/cpm_uart/cpm_uart_core.c:910: undefined reference to `cpm_uart_freebuf'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.o: in function `cpm_uart_set_termios':
   arch/powerpc/include/asm/cpm2.h:117: undefined reference to `__cpm2_setbrg'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.o: in function `cpm_uart_break_ctl':
   drivers/tty/serial/cpm_uart/cpm_uart_core.c:205: undefined reference to `cpm_line_cr_cmd'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.o: in function `cpm_uart_request_port':
   drivers/tty/serial/cpm_uart/cpm_uart_core.c:890: undefined reference to `cpm_uart_allocbuf'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.o: in function `cpm_uart_init_port':
   drivers/tty/serial/cpm_uart/cpm_uart_core.c:1175: undefined reference to `cpm_uart_map_pram'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.c:1241: undefined reference to `cpm_uart_unmap_pram'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.c:1180: undefined reference to `cpm_uart_map_pram'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.o: in function `cpm_uart_startup':
   drivers/tty/serial/cpm_uart/cpm_uart_core.c:411: undefined reference to `cpm_line_cr_cmd'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.o: in function `cpm_uart_shutdown':
   drivers/tty/serial/cpm_uart/cpm_uart_core.c:478: undefined reference to `cpm_line_cr_cmd'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.o: in function `cpm_uart_console_init':
   drivers/tty/serial/cpm_uart/cpm_uart_core.c:1379: undefined reference to `cpm_muram_init'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.o: in function `cpm_uart_console_setup':
   drivers/tty/serial/cpm_uart/cpm_uart_core.c:1334: undefined reference to `cpm_line_cr_cmd'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.c:1329: undefined reference to `cpm_line_cr_cmd'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.c:1339: undefined reference to `cpm_uart_allocbuf'
   powerpc-linux-ld: drivers/tty/serial/cpm_uart/cpm_uart_core.c:1352: undefined reference to `cpm_line_cr_cmd'
   powerpc-linux-ld: sound/soc/fsl/fsl_qmc_audio.o: in function `qmc_audio_pcm_trigger':
>> sound/soc/fsl/fsl_qmc_audio.c:146: undefined reference to `qmc_chan_write_submit'
>> powerpc-linux-ld: sound/soc/fsl/fsl_qmc_audio.c:161: undefined reference to `qmc_chan_write_submit'
>> powerpc-linux-ld: sound/soc/fsl/fsl_qmc_audio.c:171: undefined reference to `qmc_chan_read_submit'
   powerpc-linux-ld: sound/soc/fsl/fsl_qmc_audio.c:186: undefined reference to `qmc_chan_read_submit'
   powerpc-linux-ld: sound/soc/fsl/fsl_qmc_audio.o: in function `qmc_audio_pcm_read_complete':
>> sound/soc/fsl/fsl_qmc_audio.c:120: undefined reference to `qmc_chan_read_submit'
   powerpc-linux-ld: sound/soc/fsl/fsl_qmc_audio.o: in function `qmc_audio_pcm_write_complete':
   sound/soc/fsl/fsl_qmc_audio.c:91: undefined reference to `qmc_chan_write_submit'
   powerpc-linux-ld: sound/soc/fsl/fsl_qmc_audio.o: in function `qmc_dai_trigger':
>> sound/soc/fsl/fsl_qmc_audio.c:524: undefined reference to `qmc_chan_stop'
>> powerpc-linux-ld: sound/soc/fsl/fsl_qmc_audio.c:527: undefined reference to `qmc_chan_reset'
>> powerpc-linux-ld: sound/soc/fsl/fsl_qmc_audio.c:518: undefined reference to `qmc_chan_start'
>> powerpc-linux-ld: sound/soc/fsl/fsl_qmc_audio.c:534: undefined reference to `qmc_chan_stop'
   powerpc-linux-ld: sound/soc/fsl/fsl_qmc_audio.o: in function `qmc_dai_hw_params':
>> sound/soc/fsl/fsl_qmc_audio.c:487: undefined reference to `qmc_chan_set_param'
   powerpc-linux-ld: sound/soc/fsl/fsl_qmc_audio.o: in function `qmc_audio_dai_parse':
>> sound/soc/fsl/fsl_qmc_audio.c:608: undefined reference to `devm_qmc_chan_get_byphandle'
>> powerpc-linux-ld: sound/soc/fsl/fsl_qmc_audio.c:619: undefined reference to `qmc_chan_get_info'


vim +146 sound/soc/fsl/fsl_qmc_audio.c

075c7125b11c72 Herve Codina 2023-02-17  101  
075c7125b11c72 Herve Codina 2023-02-17  102  static void qmc_audio_pcm_read_complete(void *context, size_t length)
075c7125b11c72 Herve Codina 2023-02-17  103  {
075c7125b11c72 Herve Codina 2023-02-17  104  	struct qmc_dai_prtd *prtd = context;
075c7125b11c72 Herve Codina 2023-02-17  105  	int ret;
075c7125b11c72 Herve Codina 2023-02-17  106  
075c7125b11c72 Herve Codina 2023-02-17  107  	if (length != prtd->period_size) {
075c7125b11c72 Herve Codina 2023-02-17  108  		dev_err(prtd->qmc_dai->dev, "read complete length = %zu, exp %zu\n",
075c7125b11c72 Herve Codina 2023-02-17  109  			length, prtd->period_size);
075c7125b11c72 Herve Codina 2023-02-17  110  	}
075c7125b11c72 Herve Codina 2023-02-17  111  
075c7125b11c72 Herve Codina 2023-02-17  112  	prtd->period_ptr_ended += prtd->period_size;
075c7125b11c72 Herve Codina 2023-02-17  113  	if (prtd->period_ptr_ended >= prtd->dma_buffer_end)
075c7125b11c72 Herve Codina 2023-02-17  114  		prtd->period_ptr_ended = prtd->dma_buffer_start;
075c7125b11c72 Herve Codina 2023-02-17  115  
075c7125b11c72 Herve Codina 2023-02-17  116  	prtd->period_ptr_submitted += prtd->period_size;
075c7125b11c72 Herve Codina 2023-02-17  117  	if (prtd->period_ptr_submitted >= prtd->dma_buffer_end)
075c7125b11c72 Herve Codina 2023-02-17  118  		prtd->period_ptr_submitted = prtd->dma_buffer_start;
075c7125b11c72 Herve Codina 2023-02-17  119  
075c7125b11c72 Herve Codina 2023-02-17 @120  	ret = qmc_chan_read_submit(prtd->qmc_dai->qmc_chan,
075c7125b11c72 Herve Codina 2023-02-17  121  		prtd->period_ptr_submitted, prtd->period_size,
075c7125b11c72 Herve Codina 2023-02-17  122  		qmc_audio_pcm_read_complete, prtd);
075c7125b11c72 Herve Codina 2023-02-17  123  	if (ret) {
075c7125b11c72 Herve Codina 2023-02-17  124  		dev_err(prtd->qmc_dai->dev, "read_submit failed %d\n",
075c7125b11c72 Herve Codina 2023-02-17  125  			ret);
075c7125b11c72 Herve Codina 2023-02-17  126  	}
075c7125b11c72 Herve Codina 2023-02-17  127  
075c7125b11c72 Herve Codina 2023-02-17  128  	snd_pcm_period_elapsed(prtd->substream);
075c7125b11c72 Herve Codina 2023-02-17  129  }
075c7125b11c72 Herve Codina 2023-02-17  130  
075c7125b11c72 Herve Codina 2023-02-17  131  static int qmc_audio_pcm_trigger(struct snd_soc_component *component,
075c7125b11c72 Herve Codina 2023-02-17  132  				 struct snd_pcm_substream *substream, int cmd)
075c7125b11c72 Herve Codina 2023-02-17  133  {
075c7125b11c72 Herve Codina 2023-02-17  134  	struct qmc_dai_prtd *prtd = substream->runtime->private_data;
075c7125b11c72 Herve Codina 2023-02-17  135  	int ret;
075c7125b11c72 Herve Codina 2023-02-17  136  
075c7125b11c72 Herve Codina 2023-02-17  137  	if (!prtd->qmc_dai) {
075c7125b11c72 Herve Codina 2023-02-17  138  		dev_err(component->dev, "qmc_dai is not set\n");
075c7125b11c72 Herve Codina 2023-02-17  139  		return -EINVAL;
075c7125b11c72 Herve Codina 2023-02-17  140  	}
075c7125b11c72 Herve Codina 2023-02-17  141  
075c7125b11c72 Herve Codina 2023-02-17  142  	switch (cmd) {
075c7125b11c72 Herve Codina 2023-02-17  143  	case SNDRV_PCM_TRIGGER_START:
075c7125b11c72 Herve Codina 2023-02-17  144  		if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
075c7125b11c72 Herve Codina 2023-02-17  145  			/* Submit first chunk ... */
075c7125b11c72 Herve Codina 2023-02-17 @146  			ret = qmc_chan_write_submit(prtd->qmc_dai->qmc_chan,
075c7125b11c72 Herve Codina 2023-02-17  147  				prtd->period_ptr_submitted, prtd->period_size,
075c7125b11c72 Herve Codina 2023-02-17  148  				qmc_audio_pcm_write_complete, prtd);
075c7125b11c72 Herve Codina 2023-02-17  149  			if (ret) {
075c7125b11c72 Herve Codina 2023-02-17  150  				dev_err(component->dev, "write_submit failed %d\n",
075c7125b11c72 Herve Codina 2023-02-17  151  					ret);
075c7125b11c72 Herve Codina 2023-02-17  152  				return ret;
075c7125b11c72 Herve Codina 2023-02-17  153  			}
075c7125b11c72 Herve Codina 2023-02-17  154  
075c7125b11c72 Herve Codina 2023-02-17  155  			/* ... prepare next one ... */
075c7125b11c72 Herve Codina 2023-02-17  156  			prtd->period_ptr_submitted += prtd->period_size;
075c7125b11c72 Herve Codina 2023-02-17  157  			if (prtd->period_ptr_submitted >= prtd->dma_buffer_end)
075c7125b11c72 Herve Codina 2023-02-17  158  				prtd->period_ptr_submitted = prtd->dma_buffer_start;
075c7125b11c72 Herve Codina 2023-02-17  159  
075c7125b11c72 Herve Codina 2023-02-17  160  			/* ... and send it */
075c7125b11c72 Herve Codina 2023-02-17 @161  			ret = qmc_chan_write_submit(prtd->qmc_dai->qmc_chan,
075c7125b11c72 Herve Codina 2023-02-17  162  				prtd->period_ptr_submitted, prtd->period_size,
075c7125b11c72 Herve Codina 2023-02-17  163  				qmc_audio_pcm_write_complete, prtd);
075c7125b11c72 Herve Codina 2023-02-17  164  			if (ret) {
075c7125b11c72 Herve Codina 2023-02-17  165  				dev_err(component->dev, "write_submit failed %d\n",
075c7125b11c72 Herve Codina 2023-02-17  166  					ret);
075c7125b11c72 Herve Codina 2023-02-17  167  				return ret;
075c7125b11c72 Herve Codina 2023-02-17  168  			}
075c7125b11c72 Herve Codina 2023-02-17  169  		} else {
075c7125b11c72 Herve Codina 2023-02-17  170  			/* Submit first chunk ... */
075c7125b11c72 Herve Codina 2023-02-17 @171  			ret = qmc_chan_read_submit(prtd->qmc_dai->qmc_chan,
075c7125b11c72 Herve Codina 2023-02-17  172  				prtd->period_ptr_submitted, prtd->period_size,
075c7125b11c72 Herve Codina 2023-02-17  173  				qmc_audio_pcm_read_complete, prtd);
075c7125b11c72 Herve Codina 2023-02-17  174  			if (ret) {
075c7125b11c72 Herve Codina 2023-02-17  175  				dev_err(component->dev, "read_submit failed %d\n",
075c7125b11c72 Herve Codina 2023-02-17  176  					ret);
075c7125b11c72 Herve Codina 2023-02-17  177  				return ret;
075c7125b11c72 Herve Codina 2023-02-17  178  			}
075c7125b11c72 Herve Codina 2023-02-17  179  
075c7125b11c72 Herve Codina 2023-02-17  180  			/* ... prepare next one ... */
075c7125b11c72 Herve Codina 2023-02-17  181  			prtd->period_ptr_submitted += prtd->period_size;
075c7125b11c72 Herve Codina 2023-02-17  182  			if (prtd->period_ptr_submitted >= prtd->dma_buffer_end)
075c7125b11c72 Herve Codina 2023-02-17  183  				prtd->period_ptr_submitted = prtd->dma_buffer_start;
075c7125b11c72 Herve Codina 2023-02-17  184  
075c7125b11c72 Herve Codina 2023-02-17  185  			/* ... and send it */
075c7125b11c72 Herve Codina 2023-02-17  186  			ret = qmc_chan_read_submit(prtd->qmc_dai->qmc_chan,
075c7125b11c72 Herve Codina 2023-02-17  187  				prtd->period_ptr_submitted, prtd->period_size,
075c7125b11c72 Herve Codina 2023-02-17  188  				qmc_audio_pcm_read_complete, prtd);
075c7125b11c72 Herve Codina 2023-02-17  189  			if (ret) {
075c7125b11c72 Herve Codina 2023-02-17  190  				dev_err(component->dev, "write_submit failed %d\n",
075c7125b11c72 Herve Codina 2023-02-17  191  					ret);
075c7125b11c72 Herve Codina 2023-02-17  192  				return ret;
075c7125b11c72 Herve Codina 2023-02-17  193  			}
075c7125b11c72 Herve Codina 2023-02-17  194  		}
075c7125b11c72 Herve Codina 2023-02-17  195  		break;
075c7125b11c72 Herve Codina 2023-02-17  196  
075c7125b11c72 Herve Codina 2023-02-17  197  	case SNDRV_PCM_TRIGGER_RESUME:
075c7125b11c72 Herve Codina 2023-02-17  198  	case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
075c7125b11c72 Herve Codina 2023-02-17  199  		break;
075c7125b11c72 Herve Codina 2023-02-17  200  
075c7125b11c72 Herve Codina 2023-02-17  201  	case SNDRV_PCM_TRIGGER_STOP:
075c7125b11c72 Herve Codina 2023-02-17  202  	case SNDRV_PCM_TRIGGER_SUSPEND:
075c7125b11c72 Herve Codina 2023-02-17  203  	case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
075c7125b11c72 Herve Codina 2023-02-17  204  		break;
075c7125b11c72 Herve Codina 2023-02-17  205  
075c7125b11c72 Herve Codina 2023-02-17  206  	default:
075c7125b11c72 Herve Codina 2023-02-17  207  		return -EINVAL;
075c7125b11c72 Herve Codina 2023-02-17  208  	}
075c7125b11c72 Herve Codina 2023-02-17  209  
075c7125b11c72 Herve Codina 2023-02-17  210  	return 0;
075c7125b11c72 Herve Codina 2023-02-17  211  }
075c7125b11c72 Herve Codina 2023-02-17  212  

:::::: The code at line 146 was first introduced by commit
:::::: 075c7125b11c72e7933401d73000d6d151196072 ASoC: fsl: Add support for QMC audio

:::::: TO: Herve Codina <herve.codina@...tlin.com>
:::::: CC: Mark Brown <broonie@...nel.org>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

View attachment "config" of type "text/plain" (175371 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ