[linux-next:master 3956/5128] sound/soc/sof/intel/hda-codec.c:132:35: error: use of undeclared identifier 'CODEC_PROBE_RETRIES'
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Fri Dec 3 15:00:37 CET 2021
[adding alsa-devel]
On 12/3/21 5:25 AM, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head: 7afeac307a9561e3a93682c1e7eb22f918aa1187
> commit: 046aede2f847676f93a2ea4f48b77909c51dba40 [3956/5128] ASoC: SOF: Intel: Retry codec probing if it fails
> config: i386-randconfig-r033-20211202 (https://download.01.org/0day-ci/archive/20211203/202112031943.Twg19fWT-lkp@intel.com/config)
> compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 4b553297ef3ee4dc2119d5429adf3072e90fac38)
> 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/next/linux-next.git/commit/?id=046aede2f847676f93a2ea4f48b77909c51dba40
> git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> git fetch --no-tags linux-next master
> git checkout 046aede2f847676f93a2ea4f48b77909c51dba40
> # save the config file to linux build tree
> mkdir build_dir
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp at intel.com>
>
> All errors (new ones prefixed by >>):
>
>>> sound/soc/sof/intel/hda-codec.c:132:35: error: use of undeclared identifier 'CODEC_PROBE_RETRIES'
> } while (resp == -1 && retry++ < CODEC_PROBE_RETRIES);
> ^
> 1 error generated.
>
>
> vim +/CODEC_PROBE_RETRIES +132 sound/soc/sof/intel/hda-codec.c
>
> 110
> 111 /* probe individual codec */
> 112 static int hda_codec_probe(struct snd_sof_dev *sdev, int address,
> 113 bool hda_codec_use_common_hdmi)
> 114 {
> 115 #if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
> 116 struct hdac_hda_priv *hda_priv;
> 117 struct hda_codec *codec;
> 118 int type = HDA_DEV_LEGACY;
> 119 #endif
> 120 struct hda_bus *hbus = sof_to_hbus(sdev);
> 121 struct hdac_device *hdev;
> 122 u32 hda_cmd = (address << 28) | (AC_NODE_ROOT << 20) |
> 123 (AC_VERB_PARAMETERS << 8) | AC_PAR_VENDOR_ID;
> 124 u32 resp = -1;
> 125 int ret, retry = 0;
> 126
> 127 do {
> 128 mutex_lock(&hbus->core.cmd_mutex);
> 129 snd_hdac_bus_send_cmd(&hbus->core, hda_cmd);
> 130 snd_hdac_bus_get_response(&hbus->core, address, &resp);
> 131 mutex_unlock(&hbus->core.cmd_mutex);
> > 132 } while (resp == -1 && retry++ < CODEC_PROBE_RETRIES);
Indeed, something's not right here.
CODEC_PROBE_RETRIES is defined conditionally
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
#define IDISP_VID_INTEL 0x80860000
#define CODEC_PROBE_RETRIES 3
but it's used unconditionally.
We could define this constant unconditionally as a quick fix, but this
compilation problem might expose a larger problem.
Kai, I wonder if this is code from lines 120 to 139 that we didn't
update when we moved to support HDMI with the generic HDaudio parts? I
don't see why we could even try to send a command on the bus is there's
no audio codec support?
hda_codec_use_common_hdmi should be the default assumption now, I don't
think we support the old solution, do we?
> 133
> 134 if (resp == -1)
> 135 return -EIO;
> 136 dev_dbg(sdev->dev, "HDA codec #%d probed OK: response: %x\n",
> 137 address, resp);
> 138
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
>
More information about the Alsa-devel
mailing list