[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202211241959.2rOh2Lp5-lkp@intel.com>
Date: Thu, 24 Nov 2022 19:08:21 +0800
From: kernel test robot <lkp@...el.com>
To: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
Mark Brown <broonie@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>
Subject: sound/soc/qcom/common.c:215: undefined reference to
`sdw_prepare_stream'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c3eb11fbb826879be773c137f281569efce67aa8
commit: 3bd975f3ae0a245e4b851c2b0c97b0a71e5359d6 ASoC: qcom: sm8250: move some code to common
date: 9 weeks ago
config: arc-buildonly-randconfig-r004-20221124
compiler: arceb-elf-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=3bd975f3ae0a245e4b851c2b0c97b0a71e5359d6
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 3bd975f3ae0a245e4b851c2b0c97b0a71e5359d6
# 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=arc SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
arceb-elf-ld: sound/soc/qcom/common.o: in function `qcom_snd_sdw_prepare':
>> sound/soc/qcom/common.c:215: undefined reference to `sdw_prepare_stream'
>> arceb-elf-ld: sound/soc/qcom/common.c:215: undefined reference to `sdw_prepare_stream'
>> arceb-elf-ld: sound/soc/qcom/common.c:227: undefined reference to `sdw_enable_stream'
>> arceb-elf-ld: sound/soc/qcom/common.c:227: undefined reference to `sdw_enable_stream'
>> arceb-elf-ld: sound/soc/qcom/common.c:210: undefined reference to `sdw_disable_stream'
>> arceb-elf-ld: sound/soc/qcom/common.c:210: undefined reference to `sdw_disable_stream'
>> arceb-elf-ld: sound/soc/qcom/common.c:211: undefined reference to `sdw_deprepare_stream'
>> arceb-elf-ld: sound/soc/qcom/common.c:211: undefined reference to `sdw_deprepare_stream'
arceb-elf-ld: sound/soc/qcom/common.c:229: undefined reference to `sdw_deprepare_stream'
arceb-elf-ld: sound/soc/qcom/common.c:229: undefined reference to `sdw_deprepare_stream'
arceb-elf-ld: sound/soc/qcom/common.o: in function `qcom_snd_sdw_hw_free':
>> sound/soc/qcom/common.c:285: undefined reference to `sdw_disable_stream'
>> arceb-elf-ld: sound/soc/qcom/common.c:285: undefined reference to `sdw_disable_stream'
arceb-elf-ld: sound/soc/qcom/common.c:286: undefined reference to `sdw_deprepare_stream'
arceb-elf-ld: sound/soc/qcom/common.c:286: undefined reference to `sdw_deprepare_stream'
pahole: .tmp_vmlinux.btf: No such file or directory
.btf.vmlinux.bin.o: file not recognized: file format not recognized
vim +215 sound/soc/qcom/common.c
182
183 #if IS_ENABLED(CONFIG_SOUNDWIRE)
184 int qcom_snd_sdw_prepare(struct snd_pcm_substream *substream,
185 struct sdw_stream_runtime *sruntime,
186 bool *stream_prepared)
187 {
188 struct snd_soc_pcm_runtime *rtd = substream->private_data;
189 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0);
190 int ret;
191
192 if (!sruntime)
193 return 0;
194
195 switch (cpu_dai->id) {
196 case WSA_CODEC_DMA_RX_0:
197 case WSA_CODEC_DMA_RX_1:
198 case RX_CODEC_DMA_RX_0:
199 case RX_CODEC_DMA_RX_1:
200 case TX_CODEC_DMA_TX_0:
201 case TX_CODEC_DMA_TX_1:
202 case TX_CODEC_DMA_TX_2:
203 case TX_CODEC_DMA_TX_3:
204 break;
205 default:
206 return 0;
207 }
208
209 if (*stream_prepared) {
> 210 sdw_disable_stream(sruntime);
> 211 sdw_deprepare_stream(sruntime);
212 *stream_prepared = false;
213 }
214
> 215 ret = sdw_prepare_stream(sruntime);
216 if (ret)
217 return ret;
218
219 /**
220 * NOTE: there is a strict hw requirement about the ordering of port
221 * enables and actual WSA881x PA enable. PA enable should only happen
222 * after soundwire ports are enabled if not DC on the line is
223 * accumulated resulting in Click/Pop Noise
224 * PA enable/mute are handled as part of codec DAPM and digital mute.
225 */
226
> 227 ret = sdw_enable_stream(sruntime);
228 if (ret) {
229 sdw_deprepare_stream(sruntime);
230 return ret;
231 }
232 *stream_prepared = true;
233
234 return ret;
235 }
236 EXPORT_SYMBOL_GPL(qcom_snd_sdw_prepare);
237
238 int qcom_snd_sdw_hw_params(struct snd_pcm_substream *substream,
239 struct snd_pcm_hw_params *params,
240 struct sdw_stream_runtime **psruntime)
241 {
242 struct snd_soc_pcm_runtime *rtd = substream->private_data;
243 struct snd_soc_dai *codec_dai;
244 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0);
245 struct sdw_stream_runtime *sruntime;
246 int i;
247
248 switch (cpu_dai->id) {
249 case WSA_CODEC_DMA_RX_0:
250 case RX_CODEC_DMA_RX_0:
251 case RX_CODEC_DMA_RX_1:
252 case TX_CODEC_DMA_TX_0:
253 case TX_CODEC_DMA_TX_1:
254 case TX_CODEC_DMA_TX_2:
255 case TX_CODEC_DMA_TX_3:
256 for_each_rtd_codec_dais(rtd, i, codec_dai) {
257 sruntime = snd_soc_dai_get_stream(codec_dai, substream->stream);
258 if (sruntime != ERR_PTR(-ENOTSUPP))
259 *psruntime = sruntime;
260 }
261 break;
262 }
263
264 return 0;
265
266 }
267 EXPORT_SYMBOL_GPL(qcom_snd_sdw_hw_params);
268
269 int qcom_snd_sdw_hw_free(struct snd_pcm_substream *substream,
270 struct sdw_stream_runtime *sruntime, bool *stream_prepared)
271 {
272 struct snd_soc_pcm_runtime *rtd = substream->private_data;
273 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0);
274
275 switch (cpu_dai->id) {
276 case WSA_CODEC_DMA_RX_0:
277 case WSA_CODEC_DMA_RX_1:
278 case RX_CODEC_DMA_RX_0:
279 case RX_CODEC_DMA_RX_1:
280 case TX_CODEC_DMA_TX_0:
281 case TX_CODEC_DMA_TX_1:
282 case TX_CODEC_DMA_TX_2:
283 case TX_CODEC_DMA_TX_3:
284 if (sruntime && *stream_prepared) {
> 285 sdw_disable_stream(sruntime);
286 sdw_deprepare_stream(sruntime);
287 *stream_prepared = false;
288 }
289 break;
290 default:
291 break;
292 }
293
294 return 0;
295 }
296 EXPORT_SYMBOL_GPL(qcom_snd_sdw_hw_free);
297 #endif
298
--
0-DAY CI Kernel Test Service
https://01.org/lkp
View attachment "config" of type "text/plain" (154876 bytes)
Powered by blists - more mailing lists