From: kernel test robot <lkp@intel.com>
To: Tianyang Zhang <zhangtianyang@loongson.cn>,
chenhuacai@kernel.org, kernel@xen0n.name, corbet@lwn.net,
alexs@kernel.org, si.yanteng@linux.dev, tglx@linutronix.de,
jiaxun.yang@flygoat.com, peterz@infradead.org,
wangliupu@loongson.cn, lvjianmin@loongson.cn,
maobibo@loongson.cn, siyanteng@cqsoftware.com.cn,
gaosong@loongson.cn, yangtiezhu@loongson.cn
Cc: oe-kbuild-all@lists.linux.dev, loongarch@lists.linux.dev,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
Tianyang Zhang <zhangtianyang@loongson.cn>
Subject: Re: [PATCH 2/2] irq/irq-loongarch-ir:Add Redirect irqchip support
Date: Wed, 5 Mar 2025 22:47:11 +0800 [thread overview]
Message-ID: <202503052234.SiXLJuat-lkp@intel.com> (raw)
In-Reply-To: <20250303101533.31462-3-zhangtianyang@loongson.cn>
Hi Tianyang,
kernel test robot noticed the following build errors:
[auto build test ERROR on tip/irq/core]
[also build test ERROR on lwn/docs-next linus/master v6.14-rc5 next-20250305]
[cannot apply to tip/smp/core]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Tianyang-Zhang/Docs-LoongArch-Add-Advanced-Extended-Redirect-IRQ-model-description/20250303-181832
base: tip/irq/core
patch link: https://lore.kernel.org/r/20250303101533.31462-3-zhangtianyang%40loongson.cn
patch subject: [PATCH 2/2] irq/irq-loongarch-ir:Add Redirect irqchip support
config: loongarch-randconfig-002-20250305 (https://download.01.org/0day-ci/archive/20250305/202503052234.SiXLJuat-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250305/202503052234.SiXLJuat-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202503052234.SiXLJuat-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/percpu.h:5,
from include/linux/context_tracking_state.h:5,
from include/linux/hardirq.h:5,
from include/linux/interrupt.h:11,
from drivers/irqchip/irq-loongarch-ir.c:8:
drivers/irqchip/irq-loongarch-ir.c: In function 'redirect_queue_init':
>> drivers/irqchip/irq-loongarch-ir.c:413:62: error: 'INVALID_QUEUE_PAGE_ORDER' undeclared (first use in this function)
413 | pages = alloc_pages_node(0, GFP_KERNEL | __GFP_ZERO, INVALID_QUEUE_PAGE_ORDER);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/alloc_tag.h:227:16: note: in definition of macro 'alloc_hooks_tag'
227 | typeof(_do_alloc) _res; \
| ^~~~~~~~~
include/linux/gfp.h:295:49: note: in expansion of macro 'alloc_hooks'
295 | #define alloc_pages_node(...) alloc_hooks(alloc_pages_node_noprof(__VA_ARGS__))
| ^~~~~~~~~~~
drivers/irqchip/irq-loongarch-ir.c:413:17: note: in expansion of macro 'alloc_pages_node'
413 | pages = alloc_pages_node(0, GFP_KERNEL | __GFP_ZERO, INVALID_QUEUE_PAGE_ORDER);
| ^~~~~~~~~~~~~~~~
drivers/irqchip/irq-loongarch-ir.c:413:62: note: each undeclared identifier is reported only once for each function it appears in
413 | pages = alloc_pages_node(0, GFP_KERNEL | __GFP_ZERO, INVALID_QUEUE_PAGE_ORDER);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/alloc_tag.h:227:16: note: in definition of macro 'alloc_hooks_tag'
227 | typeof(_do_alloc) _res; \
| ^~~~~~~~~
include/linux/gfp.h:295:49: note: in expansion of macro 'alloc_hooks'
295 | #define alloc_pages_node(...) alloc_hooks(alloc_pages_node_noprof(__VA_ARGS__))
| ^~~~~~~~~~~
drivers/irqchip/irq-loongarch-ir.c:413:17: note: in expansion of macro 'alloc_pages_node'
413 | pages = alloc_pages_node(0, GFP_KERNEL | __GFP_ZERO, INVALID_QUEUE_PAGE_ORDER);
| ^~~~~~~~~~~~~~~~
>> drivers/irqchip/irq-loongarch-ir.c:413:15: error: assignment to 'struct page *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
413 | pages = alloc_pages_node(0, GFP_KERNEL | __GFP_ZERO, INVALID_QUEUE_PAGE_ORDER);
| ^
drivers/irqchip/irq-loongarch-ir.c: In function 'redirect_table_init':
>> drivers/irqchip/irq-loongarch-ir.c:440:65: error: 'IRD_PAGE_ORDER' undeclared (first use in this function); did you mean 'NR_PAGE_ORDERS'?
440 | pages = alloc_pages_node(node, GFP_KERNEL | __GFP_ZERO, IRD_PAGE_ORDER);
| ^~~~~~~~~~~~~~
include/linux/alloc_tag.h:227:16: note: in definition of macro 'alloc_hooks_tag'
227 | typeof(_do_alloc) _res; \
| ^~~~~~~~~
include/linux/gfp.h:295:49: note: in expansion of macro 'alloc_hooks'
295 | #define alloc_pages_node(...) alloc_hooks(alloc_pages_node_noprof(__VA_ARGS__))
| ^~~~~~~~~~~
drivers/irqchip/irq-loongarch-ir.c:440:17: note: in expansion of macro 'alloc_pages_node'
440 | pages = alloc_pages_node(node, GFP_KERNEL | __GFP_ZERO, IRD_PAGE_ORDER);
| ^~~~~~~~~~~~~~~~
drivers/irqchip/irq-loongarch-ir.c:440:15: error: assignment to 'struct page *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
440 | pages = alloc_pages_node(node, GFP_KERNEL | __GFP_ZERO, IRD_PAGE_ORDER);
| ^
drivers/irqchip/irq-loongarch-ir.c: In function 'redirect_table_fini':
drivers/irqchip/irq-loongarch-ir.c:475:47: error: 'IRD_PAGE_ORDER' undeclared (first use in this function); did you mean 'NR_PAGE_ORDERS'?
475 | __free_pages(ird_table->page, IRD_PAGE_ORDER);
| ^~~~~~~~~~~~~~
| NR_PAGE_ORDERS
drivers/irqchip/irq-loongarch-ir.c:486:44: error: 'INVALID_QUEUE_PAGE_ORDER' undeclared (first use in this function)
486 | __free_pages(rqueue->page, INVALID_QUEUE_PAGE_ORDER);
| ^~~~~~~~~~~~~~~~~~~~~~~~
vim +/INVALID_QUEUE_PAGE_ORDER +413 drivers/irqchip/irq-loongarch-ir.c
407
408 static int redirect_queue_init(int node)
409 {
410 struct redirect_queue *rqueue = &(irde_descs[node].inv_queue);
411 struct page *pages;
412
> 413 pages = alloc_pages_node(0, GFP_KERNEL | __GFP_ZERO, INVALID_QUEUE_PAGE_ORDER);
414 if (!pages) {
415 pr_err("Node [%d] Invalid Queue alloc pages failed!\n", node);
416 return -ENOMEM;
417 }
418
419 rqueue->page = pages;
420 rqueue->base = (u64)page_address(pages);
421 rqueue->max_size = INVALID_QUEUE_SIZE;
422 rqueue->head = 0;
423 rqueue->tail = 0;
424 rqueue->node = node;
425 raw_spin_lock_init(&rqueue->lock);
426
427 iocsr_write32(0, LOONGARCH_IOCSR_REDIRECT_CQH);
428 iocsr_write32(0, LOONGARCH_IOCSR_REDIRECT_CQT);
429 iocsr_write64(((rqueue->base & (CQB_ADDR_MASK << CQB_ADDR_SHIFT)) |
430 (CQB_SIZE_MASK << CQB_SIZE_SHIFT)), LOONGARCH_IOCSR_REDIRECT_CQB);
431 return 0;
432 }
433
434 static int redirect_table_init(int node)
435 {
436 struct redirect_table *ird_table = &(irde_descs[node].ird_table);
437 struct page *pages;
438 unsigned long *bitmap;
439
> 440 pages = alloc_pages_node(node, GFP_KERNEL | __GFP_ZERO, IRD_PAGE_ORDER);
441 if (!pages) {
442 pr_err("Node [%d] redirect table alloc pages failed!\n", node);
443 return -ENOMEM;
444 }
445 ird_table->page = pages;
446 ird_table->table = page_address(pages);
447
448 bitmap = bitmap_zalloc(IRD_ENTRIES, GFP_KERNEL);
449 if (!bitmap) {
450 pr_err("Node [%d] redirect table bitmap alloc pages failed!\n", node);
451 return -ENOMEM;
452 }
453
454 ird_table->bitmap = bitmap;
455 ird_table->nr_ird = IRD_ENTRIES;
456 ird_table->node = node;
457
458 raw_spin_lock_init(&ird_table->lock);
459
460 if (redirect_queue_init(node))
461 return -EINVAL;
462
463 iocsr_write64(CFG_DISABLE_IDLE, LOONGARCH_IOCSR_REDIRECT_CFG);
464 iocsr_write64(__pa(ird_table->table), LOONGARCH_IOCSR_REDIRECT_TBR);
465
466 return 0;
467 }
468
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2025-03-05 14:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-03 10:15 [PATCH 0/2] Loongarch irq-redirect supprot Tianyang Zhang
2025-03-03 10:15 ` [PATCH 1/2] Docs/LoongArch: Add Advanced Extended-Redirect IRQ model description Tianyang Zhang
2025-03-03 13:36 ` Huacai Chen
2025-03-06 2:09 ` Tianyang Zhang
2025-03-03 10:15 ` [PATCH 2/2] irq/irq-loongarch-ir:Add Redirect irqchip support Tianyang Zhang
2025-03-03 14:34 ` Huacai Chen
2025-03-03 21:28 ` Thomas Gleixner
2025-03-06 2:07 ` Tianyang Zhang
2025-03-06 2:06 ` Tianyang Zhang
2025-03-04 11:24 ` kernel test robot
2025-03-05 14:47 ` kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-03-17 8:22 [PATCH v1 0/2] Loongarch irq-redirect supprot Tianyang Zhang
2025-03-17 8:22 ` [PATCH 2/2] irq/irq-loongarch-ir:Add Redirect irqchip support Tianyang Zhang
2025-03-19 5:55 ` Tianyang Zhang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202503052234.SiXLJuat-lkp@intel.com \
--to=lkp@intel.com \
--cc=alexs@kernel.org \
--cc=chenhuacai@kernel.org \
--cc=corbet@lwn.net \
--cc=gaosong@loongson.cn \
--cc=jiaxun.yang@flygoat.com \
--cc=kernel@xen0n.name \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=loongarch@lists.linux.dev \
--cc=lvjianmin@loongson.cn \
--cc=maobibo@loongson.cn \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=peterz@infradead.org \
--cc=si.yanteng@linux.dev \
--cc=siyanteng@cqsoftware.com.cn \
--cc=tglx@linutronix.de \
--cc=wangliupu@loongson.cn \
--cc=yangtiezhu@loongson.cn \
--cc=zhangtianyang@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.