tree:
https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux.git habanalabs-next
head: f3fad4c1da9034b716430407921cbd316d8c76dd
commit: d0c1406684537f957204b2294738c9dfba50c181 [15/62] habanalabs/gaudi: add support for
NIC QMANs
config: s390-allyesconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.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/ogabbay/linux.git/commit/...
git remote add ogabbay
https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux.git
git fetch --no-tags ogabbay habanalabs-next
git checkout d0c1406684537f957204b2294738c9dfba50c181
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390
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/habanalabs/gaudi/gaudi.c:2464:6: warning: no
previous prototype for 'gaudi_init_nic_qmans' [-Wmissing-prototypes]
2464 | void gaudi_init_nic_qmans(struct hl_device *hdev)
| ^~~~~~~~~~~~~~~~~~~~
drivers/misc/habanalabs/gaudi/gaudi.c:7239:5: warning: no previous prototype for
'gaudi_gen_wait_cb' [-Wmissing-prototypes]
7239 | u32 gaudi_gen_wait_cb(struct hl_device *hdev,
| ^~~~~~~~~~~~~~~~~
vim +/gaudi_init_nic_qmans +2464 drivers/misc/habanalabs/gaudi/gaudi.c
2455
2456 /**
2457 * gaudi_init_nic_qmans - Initialize NIC QMAN registers
2458 *
2459 * @hdev: pointer to hl_device structure
2460 *
2461 * Initialize the H/W registers of the NIC QMANs
2462 *
2463 */
2464 void gaudi_init_nic_qmans(struct hl_device *hdev)
2465 {
2466 struct gaudi_device *gaudi = hdev->asic_specific;
2467 struct gaudi_internal_qman_info *q;
2468 u64 qman_base_addr;
2469 u32 nic_offset = 0;
2470 u32 nic_delta_between_qmans =
2471 mmNIC0_QM1_GLBL_CFG0 - mmNIC0_QM0_GLBL_CFG0;
2472 u32 nic_delta_between_nics =
2473 mmNIC1_QM0_GLBL_CFG0 - mmNIC0_QM0_GLBL_CFG0;
2474 int i, nic_id, internal_q_index;
2475
2476 if (!hdev->nic_ports_mask)
2477 return;
2478
2479 if (gaudi->hw_cap_initialized & HW_CAP_NIC_MASK)
2480 return;
2481
2482 dev_dbg(hdev->dev, "Initializing NIC QMANs\n");
2483
2484 for (nic_id = 0 ; nic_id < NIC_NUMBER_OF_ENGINES ; nic_id++) {
2485 if (!(hdev->nic_ports_mask & (1 << nic_id))) {
2486 nic_offset += nic_delta_between_qmans;
2487 if (nic_id & 1) {
2488 nic_offset -= (nic_delta_between_qmans * 2);
2489 nic_offset += nic_delta_between_nics;
2490 }
2491 continue;
2492 }
2493
2494 for (i = 0 ; i < QMAN_STREAMS ; i++) {
2495 internal_q_index = GAUDI_QUEUE_ID_NIC_0_0 +
2496 nic_id * QMAN_STREAMS + i;
2497 q = &gaudi->internal_qmans[internal_q_index];
2498 qman_base_addr = (u64) q->pq_dma_addr;
2499 gaudi_init_nic_qman(hdev, nic_offset, (i & 0x3),
2500 qman_base_addr, nic_id);
2501 }
2502
2503 /* Enable the QMAN */
2504 WREG32(mmNIC0_QM0_GLBL_CFG0 + nic_offset, NIC_QMAN_ENABLE);
2505
2506 nic_offset += nic_delta_between_qmans;
2507 if (nic_id & 1) {
2508 nic_offset -= (nic_delta_between_qmans * 2);
2509 nic_offset += nic_delta_between_nics;
2510 }
2511
2512 gaudi->hw_cap_initialized |= 1 << (HW_CAP_NIC_SHIFT + nic_id);
2513 }
2514 }
2515
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org