Re: [PREEMPT_RT PATCH 2/2] blktrace: switch trace spinlock to a raw spinlock
by kernel test robot
Hi Wander,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on axboe-block/for-next]
[also build test ERROR on linux/master linus/master v5.16-rc4]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Wander-Lairson-Costa/Fix-warning...
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: nds32-randconfig-r012-20211210 (https://download.01.org/0day-ci/archive/20211211/202112111053.CFUB5OjZ-lk...)
compiler: nds32le-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://github.com/0day-ci/linux/commit/78ab0023d3b1ba3f3dc5703b4d4fac1dd...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Wander-Lairson-Costa/Fix-warnings-in-blktrace/20211211-044405
git checkout 78ab0023d3b1ba3f3dc5703b4d4fac1dd24aa0c2
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nds32 SHELL=/bin/bash drivers/vfio/ kernel/trace/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
kernel/trace/blktrace.c: In function '__trace_note_message':
kernel/trace/blktrace.c:148:63: warning: parameter 'blkcg' set but not used [-Wunused-but-set-parameter]
148 | void __trace_note_message(struct blk_trace *bt, struct blkcg *blkcg,
| ~~~~~~~~~~~~~~^~~~~
kernel/trace/blktrace.c: In function 'blk_trace_remove_queue':
>> kernel/trace/blktrace.c:1611:31: error: passing argument 1 of 'spin_lock_irq' from incompatible pointer type [-Werror=incompatible-pointer-types]
1611 | spin_lock_irq(&running_trace_lock);
| ^~~~~~~~~~~~~~~~~~~
| |
| raw_spinlock_t * {aka struct raw_spinlock *}
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/blkdev.h:5,
from kernel/trace/blktrace.c:10:
include/linux/spinlock.h:372:55: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'raw_spinlock_t *' {aka 'struct raw_spinlock *'}
372 | static __always_inline void spin_lock_irq(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
>> kernel/trace/blktrace.c:1613:33: error: passing argument 1 of 'spin_unlock_irq' from incompatible pointer type [-Werror=incompatible-pointer-types]
1613 | spin_unlock_irq(&running_trace_lock);
| ^~~~~~~~~~~~~~~~~~~
| |
| raw_spinlock_t * {aka struct raw_spinlock *}
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/blkdev.h:5,
from kernel/trace/blktrace.c:10:
include/linux/spinlock.h:397:57: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'raw_spinlock_t *' {aka 'struct raw_spinlock *'}
397 | static __always_inline void spin_unlock_irq(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
cc1: some warnings being treated as errors
vim +/spin_lock_irq +1611 kernel/trace/blktrace.c
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1599
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1600 static int blk_trace_remove_queue(struct request_queue *q)
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1601 {
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1602 struct blk_trace *bt;
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1603
c3dbe541ef7775 kernel/trace/blktrace.c Jan Kara 2020-06-05 1604 bt = rcu_replace_pointer(q->blk_trace, NULL,
85e0cbbb8a7953 kernel/trace/blktrace.c Luis Chamberlain 2020-06-19 1605 lockdep_is_held(&q->debugfs_mutex));
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1606 if (bt == NULL)
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1607 return -EINVAL;
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1608
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 1609 if (bt->trace_state == Blktrace_running) {
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 1610 bt->trace_state = Blktrace_stopped;
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 @1611 spin_lock_irq(&running_trace_lock);
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 1612 list_del_init(&bt->running_list);
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 @1613 spin_unlock_irq(&running_trace_lock);
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 1614 relay_flush(bt->rchan);
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 1615 }
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 1616
a6da0024ffc19e kernel/trace/blktrace.c Jens Axboe 2017-11-05 1617 put_probe_ref();
c780e86dd48ef6 kernel/trace/blktrace.c Jan Kara 2020-02-06 1618 synchronize_rcu();
ad5dd5493a55e4 kernel/trace/blktrace.c Li Zefan 2009-03-27 1619 blk_trace_free(bt);
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1620 return 0;
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1621 }
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1622
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[plbossart-sound:fix/ipc-fw-trace-abstraction 12/14] sound/soc/sof/imx/imx8.c:615:50: warning: missing braces around initializer
by kernel test robot
tree: https://github.com/thesofproject/linux fix/ipc-fw-trace-abstraction
head: b46f552fc27584a020137e4f37ada988ee09b51f
commit: 2ffb46536a872c0089a9c25cf85065486dd99175 [12/14] ASoC: SOF: add path indirection to each IPC type
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20211211/202112111021.1WugvJ5w-lk...)
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://github.com/thesofproject/linux/commit/2ffb46536a872c0089a9c25cf85...
git remote add thesofproject https://github.com/thesofproject/linux
git fetch --no-tags thesofproject plbossart-sound/fix/ipc-fw-trace-abstraction
git checkout 2ffb46536a872c0089a9c25cf85065486dd99175
# save the config file 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/soc/sof/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
sound/soc/sof/imx/imx8.c:506:10: error: 'const struct snd_sof_dsp_ops' has no member named 'send_msg'
506 | .send_msg = imx8_send_msg,
| ^~~~~~~~
sound/soc/sof/imx/imx8.c:506:27: error: initialization of 'const struct snd_sof_dsp_ipc_ops *' from incompatible pointer type 'int (*)(struct snd_sof_dev *, struct snd_sof_ipc_msg *)' [-Werror=incompatible-pointer-types]
506 | .send_msg = imx8_send_msg,
| ^~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:506:27: note: (near initialization for 'sof_imx8_ops.ipc_ops')
sound/soc/sof/imx/imx8.c:507:10: error: 'const struct snd_sof_dsp_ops' has no member named 'fw_ready'
507 | .fw_ready = sof_fw_ready,
| ^~~~~~~~
sound/soc/sof/imx/imx8.c:507:27: error: initialization of 'const struct snd_sof_dsp_fw_ops *' from incompatible pointer type 'int (*)(struct snd_sof_dev *, u32)' {aka 'int (*)(struct snd_sof_dev *, unsigned int)'} [-Werror=incompatible-pointer-types]
507 | .fw_ready = sof_fw_ready,
| ^~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:507:27: note: (near initialization for 'sof_imx8_ops.fw_ops')
sound/soc/sof/imx/imx8.c:511:10: error: 'const struct snd_sof_dsp_ops' has no member named 'ipc_msg_data'
511 | .ipc_msg_data = sof_ipc_msg_data,
| ^~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:511:27: error: initialization of 'int (*)(struct snd_sof_dev *, void *)' from incompatible pointer type 'int (*)(struct snd_sof_dev *, struct snd_pcm_substream *, void *, size_t)' {aka 'int (*)(struct snd_sof_dev *, struct snd_pcm_substream *, void *, unsigned int)'} [-Werror=incompatible-pointer-types]
511 | .ipc_msg_data = sof_ipc_msg_data,
| ^~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:511:27: note: (near initialization for 'sof_imx8_ops.machine_register')
sound/soc/sof/imx/imx8.c:512:10: error: 'const struct snd_sof_dsp_ops' has no member named 'set_stream_data_offset'
512 | .set_stream_data_offset = sof_set_stream_data_offset,
| ^~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:512:35: error: initialization of 'void (*)(struct snd_sof_dev *, void *)' from incompatible pointer type 'int (*)(struct snd_sof_dev *, struct snd_pcm_substream *, size_t)' {aka 'int (*)(struct snd_sof_dev *, struct snd_pcm_substream *, unsigned int)'} [-Werror=incompatible-pointer-types]
512 | .set_stream_data_offset = sof_set_stream_data_offset,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:512:35: note: (near initialization for 'sof_imx8_ops.machine_unregister')
sound/soc/sof/imx/imx8.c:515:10: error: 'const struct snd_sof_dsp_ops' has no member named 'load_module'
515 | .load_module = snd_sof_parse_module_memcpy,
| ^~~~~~~~~~~
sound/soc/sof/imx/imx8.c:515:27: error: initialization of 'struct snd_soc_acpi_mach * (*)(struct snd_sof_dev *)' from incompatible pointer type 'int (*)(struct snd_sof_dev *, struct snd_sof_mod_hdr *)' [-Werror=incompatible-pointer-types]
515 | .load_module = snd_sof_parse_module_memcpy,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:515:27: note: (near initialization for 'sof_imx8_ops.machine_select')
sound/soc/sof/imx/imx8.c:518:10: error: 'const struct snd_sof_dsp_ops' has no member named 'load_firmware'
518 | .load_firmware = snd_sof_load_firmware_memcpy,
| ^~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:518:27: warning: initialized field overwritten [-Woverride-init]
518 | .load_firmware = snd_sof_load_firmware_memcpy,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:518:27: note: (near initialization for 'sof_imx8_ops.get_mailbox_offset')
sound/soc/sof/imx/imx8.c:569:10: error: 'const struct snd_sof_dsp_ops' has no member named 'send_msg'
569 | .send_msg = imx8_send_msg,
| ^~~~~~~~
sound/soc/sof/imx/imx8.c:569:27: error: initialization of 'const struct snd_sof_dsp_ipc_ops *' from incompatible pointer type 'int (*)(struct snd_sof_dev *, struct snd_sof_ipc_msg *)' [-Werror=incompatible-pointer-types]
569 | .send_msg = imx8_send_msg,
| ^~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:569:27: note: (near initialization for 'sof_imx8x_ops.ipc_ops')
sound/soc/sof/imx/imx8.c:570:10: error: 'const struct snd_sof_dsp_ops' has no member named 'fw_ready'
570 | .fw_ready = sof_fw_ready,
| ^~~~~~~~
sound/soc/sof/imx/imx8.c:570:27: error: initialization of 'const struct snd_sof_dsp_fw_ops *' from incompatible pointer type 'int (*)(struct snd_sof_dev *, u32)' {aka 'int (*)(struct snd_sof_dev *, unsigned int)'} [-Werror=incompatible-pointer-types]
570 | .fw_ready = sof_fw_ready,
| ^~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:570:27: note: (near initialization for 'sof_imx8x_ops.fw_ops')
sound/soc/sof/imx/imx8.c:574:10: error: 'const struct snd_sof_dsp_ops' has no member named 'ipc_msg_data'
574 | .ipc_msg_data = sof_ipc_msg_data,
| ^~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:574:27: error: initialization of 'int (*)(struct snd_sof_dev *, void *)' from incompatible pointer type 'int (*)(struct snd_sof_dev *, struct snd_pcm_substream *, void *, size_t)' {aka 'int (*)(struct snd_sof_dev *, struct snd_pcm_substream *, void *, unsigned int)'} [-Werror=incompatible-pointer-types]
574 | .ipc_msg_data = sof_ipc_msg_data,
| ^~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:574:27: note: (near initialization for 'sof_imx8x_ops.machine_register')
sound/soc/sof/imx/imx8.c:575:10: error: 'const struct snd_sof_dsp_ops' has no member named 'set_stream_data_offset'
575 | .set_stream_data_offset = sof_set_stream_data_offset,
| ^~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:575:35: error: initialization of 'void (*)(struct snd_sof_dev *, void *)' from incompatible pointer type 'int (*)(struct snd_sof_dev *, struct snd_pcm_substream *, size_t)' {aka 'int (*)(struct snd_sof_dev *, struct snd_pcm_substream *, unsigned int)'} [-Werror=incompatible-pointer-types]
575 | .set_stream_data_offset = sof_set_stream_data_offset,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:575:35: note: (near initialization for 'sof_imx8x_ops.machine_unregister')
sound/soc/sof/imx/imx8.c:578:10: error: 'const struct snd_sof_dsp_ops' has no member named 'load_module'
578 | .load_module = snd_sof_parse_module_memcpy,
| ^~~~~~~~~~~
sound/soc/sof/imx/imx8.c:578:27: error: initialization of 'struct snd_soc_acpi_mach * (*)(struct snd_sof_dev *)' from incompatible pointer type 'int (*)(struct snd_sof_dev *, struct snd_sof_mod_hdr *)' [-Werror=incompatible-pointer-types]
578 | .load_module = snd_sof_parse_module_memcpy,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:578:27: note: (near initialization for 'sof_imx8x_ops.machine_select')
sound/soc/sof/imx/imx8.c:581:10: error: 'const struct snd_sof_dsp_ops' has no member named 'load_firmware'
581 | .load_firmware = snd_sof_load_firmware_memcpy,
| ^~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:581:27: warning: initialized field overwritten [-Woverride-init]
581 | .load_firmware = snd_sof_load_firmware_memcpy,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8.c:581:27: note: (near initialization for 'sof_imx8x_ops.get_mailbox_offset')
>> sound/soc/sof/imx/imx8.c:615:50: warning: missing braces around initializer [-Wmissing-braces]
615 | static struct sof_dev_desc sof_of_imx8qxp_desc = {
| ^
616 | .default_fw_path = "imx/sof",
| { }
617 | .default_tplg_path = "imx/sof-tplg",
| { }
sound/soc/sof/imx/imx8.c:623:49: warning: missing braces around initializer [-Wmissing-braces]
623 | static struct sof_dev_desc sof_of_imx8qm_desc = {
| ^
624 | .default_fw_path = "imx/sof",
| { }
625 | .default_tplg_path = "imx/sof-tplg",
| { }
cc1: some warnings being treated as errors
--
sound/soc/sof/imx/imx8m.c:431:10: error: 'const struct snd_sof_dsp_ops' has no member named 'send_msg'
431 | .send_msg = imx8m_send_msg,
| ^~~~~~~~
sound/soc/sof/imx/imx8m.c:431:27: error: initialization of 'const struct snd_sof_dsp_ipc_ops *' from incompatible pointer type 'int (*)(struct snd_sof_dev *, struct snd_sof_ipc_msg *)' [-Werror=incompatible-pointer-types]
431 | .send_msg = imx8m_send_msg,
| ^~~~~~~~~~~~~~
sound/soc/sof/imx/imx8m.c:431:27: note: (near initialization for 'sof_imx8m_ops.ipc_ops')
sound/soc/sof/imx/imx8m.c:432:10: error: 'const struct snd_sof_dsp_ops' has no member named 'fw_ready'
432 | .fw_ready = sof_fw_ready,
| ^~~~~~~~
sound/soc/sof/imx/imx8m.c:432:27: error: initialization of 'const struct snd_sof_dsp_fw_ops *' from incompatible pointer type 'int (*)(struct snd_sof_dev *, u32)' {aka 'int (*)(struct snd_sof_dev *, unsigned int)'} [-Werror=incompatible-pointer-types]
432 | .fw_ready = sof_fw_ready,
| ^~~~~~~~~~~~
sound/soc/sof/imx/imx8m.c:432:27: note: (near initialization for 'sof_imx8m_ops.fw_ops')
sound/soc/sof/imx/imx8m.c:436:10: error: 'const struct snd_sof_dsp_ops' has no member named 'ipc_msg_data'
436 | .ipc_msg_data = sof_ipc_msg_data,
| ^~~~~~~~~~~~
sound/soc/sof/imx/imx8m.c:436:27: error: initialization of 'int (*)(struct snd_sof_dev *, void *)' from incompatible pointer type 'int (*)(struct snd_sof_dev *, struct snd_pcm_substream *, void *, size_t)' {aka 'int (*)(struct snd_sof_dev *, struct snd_pcm_substream *, void *, unsigned int)'} [-Werror=incompatible-pointer-types]
436 | .ipc_msg_data = sof_ipc_msg_data,
| ^~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8m.c:436:27: note: (near initialization for 'sof_imx8m_ops.machine_register')
sound/soc/sof/imx/imx8m.c:437:10: error: 'const struct snd_sof_dsp_ops' has no member named 'set_stream_data_offset'
437 | .set_stream_data_offset = sof_set_stream_data_offset,
| ^~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8m.c:437:35: error: initialization of 'void (*)(struct snd_sof_dev *, void *)' from incompatible pointer type 'int (*)(struct snd_sof_dev *, struct snd_pcm_substream *, size_t)' {aka 'int (*)(struct snd_sof_dev *, struct snd_pcm_substream *, unsigned int)'} [-Werror=incompatible-pointer-types]
437 | .set_stream_data_offset = sof_set_stream_data_offset,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8m.c:437:35: note: (near initialization for 'sof_imx8m_ops.machine_unregister')
sound/soc/sof/imx/imx8m.c:440:10: error: 'const struct snd_sof_dsp_ops' has no member named 'load_module'
440 | .load_module = snd_sof_parse_module_memcpy,
| ^~~~~~~~~~~
sound/soc/sof/imx/imx8m.c:440:27: error: initialization of 'struct snd_soc_acpi_mach * (*)(struct snd_sof_dev *)' from incompatible pointer type 'int (*)(struct snd_sof_dev *, struct snd_sof_mod_hdr *)' [-Werror=incompatible-pointer-types]
440 | .load_module = snd_sof_parse_module_memcpy,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8m.c:440:27: note: (near initialization for 'sof_imx8m_ops.machine_select')
sound/soc/sof/imx/imx8m.c:443:10: error: 'const struct snd_sof_dsp_ops' has no member named 'load_firmware'
443 | .load_firmware = snd_sof_load_firmware_memcpy,
| ^~~~~~~~~~~~~
sound/soc/sof/imx/imx8m.c:443:27: warning: initialized field overwritten [-Woverride-init]
443 | .load_firmware = snd_sof_load_firmware_memcpy,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/imx/imx8m.c:443:27: note: (near initialization for 'sof_imx8m_ops.get_mailbox_offset')
>> sound/soc/sof/imx/imx8m.c:474:49: warning: missing braces around initializer [-Wmissing-braces]
474 | static struct sof_dev_desc sof_of_imx8mp_desc = {
| ^
475 | .default_fw_path = "imx/sof",
| { }
476 | .default_tplg_path = "imx/sof-tplg",
| { }
cc1: some warnings being treated as errors
--
sound/soc/sof/mediatek/mt8195/mt8195.c:413:10: error: 'const struct snd_sof_dsp_ops' has no member named 'load_module'
413 | .load_module = snd_sof_parse_module_memcpy,
| ^~~~~~~~~~~
sound/soc/sof/mediatek/mt8195/mt8195.c:413:27: error: initialization of 'int (*)(struct snd_sof_dev *)' from incompatible pointer type 'int (*)(struct snd_sof_dev *, struct snd_sof_mod_hdr *)' [-Werror=incompatible-pointer-types]
413 | .load_module = snd_sof_parse_module_memcpy,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/mediatek/mt8195/mt8195.c:413:27: note: (near initialization for 'sof_mt8195_ops.get_mailbox_offset')
sound/soc/sof/mediatek/mt8195/mt8195.c:415:10: error: 'const struct snd_sof_dsp_ops' has no member named 'load_firmware'
415 | .load_firmware = snd_sof_load_firmware_memcpy,
| ^~~~~~~~~~~~~
sound/soc/sof/mediatek/mt8195/mt8195.c:415:27: error: initialization of 'int (*)(struct snd_sof_dev *, u32)' {aka 'int (*)(struct snd_sof_dev *, unsigned int)'} from incompatible pointer type 'int (*)(struct snd_sof_dev *)' [-Werror=incompatible-pointer-types]
415 | .load_firmware = snd_sof_load_firmware_memcpy,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/sof/mediatek/mt8195/mt8195.c:415:27: note: (near initialization for 'sof_mt8195_ops.get_window_offset')
>> sound/soc/sof/mediatek/mt8195/mt8195.c:436:55: warning: missing braces around initializer [-Wmissing-braces]
436 | static const struct sof_dev_desc sof_of_mt8195_desc = {
| ^
437 | .default_fw_path = "mediatek/sof",
| { }
438 | .default_tplg_path = "mediatek/sof-tplg",
| { }
cc1: some warnings being treated as errors
vim +615 sound/soc/sof/imx/imx8.c
53e3e4042de5be Daniel Baluta 2021-11-23 614
53e3e4042de5be Daniel Baluta 2021-11-23 @615 static struct sof_dev_desc sof_of_imx8qxp_desc = {
53e3e4042de5be Daniel Baluta 2021-11-23 616 .default_fw_path = "imx/sof",
53e3e4042de5be Daniel Baluta 2021-11-23 617 .default_tplg_path = "imx/sof-tplg",
53e3e4042de5be Daniel Baluta 2021-11-23 618 .default_fw_filename = "sof-imx8x.ri",
53e3e4042de5be Daniel Baluta 2021-11-23 619 .nocodec_tplg_filename = "sof-imx8-nocodec.tplg",
53e3e4042de5be Daniel Baluta 2021-11-23 620 .ops = &sof_imx8x_ops,
53e3e4042de5be Daniel Baluta 2021-11-23 621 };
53e3e4042de5be Daniel Baluta 2021-11-23 622
:::::: The code at line 615 was first introduced by commit
:::::: 53e3e4042de5bee2eb847faa3a70f993683b6048 ASoC: SOF: OF: Avoid reverse module dependency
:::::: TO: Daniel Baluta <daniel.baluta(a)nxp.com>
:::::: CC: Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH] perf/core: Fix cgroup event list management
by kernel test robot
Hi Namhyung,
I love your patch! Yet something to improve:
[auto build test ERROR on tip/perf/core]
[also build test ERROR on tip/master linux/master linus/master v5.16-rc4]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Namhyung-Kim/perf-core-Fix-cgrou...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git a9f4a6e92b3b319296fb078da2615f618f6cd80c
config: hexagon-randconfig-r045-20211210 (https://download.01.org/0day-ci/archive/20211211/202112111047.pgCIWSVK-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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://github.com/0day-ci/linux/commit/226bdbf0501464bc088d582c02d0495a6...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Namhyung-Kim/perf-core-Fix-cgroup-event-list-management/20211211-080810
git checkout 226bdbf0501464bc088d582c02d0495a61a68b7c
# 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=hexagon SHELL=/bin/bash kernel/events/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> kernel/events/core.c:2391:58: error: no member named 'nr_cgroups' in 'struct perf_event_context'
if (!ctx->is_active && (!is_cgroup_event(event) || ctx->nr_cgroups > 1)) {
~~~ ^
kernel/events/core.c:2867:30: error: no member named 'nr_cgroups' in 'struct perf_event_context'
ctx->nr_events && (ctx->nr_cgroups || !is_cgroup_event(event))) {
~~~ ^
2 errors generated.
vim +2391 kernel/events/core.c
2368
2369 /*
2370 * Remove the event from a task's (or a CPU's) list of events.
2371 *
2372 * If event->ctx is a cloned context, callers must make sure that
2373 * every task struct that event->ctx->task could possibly point to
2374 * remains valid. This is OK when called from perf_release since
2375 * that only calls us on the top-level context, which can't be a clone.
2376 * When called from perf_event_exit_task, it's OK because the
2377 * context has been detached from its task.
2378 */
2379 static void perf_remove_from_context(struct perf_event *event, unsigned long flags)
2380 {
2381 struct perf_event_context *ctx = event->ctx;
2382
2383 lockdep_assert_held(&ctx->mutex);
2384
2385 /*
2386 * Because of perf_event_exit_task(), perf_remove_from_context() ought
2387 * to work in the face of TASK_TOMBSTONE, unlike every other
2388 * event_function_call() user.
2389 */
2390 raw_spin_lock_irq(&ctx->lock);
> 2391 if (!ctx->is_active && (!is_cgroup_event(event) || ctx->nr_cgroups > 1)) {
2392 __perf_remove_from_context(event, __get_cpu_context(ctx),
2393 ctx, (void *)flags);
2394 raw_spin_unlock_irq(&ctx->lock);
2395 return;
2396 }
2397 raw_spin_unlock_irq(&ctx->lock);
2398
2399 event_function_call(event, __perf_remove_from_context, (void *)flags);
2400 }
2401
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH] perf/core: Fix cgroup event list management
by kernel test robot
Hi Namhyung,
I love your patch! Yet something to improve:
[auto build test ERROR on tip/perf/core]
[also build test ERROR on tip/master linux/master linus/master v5.16-rc4]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Namhyung-Kim/perf-core-Fix-cgrou...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git a9f4a6e92b3b319296fb078da2615f618f6cd80c
config: csky-randconfig-r012-20211210 (https://download.01.org/0day-ci/archive/20211211/202112111040.jKqB3uu1-lk...)
compiler: csky-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://github.com/0day-ci/linux/commit/226bdbf0501464bc088d582c02d0495a6...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Namhyung-Kim/perf-core-Fix-cgroup-event-list-management/20211211-080810
git checkout 226bdbf0501464bc088d582c02d0495a61a68b7c
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=csky SHELL=/bin/bash kernel/events/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
kernel/events/core.c: In function 'perf_remove_from_context':
>> kernel/events/core.c:2391:63: error: 'struct perf_event_context' has no member named 'nr_cgroups'
2391 | if (!ctx->is_active && (!is_cgroup_event(event) || ctx->nr_cgroups > 1)) {
| ^~
kernel/events/core.c: In function 'perf_install_in_context':
kernel/events/core.c:2867:35: error: 'struct perf_event_context' has no member named 'nr_cgroups'
2867 | ctx->nr_events && (ctx->nr_cgroups || !is_cgroup_event(event))) {
| ^~
vim +2391 kernel/events/core.c
2368
2369 /*
2370 * Remove the event from a task's (or a CPU's) list of events.
2371 *
2372 * If event->ctx is a cloned context, callers must make sure that
2373 * every task struct that event->ctx->task could possibly point to
2374 * remains valid. This is OK when called from perf_release since
2375 * that only calls us on the top-level context, which can't be a clone.
2376 * When called from perf_event_exit_task, it's OK because the
2377 * context has been detached from its task.
2378 */
2379 static void perf_remove_from_context(struct perf_event *event, unsigned long flags)
2380 {
2381 struct perf_event_context *ctx = event->ctx;
2382
2383 lockdep_assert_held(&ctx->mutex);
2384
2385 /*
2386 * Because of perf_event_exit_task(), perf_remove_from_context() ought
2387 * to work in the face of TASK_TOMBSTONE, unlike every other
2388 * event_function_call() user.
2389 */
2390 raw_spin_lock_irq(&ctx->lock);
> 2391 if (!ctx->is_active && (!is_cgroup_event(event) || ctx->nr_cgroups > 1)) {
2392 __perf_remove_from_context(event, __get_cpu_context(ctx),
2393 ctx, (void *)flags);
2394 raw_spin_unlock_irq(&ctx->lock);
2395 return;
2396 }
2397 raw_spin_unlock_irq(&ctx->lock);
2398
2399 event_function_call(event, __perf_remove_from_context, (void *)flags);
2400 }
2401
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[android-common:android12-5.10 6729/13830] arch/arm64/kvm/hyp/include/hyp/switch.h:216:2: error: implicit declaration of function 'sve_cond_update_zcr_vq'
by kernel test robot
Hi Marc,
FYI, the error/warning still remains.
tree: https://android.googlesource.com/kernel/common android12-5.10
head: 2d6a43c0364d3bb0c5c00b0a32b27f4c7740e004
commit: 1105b4d1cef4bc19ad20129a716194268c937eaf [6729/13830] BACKPORT: FROMGIT: KVM: arm64: Rework SVE host-save/guest-restore
config: arm64-randconfig-r022-20211210 (https://download.01.org/0day-ci/archive/20211211/202112111016.v69Cljlc-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android12-5.10
git checkout 1105b4d1cef4bc19ad20129a716194268c937eaf
# 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=arm64 SHELL=/bin/bash arch/arm64/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/arm64/kvm/hyp/nvhe/switch.c:8:
>> arch/arm64/kvm/hyp/include/hyp/switch.h:216:2: error: implicit declaration of function 'sve_cond_update_zcr_vq' [-Werror,-Wimplicit-function-declaration]
sve_cond_update_zcr_vq(vcpu_sve_max_vq(vcpu) - 1, SYS_ZCR_EL2);
^
arch/arm64/kvm/hyp/nvhe/switch.c:282:17: warning: no previous prototype for function 'kvm_unexpected_el2_exception' [-Wmissing-prototypes]
asmlinkage void kvm_unexpected_el2_exception(void)
^
arch/arm64/kvm/hyp/nvhe/switch.c:282:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
asmlinkage void kvm_unexpected_el2_exception(void)
^
static
1 warning and 1 error generated.
--
In file included from arch/arm64/kvm/hyp/nvhe/hyp-main.c:7:
>> arch/arm64/kvm/hyp/include/hyp/switch.h:216:2: error: implicit declaration of function 'sve_cond_update_zcr_vq' [-Werror,-Wimplicit-function-declaration]
sve_cond_update_zcr_vq(vcpu_sve_max_vq(vcpu) - 1, SYS_ZCR_EL2);
^
arch/arm64/kvm/hyp/nvhe/hyp-main.c:233:6: warning: no previous prototype for function 'handle_trap' [-Wmissing-prototypes]
void handle_trap(struct kvm_cpu_context *host_ctxt)
^
arch/arm64/kvm/hyp/nvhe/hyp-main.c:233:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void handle_trap(struct kvm_cpu_context *host_ctxt)
^
static
1 warning and 1 error generated.
--
In file included from arch/arm64/kvm/hyp/nvhe/mem_protect.c:15:
>> arch/arm64/kvm/hyp/include/hyp/switch.h:216:2: error: implicit declaration of function 'sve_cond_update_zcr_vq' [-Werror,-Wimplicit-function-declaration]
sve_cond_update_zcr_vq(vcpu_sve_max_vq(vcpu) - 1, SYS_ZCR_EL2);
^
1 error generated.
--
In file included from arch/arm64/kvm/hyp/vhe/switch.c:8:
>> arch/arm64/kvm/hyp/include/hyp/switch.h:216:2: error: implicit declaration of function 'sve_cond_update_zcr_vq' [-Werror,-Wimplicit-function-declaration]
sve_cond_update_zcr_vq(vcpu_sve_max_vq(vcpu) - 1, SYS_ZCR_EL2);
^
arch/arm64/kvm/hyp/vhe/switch.c:227:17: warning: no previous prototype for function 'kvm_unexpected_el2_exception' [-Wmissing-prototypes]
asmlinkage void kvm_unexpected_el2_exception(void)
^
arch/arm64/kvm/hyp/vhe/switch.c:227:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
asmlinkage void kvm_unexpected_el2_exception(void)
^
static
1 warning and 1 error generated.
vim +/sve_cond_update_zcr_vq +216 arch/arm64/kvm/hyp/include/hyp/switch.h
213
214 static inline void __hyp_sve_restore_guest(struct kvm_vcpu *vcpu)
215 {
> 216 sve_cond_update_zcr_vq(vcpu_sve_max_vq(vcpu) - 1, SYS_ZCR_EL2);
217 __sve_restore_state(vcpu_sve_pffr(vcpu),
218 &vcpu->arch.ctxt.fp_regs.fpsr);
219 write_sysreg_el1(__vcpu_sys_reg(vcpu, ZCR_EL1), SYS_ZCR);
220 }
221
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[thesofproject:pr/3324 1/1] ERROR: modpost: "sof_client_get_debugfs_root" [sound/soc/sof/snd-sof-probes.ko] undefined!
by kernel test robot
tree: https://github.com/thesofproject/linux pr/3324
head: 225a4b72b50b1b9d0d4f10e816de35f850924a03
commit: 225a4b72b50b1b9d0d4f10e816de35f850924a03 [1/1] ASoC: SOF: Kconfig: Move SND_SOC_SOF_DEBUG_PROBES under the debug options
config: x86_64-sof-customedconfig-sof-defconfig (https://download.01.org/0day-ci/archive/20211211/202112110903.Mli07rva-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/thesofproject/linux/commit/225a4b72b50b1b9d0d4f10e816d...
git remote add thesofproject https://github.com/thesofproject/linux
git fetch --no-tags thesofproject pr/3324
git checkout 225a4b72b50b1b9d0d4f10e816de35f850924a03
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
>> ERROR: modpost: "sof_client_get_debugfs_root" [sound/soc/sof/snd-sof-probes.ko] undefined!
>> ERROR: modpost: "__auxiliary_driver_register" [sound/soc/sof/snd-sof-probes.ko] undefined!
>> ERROR: modpost: "sof_client_ipc_tx_message" [sound/soc/sof/snd-sof-probes.ko] undefined!
>> ERROR: modpost: "sof_client_get_fw_state" [sound/soc/sof/snd-sof-probes.ko] undefined!
>> ERROR: modpost: "sof_client_core_module_get" [sound/soc/sof/snd-sof-probes.ko] undefined!
>> ERROR: modpost: "sof_client_core_module_put" [sound/soc/sof/snd-sof-probes.ko] undefined!
>> ERROR: modpost: "auxiliary_driver_unregister" [sound/soc/sof/snd-sof-probes.ko] undefined!
>> ERROR: modpost: "sof_client_get_dma_dev" [sound/soc/sof/snd-sof-probes.ko] undefined!
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for SND_SOC_SOF_DEBUG_PROBES
Depends on SOUND && !UML && SND && SND_SOC && SND_SOC_SOF_TOPLEVEL && SND_SOC_SOF_DEVELOPER_SUPPORT && SND_SOC_SOF_DEBUG
Selected by
- SND_SOC_SOF_HDA_PROBES && SOUND && !UML && SND && SND_SOC && SND_SOC_SOF_TOPLEVEL && SND_SOC_SOF_INTEL_TOPLEVEL && SND_SOC_SOF_PCI
WARNING: unmet direct dependencies detected for SND_SOC_SOF_DEBUG_PROBES
Depends on SOUND && !UML && SND && SND_SOC && SND_SOC_SOF_TOPLEVEL && SND_SOC_SOF_DEVELOPER_SUPPORT && SND_SOC_SOF_DEBUG
Selected by
- SND_SOC_SOF_HDA_PROBES && SOUND && !UML && SND && SND_SOC && SND_SOC_SOF_TOPLEVEL && SND_SOC_SOF_INTEL_TOPLEVEL && SND_SOC_SOF_PCI
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[intel-lts:5.10/KMB-yocto 13/62] drivers/misc/xlink-core/xlink-core.c:1367:18: warning: no previous prototype for 'xlink_write_data_crc'
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 5.10/KMB-yocto
head: afd0620ed0e5ce91d03f51deb2e551721ba97640
commit: 7dbe73d93ab1bc48db1e01693756d1354b577364 [13/62] misc: xlink-pcie: rh: Add PCIe EP driver for Remote Host
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20211211/202112110739.cFgP8oPm-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/intel/linux-intel-lts/commit/7dbe73d93ab1bc48db1e01693...
git remote add intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-lts 5.10/KMB-yocto
git checkout 7dbe73d93ab1bc48db1e01693756d1354b577364
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/misc/xlink-core/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/misc/xlink-core/xlink-core.c:1367:18: warning: no previous prototype for 'xlink_write_data_crc' [-Wmissing-prototypes]
1367 | enum xlink_error xlink_write_data_crc(struct xlink_handle *handle,
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/misc/xlink-core/xlink-core.c:1442:18: warning: no previous prototype for 'xlink_read_data_to_buffer_crc' [-Wmissing-prototypes]
1442 | enum xlink_error xlink_read_data_to_buffer_crc(struct xlink_handle *handle,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/misc/xlink-core/xlink-core.c:1946:6: warning: no previous prototype for 'kmb_xlink_release' [-Wmissing-prototypes]
1946 | void kmb_xlink_release(struct device *dev) { return; }
| ^~~~~~~~~~~~~~~~~
drivers/misc/xlink-core/xlink-core.c: In function 'kmb_xlink_exit':
>> drivers/misc/xlink-core/xlink-core.c:1971:6: warning: variable 'rc' set but not used [-Wunused-but-set-variable]
1971 | int rc, idx;
| ^~
--
>> drivers/misc/xlink-core/xlink-dispatcher.c:124:21: warning: no previous prototype for 'event_dequeue_buffer' [-Wmissing-prototypes]
124 | struct xlink_event *event_dequeue_buffer(struct event_queue *queue)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/misc/xlink-core/xlink-dispatcher.c:139:5: warning: no previous prototype for 'event_enqueue_buffer' [-Wmissing-prototypes]
139 | int event_enqueue_buffer(struct event_queue *queue, struct xlink_event *event)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/misc/xlink-core/xlink-dispatcher.c:471:6: warning: no previous prototype for 'deinit_buffers' [-Wmissing-prototypes]
471 | void deinit_buffers(struct event_queue *queue)
| ^~~~~~~~~~~~~~
>> drivers/misc/xlink-core/xlink-dispatcher.c:485:5: warning: no previous prototype for 'init_buffers' [-Wmissing-prototypes]
485 | int init_buffers(struct event_queue *queue)
| ^~~~~~~~~~~~
drivers/misc/xlink-core/xlink-dispatcher.c:170:12: warning: 'event_enqueue' defined but not used [-Wunused-function]
170 | static int event_enqueue(struct event_queue *queue, struct xlink_event *event)
| ^~~~~~~~~~~~~
vim +/xlink_write_data_crc +1367 drivers/misc/xlink-core/xlink-core.c
da8a22c1d117dc Seamus Kelly 2021-02-04 1366
da8a22c1d117dc Seamus Kelly 2021-02-04 @1367 enum xlink_error xlink_write_data_crc(struct xlink_handle *handle,
da8a22c1d117dc Seamus Kelly 2021-02-04 1368 uint16_t chan, const uint8_t *message,
da8a22c1d117dc Seamus Kelly 2021-02-04 1369 uint32_t size)
da8a22c1d117dc Seamus Kelly 2021-02-04 1370 {
da8a22c1d117dc Seamus Kelly 2021-02-04 1371 enum xlink_error rc = 0;
da8a22c1d117dc Seamus Kelly 2021-02-04 1372 /* To be implemented */
da8a22c1d117dc Seamus Kelly 2021-02-04 1373 return rc;
da8a22c1d117dc Seamus Kelly 2021-02-04 1374 }
da8a22c1d117dc Seamus Kelly 2021-02-04 1375 EXPORT_SYMBOL(xlink_write_data_crc);
da8a22c1d117dc Seamus Kelly 2021-02-04 1376
da8a22c1d117dc Seamus Kelly 2021-02-04 1377 enum xlink_error xlink_read_data(struct xlink_handle *handle,
da8a22c1d117dc Seamus Kelly 2021-02-04 1378 uint16_t chan, uint8_t **pmessage, uint32_t *size)
da8a22c1d117dc Seamus Kelly 2021-02-04 1379 {
da8a22c1d117dc Seamus Kelly 2021-02-04 1380 enum xlink_error rc = 0;
da8a22c1d117dc Seamus Kelly 2021-02-04 1381 struct xlink_link *link = NULL;
da8a22c1d117dc Seamus Kelly 2021-02-04 1382 struct xlink_event *event = NULL;
da8a22c1d117dc Seamus Kelly 2021-02-04 1383 int event_queued = 0;
da8a22c1d117dc Seamus Kelly 2021-02-04 1384
da8a22c1d117dc Seamus Kelly 2021-02-04 1385 if (!xlink || !handle)
da8a22c1d117dc Seamus Kelly 2021-02-04 1386 return X_LINK_ERROR;
da8a22c1d117dc Seamus Kelly 2021-02-04 1387
bda567cbcce896 Shashank A P 2021-04-08 1388 trace_xlink_read(handle->sw_device_id, chan, *size);
da8a22c1d117dc Seamus Kelly 2021-02-04 1389 link = get_link_by_sw_device_id(handle->sw_device_id);
da8a22c1d117dc Seamus Kelly 2021-02-04 1390 if (!link)
da8a22c1d117dc Seamus Kelly 2021-02-04 1391 return X_LINK_ERROR;
da8a22c1d117dc Seamus Kelly 2021-02-04 1392
bda567cbcce896 Shashank A P 2021-04-08 1393 trace_xlink_read_mutex(handle->sw_device_id, chan, *size);
da8a22c1d117dc Seamus Kelly 2021-02-04 1394 event = xlink_create_event(link->id, XLINK_READ_REQ, &link->handle, chan,
da8a22c1d117dc Seamus Kelly 2021-02-04 1395 *size, 0);
bda567cbcce896 Shashank A P 2021-04-08 1396
bda567cbcce896 Shashank A P 2021-04-08 1397 trace_xlink_read_alloc_event(handle->sw_device_id, chan, *size);
da8a22c1d117dc Seamus Kelly 2021-02-04 1398 if (!event)
da8a22c1d117dc Seamus Kelly 2021-02-04 1399 return X_LINK_ERROR;
da8a22c1d117dc Seamus Kelly 2021-02-04 1400
da8a22c1d117dc Seamus Kelly 2021-02-04 1401 event->pdata = (void **)pmessage;
da8a22c1d117dc Seamus Kelly 2021-02-04 1402 event->length = size;
da8a22c1d117dc Seamus Kelly 2021-02-04 1403 rc = xlink_multiplexer_tx(event, &event_queued);
da8a22c1d117dc Seamus Kelly 2021-02-04 1404 if (!event_queued) {
da8a22c1d117dc Seamus Kelly 2021-02-04 1405 xlink_destroy_event(event);
da8a22c1d117dc Seamus Kelly 2021-02-04 1406 }
bda567cbcce896 Shashank A P 2021-04-08 1407 trace_xlink_read_data_completion(handle->sw_device_id, chan, *size);
da8a22c1d117dc Seamus Kelly 2021-02-04 1408 return rc;
da8a22c1d117dc Seamus Kelly 2021-02-04 1409 }
da8a22c1d117dc Seamus Kelly 2021-02-04 1410 EXPORT_SYMBOL(xlink_read_data);
da8a22c1d117dc Seamus Kelly 2021-02-04 1411
da8a22c1d117dc Seamus Kelly 2021-02-04 1412 enum xlink_error xlink_read_data_to_buffer(struct xlink_handle *handle,
da8a22c1d117dc Seamus Kelly 2021-02-04 1413 uint16_t chan, uint8_t * const message, uint32_t *size)
da8a22c1d117dc Seamus Kelly 2021-02-04 1414 {
da8a22c1d117dc Seamus Kelly 2021-02-04 1415 enum xlink_error rc = 0;
da8a22c1d117dc Seamus Kelly 2021-02-04 1416 struct xlink_link *link = NULL;
da8a22c1d117dc Seamus Kelly 2021-02-04 1417 struct xlink_event *event = NULL;
da8a22c1d117dc Seamus Kelly 2021-02-04 1418 int event_queued = 0;
da8a22c1d117dc Seamus Kelly 2021-02-04 1419
da8a22c1d117dc Seamus Kelly 2021-02-04 1420 if (!xlink || !handle)
da8a22c1d117dc Seamus Kelly 2021-02-04 1421 return X_LINK_ERROR;
da8a22c1d117dc Seamus Kelly 2021-02-04 1422
da8a22c1d117dc Seamus Kelly 2021-02-04 1423 link = get_link_by_sw_device_id(handle->sw_device_id);
da8a22c1d117dc Seamus Kelly 2021-02-04 1424 if (!link)
da8a22c1d117dc Seamus Kelly 2021-02-04 1425 return X_LINK_ERROR;
da8a22c1d117dc Seamus Kelly 2021-02-04 1426
da8a22c1d117dc Seamus Kelly 2021-02-04 1427 event = xlink_create_event(link->id, XLINK_READ_TO_BUFFER_REQ,
da8a22c1d117dc Seamus Kelly 2021-02-04 1428 &link->handle, chan, *size, 0);
da8a22c1d117dc Seamus Kelly 2021-02-04 1429 if (!event)
da8a22c1d117dc Seamus Kelly 2021-02-04 1430 return X_LINK_ERROR;
da8a22c1d117dc Seamus Kelly 2021-02-04 1431
da8a22c1d117dc Seamus Kelly 2021-02-04 1432 event->data = message;
da8a22c1d117dc Seamus Kelly 2021-02-04 1433 event->length = size;
da8a22c1d117dc Seamus Kelly 2021-02-04 1434 rc = xlink_multiplexer_tx(event, &event_queued);
da8a22c1d117dc Seamus Kelly 2021-02-04 1435 if (!event_queued) {
da8a22c1d117dc Seamus Kelly 2021-02-04 1436 xlink_destroy_event(event);
da8a22c1d117dc Seamus Kelly 2021-02-04 1437 }
da8a22c1d117dc Seamus Kelly 2021-02-04 1438 return rc;
da8a22c1d117dc Seamus Kelly 2021-02-04 1439 }
da8a22c1d117dc Seamus Kelly 2021-02-04 1440 EXPORT_SYMBOL(xlink_read_data_to_buffer);
da8a22c1d117dc Seamus Kelly 2021-02-04 1441
da8a22c1d117dc Seamus Kelly 2021-02-04 @1442 enum xlink_error xlink_read_data_to_buffer_crc(struct xlink_handle *handle,
da8a22c1d117dc Seamus Kelly 2021-02-04 1443 uint16_t chan, uint8_t * const message, uint32_t *size)
da8a22c1d117dc Seamus Kelly 2021-02-04 1444 {
da8a22c1d117dc Seamus Kelly 2021-02-04 1445 enum xlink_error rc = 0;
da8a22c1d117dc Seamus Kelly 2021-02-04 1446 /* To be implemented */
da8a22c1d117dc Seamus Kelly 2021-02-04 1447 return rc;
da8a22c1d117dc Seamus Kelly 2021-02-04 1448 }
da8a22c1d117dc Seamus Kelly 2021-02-04 1449 EXPORT_SYMBOL(xlink_read_data_to_buffer_crc);
da8a22c1d117dc Seamus Kelly 2021-02-04 1450
:::::: The code at line 1367 was first introduced by commit
:::::: da8a22c1d117dc7a34005542869efd709361b4d9 xlink-core: Add Keem Bay XLink Core Module
:::::: TO: Seamus Kelly <seamus.kelly(a)intel.com>
:::::: CC: Ranjan Dutta <ranjan.dutta(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH v2 11/11] iommu: Move flush queue data into iommu_dma_cookie
by kernel test robot
Hi Robin,
I love your patch! Yet something to improve:
[auto build test ERROR on joro-iommu/next]
[also build test ERROR on tegra/for-next v5.16-rc4]
[cannot apply to tegra-drm/drm/tegra/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Robin-Murphy/iommu-refactor-flus...
base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
config: arm64-randconfig-r014-20211210 (https://download.01.org/0day-ci/archive/20211211/202112110744.cWU0wC1O-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/3b6adb4a8ec42d7b5c1b3b1af2c857a23...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Robin-Murphy/iommu-refactor-flush-queues-into-iommu-dma/20211211-015635
git checkout 3b6adb4a8ec42d7b5c1b3b1af2c857a2375fd7e1
# 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=arm64 SHELL=/bin/bash drivers/gpu/drm/tegra/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/tegra/hub.c:1043:17: error: implicit declaration of function 'dma_get_mask' [-Werror,-Wimplicit-function-declaration]
u64 dma_mask = dma_get_mask(pdev->dev.parent);
^
drivers/gpu/drm/tegra/hub.c:1043:17: note: did you mean 'xa_get_mark'?
include/linux/xarray.h:354:6: note: 'xa_get_mark' declared here
bool xa_get_mark(struct xarray *, unsigned long index, xa_mark_t);
^
>> drivers/gpu/drm/tegra/hub.c:1050:8: error: implicit declaration of function 'dma_coerce_mask_and_coherent' [-Werror,-Wimplicit-function-declaration]
err = dma_coerce_mask_and_coherent(&pdev->dev, dma_mask);
^
2 errors generated.
--
>> drivers/gpu/drm/tegra/plane.c:46:21: error: use of undeclared identifier 'DMA_MAPPING_ERROR'
state->iova[i] = DMA_MAPPING_ERROR;
^
drivers/gpu/drm/tegra/plane.c:76:19: error: use of undeclared identifier 'DMA_MAPPING_ERROR'
copy->iova[i] = DMA_MAPPING_ERROR;
^
>> drivers/gpu/drm/tegra/plane.c:170:10: error: implicit declaration of function 'dma_map_sgtable' [-Werror,-Wimplicit-function-declaration]
err = dma_map_sgtable(dc->dev, sgt, DMA_TO_DEVICE, 0);
^
drivers/gpu/drm/tegra/plane.c:170:10: note: did you mean 'iommu_map_sgtable'?
include/linux/iommu.h:1097:22: note: 'iommu_map_sgtable' declared here
static inline size_t iommu_map_sgtable(struct iommu_domain *domain,
^
>> drivers/gpu/drm/tegra/plane.c:170:40: error: use of undeclared identifier 'DMA_TO_DEVICE'
err = dma_map_sgtable(dc->dev, sgt, DMA_TO_DEVICE, 0);
^
>> drivers/gpu/drm/tegra/plane.c:202:4: error: implicit declaration of function 'dma_unmap_sgtable' [-Werror,-Wimplicit-function-declaration]
dma_unmap_sgtable(dc->dev, sgt, DMA_TO_DEVICE, 0);
^
drivers/gpu/drm/tegra/plane.c:202:4: note: did you mean 'iommu_map_sgtable'?
include/linux/iommu.h:1097:22: note: 'iommu_map_sgtable' declared here
static inline size_t iommu_map_sgtable(struct iommu_domain *domain,
^
drivers/gpu/drm/tegra/plane.c:202:36: error: use of undeclared identifier 'DMA_TO_DEVICE'
dma_unmap_sgtable(dc->dev, sgt, DMA_TO_DEVICE, 0);
^
drivers/gpu/drm/tegra/plane.c:205:20: error: use of undeclared identifier 'DMA_MAPPING_ERROR'
state->iova[i] = DMA_MAPPING_ERROR;
^
drivers/gpu/drm/tegra/plane.c:221:4: error: implicit declaration of function 'dma_unmap_sgtable' [-Werror,-Wimplicit-function-declaration]
dma_unmap_sgtable(dc->dev, sgt, DMA_TO_DEVICE, 0);
^
drivers/gpu/drm/tegra/plane.c:221:36: error: use of undeclared identifier 'DMA_TO_DEVICE'
dma_unmap_sgtable(dc->dev, sgt, DMA_TO_DEVICE, 0);
^
drivers/gpu/drm/tegra/plane.c:224:20: error: use of undeclared identifier 'DMA_MAPPING_ERROR'
state->iova[i] = DMA_MAPPING_ERROR;
^
10 errors generated.
--
drivers/gpu/drm/tegra/dc.c:2225:31: warning: variable 'old_state' set but not used [-Wunused-but-set-variable]
const struct drm_crtc_state *old_state;
^
>> drivers/gpu/drm/tegra/dc.c:2978:17: error: implicit declaration of function 'dma_get_mask' [-Werror,-Wimplicit-function-declaration]
u64 dma_mask = dma_get_mask(pdev->dev.parent);
^
drivers/gpu/drm/tegra/dc.c:2978:17: note: did you mean 'xa_get_mark'?
include/linux/xarray.h:354:6: note: 'xa_get_mark' declared here
bool xa_get_mark(struct xarray *, unsigned long index, xa_mark_t);
^
>> drivers/gpu/drm/tegra/dc.c:2982:8: error: implicit declaration of function 'dma_coerce_mask_and_coherent' [-Werror,-Wimplicit-function-declaration]
err = dma_coerce_mask_and_coherent(&pdev->dev, dma_mask);
^
1 warning and 2 errors generated.
vim +/dma_get_mask +1043 drivers/gpu/drm/tegra/hub.c
c4755fb9064f640 Thierry Reding 2017-11-13 1040
c4755fb9064f640 Thierry Reding 2017-11-13 1041 static int tegra_display_hub_probe(struct platform_device *pdev)
c4755fb9064f640 Thierry Reding 2017-11-13 1042 {
86044e749be77a3 Thierry Reding 2021-03-26 @1043 u64 dma_mask = dma_get_mask(pdev->dev.parent);
0cffbde2e318cc1 Thierry Reding 2018-11-29 1044 struct device_node *child = NULL;
c4755fb9064f640 Thierry Reding 2017-11-13 1045 struct tegra_display_hub *hub;
0cffbde2e318cc1 Thierry Reding 2018-11-29 1046 struct clk *clk;
c4755fb9064f640 Thierry Reding 2017-11-13 1047 unsigned int i;
c4755fb9064f640 Thierry Reding 2017-11-13 1048 int err;
c4755fb9064f640 Thierry Reding 2017-11-13 1049
86044e749be77a3 Thierry Reding 2021-03-26 @1050 err = dma_coerce_mask_and_coherent(&pdev->dev, dma_mask);
86044e749be77a3 Thierry Reding 2021-03-26 1051 if (err < 0) {
86044e749be77a3 Thierry Reding 2021-03-26 1052 dev_err(&pdev->dev, "failed to set DMA mask: %d\n", err);
86044e749be77a3 Thierry Reding 2021-03-26 1053 return err;
86044e749be77a3 Thierry Reding 2021-03-26 1054 }
86044e749be77a3 Thierry Reding 2021-03-26 1055
c4755fb9064f640 Thierry Reding 2017-11-13 1056 hub = devm_kzalloc(&pdev->dev, sizeof(*hub), GFP_KERNEL);
c4755fb9064f640 Thierry Reding 2017-11-13 1057 if (!hub)
c4755fb9064f640 Thierry Reding 2017-11-13 1058 return -ENOMEM;
c4755fb9064f640 Thierry Reding 2017-11-13 1059
c4755fb9064f640 Thierry Reding 2017-11-13 1060 hub->soc = of_device_get_match_data(&pdev->dev);
c4755fb9064f640 Thierry Reding 2017-11-13 1061
c4755fb9064f640 Thierry Reding 2017-11-13 1062 hub->clk_disp = devm_clk_get(&pdev->dev, "disp");
c4755fb9064f640 Thierry Reding 2017-11-13 1063 if (IS_ERR(hub->clk_disp)) {
c4755fb9064f640 Thierry Reding 2017-11-13 1064 err = PTR_ERR(hub->clk_disp);
c4755fb9064f640 Thierry Reding 2017-11-13 1065 return err;
c4755fb9064f640 Thierry Reding 2017-11-13 1066 }
c4755fb9064f640 Thierry Reding 2017-11-13 1067
5725daaab55ca02 Thierry Reding 2018-09-21 1068 if (hub->soc->supports_dsc) {
c4755fb9064f640 Thierry Reding 2017-11-13 1069 hub->clk_dsc = devm_clk_get(&pdev->dev, "dsc");
c4755fb9064f640 Thierry Reding 2017-11-13 1070 if (IS_ERR(hub->clk_dsc)) {
c4755fb9064f640 Thierry Reding 2017-11-13 1071 err = PTR_ERR(hub->clk_dsc);
c4755fb9064f640 Thierry Reding 2017-11-13 1072 return err;
c4755fb9064f640 Thierry Reding 2017-11-13 1073 }
5725daaab55ca02 Thierry Reding 2018-09-21 1074 }
c4755fb9064f640 Thierry Reding 2017-11-13 1075
c4755fb9064f640 Thierry Reding 2017-11-13 1076 hub->clk_hub = devm_clk_get(&pdev->dev, "hub");
c4755fb9064f640 Thierry Reding 2017-11-13 1077 if (IS_ERR(hub->clk_hub)) {
c4755fb9064f640 Thierry Reding 2017-11-13 1078 err = PTR_ERR(hub->clk_hub);
c4755fb9064f640 Thierry Reding 2017-11-13 1079 return err;
c4755fb9064f640 Thierry Reding 2017-11-13 1080 }
c4755fb9064f640 Thierry Reding 2017-11-13 1081
c4755fb9064f640 Thierry Reding 2017-11-13 1082 hub->rst = devm_reset_control_get(&pdev->dev, "misc");
c4755fb9064f640 Thierry Reding 2017-11-13 1083 if (IS_ERR(hub->rst)) {
c4755fb9064f640 Thierry Reding 2017-11-13 1084 err = PTR_ERR(hub->rst);
c4755fb9064f640 Thierry Reding 2017-11-13 1085 return err;
c4755fb9064f640 Thierry Reding 2017-11-13 1086 }
c4755fb9064f640 Thierry Reding 2017-11-13 1087
c4755fb9064f640 Thierry Reding 2017-11-13 1088 hub->wgrps = devm_kcalloc(&pdev->dev, hub->soc->num_wgrps,
c4755fb9064f640 Thierry Reding 2017-11-13 1089 sizeof(*hub->wgrps), GFP_KERNEL);
c4755fb9064f640 Thierry Reding 2017-11-13 1090 if (!hub->wgrps)
c4755fb9064f640 Thierry Reding 2017-11-13 1091 return -ENOMEM;
c4755fb9064f640 Thierry Reding 2017-11-13 1092
c4755fb9064f640 Thierry Reding 2017-11-13 1093 for (i = 0; i < hub->soc->num_wgrps; i++) {
c4755fb9064f640 Thierry Reding 2017-11-13 1094 struct tegra_windowgroup *wgrp = &hub->wgrps[i];
c4755fb9064f640 Thierry Reding 2017-11-13 1095 char id[8];
c4755fb9064f640 Thierry Reding 2017-11-13 1096
c4755fb9064f640 Thierry Reding 2017-11-13 1097 snprintf(id, sizeof(id), "wgrp%u", i);
c4755fb9064f640 Thierry Reding 2017-11-13 1098 mutex_init(&wgrp->lock);
c4755fb9064f640 Thierry Reding 2017-11-13 1099 wgrp->usecount = 0;
c4755fb9064f640 Thierry Reding 2017-11-13 1100 wgrp->index = i;
c4755fb9064f640 Thierry Reding 2017-11-13 1101
c4755fb9064f640 Thierry Reding 2017-11-13 1102 wgrp->rst = devm_reset_control_get(&pdev->dev, id);
c4755fb9064f640 Thierry Reding 2017-11-13 1103 if (IS_ERR(wgrp->rst))
c4755fb9064f640 Thierry Reding 2017-11-13 1104 return PTR_ERR(wgrp->rst);
c4755fb9064f640 Thierry Reding 2017-11-13 1105
c4755fb9064f640 Thierry Reding 2017-11-13 1106 err = reset_control_assert(wgrp->rst);
c4755fb9064f640 Thierry Reding 2017-11-13 1107 if (err < 0)
c4755fb9064f640 Thierry Reding 2017-11-13 1108 return err;
c4755fb9064f640 Thierry Reding 2017-11-13 1109 }
c4755fb9064f640 Thierry Reding 2017-11-13 1110
0cffbde2e318cc1 Thierry Reding 2018-11-29 1111 hub->num_heads = of_get_child_count(pdev->dev.of_node);
0cffbde2e318cc1 Thierry Reding 2018-11-29 1112
0cffbde2e318cc1 Thierry Reding 2018-11-29 1113 hub->clk_heads = devm_kcalloc(&pdev->dev, hub->num_heads, sizeof(clk),
0cffbde2e318cc1 Thierry Reding 2018-11-29 1114 GFP_KERNEL);
0cffbde2e318cc1 Thierry Reding 2018-11-29 1115 if (!hub->clk_heads)
0cffbde2e318cc1 Thierry Reding 2018-11-29 1116 return -ENOMEM;
0cffbde2e318cc1 Thierry Reding 2018-11-29 1117
0cffbde2e318cc1 Thierry Reding 2018-11-29 1118 for (i = 0; i < hub->num_heads; i++) {
0cffbde2e318cc1 Thierry Reding 2018-11-29 1119 child = of_get_next_child(pdev->dev.of_node, child);
0cffbde2e318cc1 Thierry Reding 2018-11-29 1120 if (!child) {
0cffbde2e318cc1 Thierry Reding 2018-11-29 1121 dev_err(&pdev->dev, "failed to find node for head %u\n",
0cffbde2e318cc1 Thierry Reding 2018-11-29 1122 i);
0cffbde2e318cc1 Thierry Reding 2018-11-29 1123 return -ENODEV;
0cffbde2e318cc1 Thierry Reding 2018-11-29 1124 }
0cffbde2e318cc1 Thierry Reding 2018-11-29 1125
0cffbde2e318cc1 Thierry Reding 2018-11-29 1126 clk = devm_get_clk_from_child(&pdev->dev, child, "dc");
0cffbde2e318cc1 Thierry Reding 2018-11-29 1127 if (IS_ERR(clk)) {
0cffbde2e318cc1 Thierry Reding 2018-11-29 1128 dev_err(&pdev->dev, "failed to get clock for head %u\n",
0cffbde2e318cc1 Thierry Reding 2018-11-29 1129 i);
0cffbde2e318cc1 Thierry Reding 2018-11-29 1130 of_node_put(child);
0cffbde2e318cc1 Thierry Reding 2018-11-29 1131 return PTR_ERR(clk);
0cffbde2e318cc1 Thierry Reding 2018-11-29 1132 }
0cffbde2e318cc1 Thierry Reding 2018-11-29 1133
0cffbde2e318cc1 Thierry Reding 2018-11-29 1134 hub->clk_heads[i] = clk;
0cffbde2e318cc1 Thierry Reding 2018-11-29 1135 }
0cffbde2e318cc1 Thierry Reding 2018-11-29 1136
0cffbde2e318cc1 Thierry Reding 2018-11-29 1137 of_node_put(child);
0cffbde2e318cc1 Thierry Reding 2018-11-29 1138
c4755fb9064f640 Thierry Reding 2017-11-13 1139 /* XXX: enable clock across reset? */
c4755fb9064f640 Thierry Reding 2017-11-13 1140 err = reset_control_assert(hub->rst);
c4755fb9064f640 Thierry Reding 2017-11-13 1141 if (err < 0)
c4755fb9064f640 Thierry Reding 2017-11-13 1142 return err;
c4755fb9064f640 Thierry Reding 2017-11-13 1143
c4755fb9064f640 Thierry Reding 2017-11-13 1144 platform_set_drvdata(pdev, hub);
c4755fb9064f640 Thierry Reding 2017-11-13 1145 pm_runtime_enable(&pdev->dev);
c4755fb9064f640 Thierry Reding 2017-11-13 1146
c4755fb9064f640 Thierry Reding 2017-11-13 1147 INIT_LIST_HEAD(&hub->client.list);
c4755fb9064f640 Thierry Reding 2017-11-13 1148 hub->client.ops = &tegra_display_hub_ops;
c4755fb9064f640 Thierry Reding 2017-11-13 1149 hub->client.dev = &pdev->dev;
c4755fb9064f640 Thierry Reding 2017-11-13 1150
c4755fb9064f640 Thierry Reding 2017-11-13 1151 err = host1x_client_register(&hub->client);
c4755fb9064f640 Thierry Reding 2017-11-13 1152 if (err < 0)
c4755fb9064f640 Thierry Reding 2017-11-13 1153 dev_err(&pdev->dev, "failed to register host1x client: %d\n",
c4755fb9064f640 Thierry Reding 2017-11-13 1154 err);
c4755fb9064f640 Thierry Reding 2017-11-13 1155
a101e3dad8a90a8 Thierry Reding 2020-06-12 1156 err = devm_of_platform_populate(&pdev->dev);
a101e3dad8a90a8 Thierry Reding 2020-06-12 1157 if (err < 0)
a101e3dad8a90a8 Thierry Reding 2020-06-12 1158 goto unregister;
a101e3dad8a90a8 Thierry Reding 2020-06-12 1159
a101e3dad8a90a8 Thierry Reding 2020-06-12 1160 return err;
a101e3dad8a90a8 Thierry Reding 2020-06-12 1161
a101e3dad8a90a8 Thierry Reding 2020-06-12 1162 unregister:
a101e3dad8a90a8 Thierry Reding 2020-06-12 1163 host1x_client_unregister(&hub->client);
a101e3dad8a90a8 Thierry Reding 2020-06-12 1164 pm_runtime_disable(&pdev->dev);
c4755fb9064f640 Thierry Reding 2017-11-13 1165 return err;
c4755fb9064f640 Thierry Reding 2017-11-13 1166 }
c4755fb9064f640 Thierry Reding 2017-11-13 1167
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH v2 11/11] iommu: Move flush queue data into iommu_dma_cookie
by kernel test robot
Hi Robin,
I love your patch! Yet something to improve:
[auto build test ERROR on joro-iommu/next]
[also build test ERROR on tegra/for-next v5.16-rc4]
[cannot apply to tegra-drm/drm/tegra/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Robin-Murphy/iommu-refactor-flus...
base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
config: arm-randconfig-r013-20211210 (https://download.01.org/0day-ci/archive/20211211/202112110753.vYbSlMnq-lk...)
compiler: arm-linux-gnueabi-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://github.com/0day-ci/linux/commit/3b6adb4a8ec42d7b5c1b3b1af2c857a23...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Robin-Murphy/iommu-refactor-flush-queues-into-iommu-dma/20211211-015635
git checkout 3b6adb4a8ec42d7b5c1b3b1af2c857a2375fd7e1
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash drivers/gpu/drm/tegra/ drivers/iommu/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/drm/tegra/hub.c: In function 'tegra_display_hub_probe':
>> drivers/gpu/drm/tegra/hub.c:1043:24: error: implicit declaration of function 'dma_get_mask'; did you mean 'xa_get_mark'? [-Werror=implicit-function-declaration]
1043 | u64 dma_mask = dma_get_mask(pdev->dev.parent);
| ^~~~~~~~~~~~
| xa_get_mark
>> drivers/gpu/drm/tegra/hub.c:1050:15: error: implicit declaration of function 'dma_coerce_mask_and_coherent' [-Werror=implicit-function-declaration]
1050 | err = dma_coerce_mask_and_coherent(&pdev->dev, dma_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
drivers/gpu/drm/tegra/plane.c: In function 'tegra_plane_reset':
>> drivers/gpu/drm/tegra/plane.c:46:42: error: 'DMA_MAPPING_ERROR' undeclared (first use in this function)
46 | state->iova[i] = DMA_MAPPING_ERROR;
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/tegra/plane.c:46:42: note: each undeclared identifier is reported only once for each function it appears in
drivers/gpu/drm/tegra/plane.c: In function 'tegra_plane_atomic_duplicate_state':
drivers/gpu/drm/tegra/plane.c:76:33: error: 'DMA_MAPPING_ERROR' undeclared (first use in this function)
76 | copy->iova[i] = DMA_MAPPING_ERROR;
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/tegra/plane.c: In function 'tegra_dc_pin':
>> drivers/gpu/drm/tegra/plane.c:170:31: error: implicit declaration of function 'dma_map_sgtable'; did you mean 'iommu_map_sgtable'? [-Werror=implicit-function-declaration]
170 | err = dma_map_sgtable(dc->dev, sgt, DMA_TO_DEVICE, 0);
| ^~~~~~~~~~~~~~~
| iommu_map_sgtable
>> drivers/gpu/drm/tegra/plane.c:170:61: error: 'DMA_TO_DEVICE' undeclared (first use in this function); did you mean 'MT_DEVICE'?
170 | err = dma_map_sgtable(dc->dev, sgt, DMA_TO_DEVICE, 0);
| ^~~~~~~~~~~~~
| MT_DEVICE
>> drivers/gpu/drm/tegra/plane.c:202:25: error: implicit declaration of function 'dma_unmap_sgtable'; did you mean 'iommu_map_sgtable'? [-Werror=implicit-function-declaration]
202 | dma_unmap_sgtable(dc->dev, sgt, DMA_TO_DEVICE, 0);
| ^~~~~~~~~~~~~~~~~
| iommu_map_sgtable
drivers/gpu/drm/tegra/plane.c:205:34: error: 'DMA_MAPPING_ERROR' undeclared (first use in this function)
205 | state->iova[i] = DMA_MAPPING_ERROR;
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/tegra/plane.c: In function 'tegra_dc_unpin':
drivers/gpu/drm/tegra/plane.c:221:57: error: 'DMA_TO_DEVICE' undeclared (first use in this function); did you mean 'MT_DEVICE'?
221 | dma_unmap_sgtable(dc->dev, sgt, DMA_TO_DEVICE, 0);
| ^~~~~~~~~~~~~
| MT_DEVICE
drivers/gpu/drm/tegra/plane.c:224:34: error: 'DMA_MAPPING_ERROR' undeclared (first use in this function)
224 | state->iova[i] = DMA_MAPPING_ERROR;
| ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
drivers/gpu/drm/tegra/dc.c: In function 'tegra_crtc_calculate_memory_bandwidth':
drivers/gpu/drm/tegra/dc.c:2225:38: warning: variable 'old_state' set but not used [-Wunused-but-set-variable]
2225 | const struct drm_crtc_state *old_state;
| ^~~~~~~~~
drivers/gpu/drm/tegra/dc.c: In function 'tegra_dc_probe':
>> drivers/gpu/drm/tegra/dc.c:2978:24: error: implicit declaration of function 'dma_get_mask'; did you mean 'xa_get_mark'? [-Werror=implicit-function-declaration]
2978 | u64 dma_mask = dma_get_mask(pdev->dev.parent);
| ^~~~~~~~~~~~
| xa_get_mark
>> drivers/gpu/drm/tegra/dc.c:2982:15: error: implicit declaration of function 'dma_coerce_mask_and_coherent' [-Werror=implicit-function-declaration]
2982 | err = dma_coerce_mask_and_coherent(&pdev->dev, dma_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +1043 drivers/gpu/drm/tegra/hub.c
c4755fb9064f64 Thierry Reding 2017-11-13 1040
c4755fb9064f64 Thierry Reding 2017-11-13 1041 static int tegra_display_hub_probe(struct platform_device *pdev)
c4755fb9064f64 Thierry Reding 2017-11-13 1042 {
86044e749be77a Thierry Reding 2021-03-26 @1043 u64 dma_mask = dma_get_mask(pdev->dev.parent);
0cffbde2e318cc Thierry Reding 2018-11-29 1044 struct device_node *child = NULL;
c4755fb9064f64 Thierry Reding 2017-11-13 1045 struct tegra_display_hub *hub;
0cffbde2e318cc Thierry Reding 2018-11-29 1046 struct clk *clk;
c4755fb9064f64 Thierry Reding 2017-11-13 1047 unsigned int i;
c4755fb9064f64 Thierry Reding 2017-11-13 1048 int err;
c4755fb9064f64 Thierry Reding 2017-11-13 1049
86044e749be77a Thierry Reding 2021-03-26 @1050 err = dma_coerce_mask_and_coherent(&pdev->dev, dma_mask);
86044e749be77a Thierry Reding 2021-03-26 1051 if (err < 0) {
86044e749be77a Thierry Reding 2021-03-26 1052 dev_err(&pdev->dev, "failed to set DMA mask: %d\n", err);
86044e749be77a Thierry Reding 2021-03-26 1053 return err;
86044e749be77a Thierry Reding 2021-03-26 1054 }
86044e749be77a Thierry Reding 2021-03-26 1055
c4755fb9064f64 Thierry Reding 2017-11-13 1056 hub = devm_kzalloc(&pdev->dev, sizeof(*hub), GFP_KERNEL);
c4755fb9064f64 Thierry Reding 2017-11-13 1057 if (!hub)
c4755fb9064f64 Thierry Reding 2017-11-13 1058 return -ENOMEM;
c4755fb9064f64 Thierry Reding 2017-11-13 1059
c4755fb9064f64 Thierry Reding 2017-11-13 1060 hub->soc = of_device_get_match_data(&pdev->dev);
c4755fb9064f64 Thierry Reding 2017-11-13 1061
c4755fb9064f64 Thierry Reding 2017-11-13 1062 hub->clk_disp = devm_clk_get(&pdev->dev, "disp");
c4755fb9064f64 Thierry Reding 2017-11-13 1063 if (IS_ERR(hub->clk_disp)) {
c4755fb9064f64 Thierry Reding 2017-11-13 1064 err = PTR_ERR(hub->clk_disp);
c4755fb9064f64 Thierry Reding 2017-11-13 1065 return err;
c4755fb9064f64 Thierry Reding 2017-11-13 1066 }
c4755fb9064f64 Thierry Reding 2017-11-13 1067
5725daaab55ca0 Thierry Reding 2018-09-21 1068 if (hub->soc->supports_dsc) {
c4755fb9064f64 Thierry Reding 2017-11-13 1069 hub->clk_dsc = devm_clk_get(&pdev->dev, "dsc");
c4755fb9064f64 Thierry Reding 2017-11-13 1070 if (IS_ERR(hub->clk_dsc)) {
c4755fb9064f64 Thierry Reding 2017-11-13 1071 err = PTR_ERR(hub->clk_dsc);
c4755fb9064f64 Thierry Reding 2017-11-13 1072 return err;
c4755fb9064f64 Thierry Reding 2017-11-13 1073 }
5725daaab55ca0 Thierry Reding 2018-09-21 1074 }
c4755fb9064f64 Thierry Reding 2017-11-13 1075
c4755fb9064f64 Thierry Reding 2017-11-13 1076 hub->clk_hub = devm_clk_get(&pdev->dev, "hub");
c4755fb9064f64 Thierry Reding 2017-11-13 1077 if (IS_ERR(hub->clk_hub)) {
c4755fb9064f64 Thierry Reding 2017-11-13 1078 err = PTR_ERR(hub->clk_hub);
c4755fb9064f64 Thierry Reding 2017-11-13 1079 return err;
c4755fb9064f64 Thierry Reding 2017-11-13 1080 }
c4755fb9064f64 Thierry Reding 2017-11-13 1081
c4755fb9064f64 Thierry Reding 2017-11-13 1082 hub->rst = devm_reset_control_get(&pdev->dev, "misc");
c4755fb9064f64 Thierry Reding 2017-11-13 1083 if (IS_ERR(hub->rst)) {
c4755fb9064f64 Thierry Reding 2017-11-13 1084 err = PTR_ERR(hub->rst);
c4755fb9064f64 Thierry Reding 2017-11-13 1085 return err;
c4755fb9064f64 Thierry Reding 2017-11-13 1086 }
c4755fb9064f64 Thierry Reding 2017-11-13 1087
c4755fb9064f64 Thierry Reding 2017-11-13 1088 hub->wgrps = devm_kcalloc(&pdev->dev, hub->soc->num_wgrps,
c4755fb9064f64 Thierry Reding 2017-11-13 1089 sizeof(*hub->wgrps), GFP_KERNEL);
c4755fb9064f64 Thierry Reding 2017-11-13 1090 if (!hub->wgrps)
c4755fb9064f64 Thierry Reding 2017-11-13 1091 return -ENOMEM;
c4755fb9064f64 Thierry Reding 2017-11-13 1092
c4755fb9064f64 Thierry Reding 2017-11-13 1093 for (i = 0; i < hub->soc->num_wgrps; i++) {
c4755fb9064f64 Thierry Reding 2017-11-13 1094 struct tegra_windowgroup *wgrp = &hub->wgrps[i];
c4755fb9064f64 Thierry Reding 2017-11-13 1095 char id[8];
c4755fb9064f64 Thierry Reding 2017-11-13 1096
c4755fb9064f64 Thierry Reding 2017-11-13 1097 snprintf(id, sizeof(id), "wgrp%u", i);
c4755fb9064f64 Thierry Reding 2017-11-13 1098 mutex_init(&wgrp->lock);
c4755fb9064f64 Thierry Reding 2017-11-13 1099 wgrp->usecount = 0;
c4755fb9064f64 Thierry Reding 2017-11-13 1100 wgrp->index = i;
c4755fb9064f64 Thierry Reding 2017-11-13 1101
c4755fb9064f64 Thierry Reding 2017-11-13 1102 wgrp->rst = devm_reset_control_get(&pdev->dev, id);
c4755fb9064f64 Thierry Reding 2017-11-13 1103 if (IS_ERR(wgrp->rst))
c4755fb9064f64 Thierry Reding 2017-11-13 1104 return PTR_ERR(wgrp->rst);
c4755fb9064f64 Thierry Reding 2017-11-13 1105
c4755fb9064f64 Thierry Reding 2017-11-13 1106 err = reset_control_assert(wgrp->rst);
c4755fb9064f64 Thierry Reding 2017-11-13 1107 if (err < 0)
c4755fb9064f64 Thierry Reding 2017-11-13 1108 return err;
c4755fb9064f64 Thierry Reding 2017-11-13 1109 }
c4755fb9064f64 Thierry Reding 2017-11-13 1110
0cffbde2e318cc Thierry Reding 2018-11-29 1111 hub->num_heads = of_get_child_count(pdev->dev.of_node);
0cffbde2e318cc Thierry Reding 2018-11-29 1112
0cffbde2e318cc Thierry Reding 2018-11-29 1113 hub->clk_heads = devm_kcalloc(&pdev->dev, hub->num_heads, sizeof(clk),
0cffbde2e318cc Thierry Reding 2018-11-29 1114 GFP_KERNEL);
0cffbde2e318cc Thierry Reding 2018-11-29 1115 if (!hub->clk_heads)
0cffbde2e318cc Thierry Reding 2018-11-29 1116 return -ENOMEM;
0cffbde2e318cc Thierry Reding 2018-11-29 1117
0cffbde2e318cc Thierry Reding 2018-11-29 1118 for (i = 0; i < hub->num_heads; i++) {
0cffbde2e318cc Thierry Reding 2018-11-29 1119 child = of_get_next_child(pdev->dev.of_node, child);
0cffbde2e318cc Thierry Reding 2018-11-29 1120 if (!child) {
0cffbde2e318cc Thierry Reding 2018-11-29 1121 dev_err(&pdev->dev, "failed to find node for head %u\n",
0cffbde2e318cc Thierry Reding 2018-11-29 1122 i);
0cffbde2e318cc Thierry Reding 2018-11-29 1123 return -ENODEV;
0cffbde2e318cc Thierry Reding 2018-11-29 1124 }
0cffbde2e318cc Thierry Reding 2018-11-29 1125
0cffbde2e318cc Thierry Reding 2018-11-29 1126 clk = devm_get_clk_from_child(&pdev->dev, child, "dc");
0cffbde2e318cc Thierry Reding 2018-11-29 1127 if (IS_ERR(clk)) {
0cffbde2e318cc Thierry Reding 2018-11-29 1128 dev_err(&pdev->dev, "failed to get clock for head %u\n",
0cffbde2e318cc Thierry Reding 2018-11-29 1129 i);
0cffbde2e318cc Thierry Reding 2018-11-29 1130 of_node_put(child);
0cffbde2e318cc Thierry Reding 2018-11-29 1131 return PTR_ERR(clk);
0cffbde2e318cc Thierry Reding 2018-11-29 1132 }
0cffbde2e318cc Thierry Reding 2018-11-29 1133
0cffbde2e318cc Thierry Reding 2018-11-29 1134 hub->clk_heads[i] = clk;
0cffbde2e318cc Thierry Reding 2018-11-29 1135 }
0cffbde2e318cc Thierry Reding 2018-11-29 1136
0cffbde2e318cc Thierry Reding 2018-11-29 1137 of_node_put(child);
0cffbde2e318cc Thierry Reding 2018-11-29 1138
c4755fb9064f64 Thierry Reding 2017-11-13 1139 /* XXX: enable clock across reset? */
c4755fb9064f64 Thierry Reding 2017-11-13 1140 err = reset_control_assert(hub->rst);
c4755fb9064f64 Thierry Reding 2017-11-13 1141 if (err < 0)
c4755fb9064f64 Thierry Reding 2017-11-13 1142 return err;
c4755fb9064f64 Thierry Reding 2017-11-13 1143
c4755fb9064f64 Thierry Reding 2017-11-13 1144 platform_set_drvdata(pdev, hub);
c4755fb9064f64 Thierry Reding 2017-11-13 1145 pm_runtime_enable(&pdev->dev);
c4755fb9064f64 Thierry Reding 2017-11-13 1146
c4755fb9064f64 Thierry Reding 2017-11-13 1147 INIT_LIST_HEAD(&hub->client.list);
c4755fb9064f64 Thierry Reding 2017-11-13 1148 hub->client.ops = &tegra_display_hub_ops;
c4755fb9064f64 Thierry Reding 2017-11-13 1149 hub->client.dev = &pdev->dev;
c4755fb9064f64 Thierry Reding 2017-11-13 1150
c4755fb9064f64 Thierry Reding 2017-11-13 1151 err = host1x_client_register(&hub->client);
c4755fb9064f64 Thierry Reding 2017-11-13 1152 if (err < 0)
c4755fb9064f64 Thierry Reding 2017-11-13 1153 dev_err(&pdev->dev, "failed to register host1x client: %d\n",
c4755fb9064f64 Thierry Reding 2017-11-13 1154 err);
c4755fb9064f64 Thierry Reding 2017-11-13 1155
a101e3dad8a90a Thierry Reding 2020-06-12 1156 err = devm_of_platform_populate(&pdev->dev);
a101e3dad8a90a Thierry Reding 2020-06-12 1157 if (err < 0)
a101e3dad8a90a Thierry Reding 2020-06-12 1158 goto unregister;
a101e3dad8a90a Thierry Reding 2020-06-12 1159
a101e3dad8a90a Thierry Reding 2020-06-12 1160 return err;
a101e3dad8a90a Thierry Reding 2020-06-12 1161
a101e3dad8a90a Thierry Reding 2020-06-12 1162 unregister:
a101e3dad8a90a Thierry Reding 2020-06-12 1163 host1x_client_unregister(&hub->client);
a101e3dad8a90a Thierry Reding 2020-06-12 1164 pm_runtime_disable(&pdev->dev);
c4755fb9064f64 Thierry Reding 2017-11-13 1165 return err;
c4755fb9064f64 Thierry Reding 2017-11-13 1166 }
c4755fb9064f64 Thierry Reding 2017-11-13 1167
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[luxis1999-iommufd:iommufd-v5.16-rc3 31/33] ld.lld: error: undefined symbol: interval_tree_span_iter_first
by kernel test robot
tree: https://github.com/luxis1999/iommufd iommufd-v5.16-rc3
head: 44f89b130eec28760e6b655facd4be49c5bcc3f9
commit: 74814fdbefe2fb370111a0ce00641c64376447cb [31/33] vfio/pci: Add bind_iommufd() support
config: arm64-randconfig-r014-20211210 (https://download.01.org/0day-ci/archive/20211211/202112110730.YDz5VfLg-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/luxis1999/iommufd/commit/74814fdbefe2fb370111a0ce00641...
git remote add luxis1999-iommufd https://github.com/luxis1999/iommufd
git fetch --no-tags luxis1999-iommufd iommufd-v5.16-rc3
git checkout 74814fdbefe2fb370111a0ce00641c64376447cb
# 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=arm64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> ld.lld: error: undefined symbol: interval_tree_span_iter_first
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_alloc_iova) in archive drivers/built-in.a
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_alloc_iova) in archive drivers/built-in.a
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_access_pages) in archive drivers/built-in.a
>>> referenced 7 more times
--
>> ld.lld: error: undefined symbol: interval_tree_span_iter_next
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_alloc_iova) in archive drivers/built-in.a
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_alloc_iova) in archive drivers/built-in.a
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_access_pages) in archive drivers/built-in.a
>>> referenced 7 more times
--
>> ld.lld: error: undefined symbol: interval_tree_iter_first
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_alloc_area) in archive drivers/built-in.a
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_alloc_area) in archive drivers/built-in.a
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_area_find_exact) in archive drivers/built-in.a
>>> referenced 12 more times
--
>> ld.lld: error: undefined symbol: interval_tree_insert
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_area_finalize) in archive drivers/built-in.a
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_access_pages) in archive drivers/built-in.a
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_reserve_iova) in archive drivers/built-in.a
>>> referenced 2 more times
--
>> ld.lld: error: undefined symbol: interval_tree_remove
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(__iopt_unmap_iova) in archive drivers/built-in.a
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_remove_reserved_iova) in archive drivers/built-in.a
--
>> ld.lld: error: undefined symbol: interval_tree_iter_next
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_access_pages) in archive drivers/built-in.a
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_unaccess_pages) in archive drivers/built-in.a
>>> referenced by io_pagetable.c
>>> iommu/iommufd/io_pagetable.o:(iopt_remove_reserved_iova) in archive drivers/built-in.a
>>> referenced 5 more times
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for IOMMUFD
Depends on IOMMU_SUPPORT
Selected by
- VFIO_PCI_CORE && VFIO && PCI && MMU
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week