From: kernel test robot <lkp@intel.com>
To: Paul Greenwalt <paul.greenwalt@intel.com>,
intel-wired-lan@lists.osuosl.org
Cc: aleksander.lobakin@intel.com, llvm@lists.linux.dev,
Paul Greenwalt <paul.greenwalt@intel.com>,
oe-kbuild-all@lists.linux.dev
Subject: Re: [Intel-wired-lan] [PATCH iwl-next v3] ice: add E830 HW VF mailbox message limit support
Date: Wed, 14 Aug 2024 22:51:40 +0800 [thread overview]
Message-ID: <202408142133.W175mlnf-lkp@intel.com> (raw)
In-Reply-To: <20240812221501.1705162-1-paul.greenwalt@intel.com>
Hi Paul,
kernel test robot noticed the following build errors:
[auto build test ERROR on tnguy-next-queue/dev-queue]
url: https://github.com/intel-lab-lkp/linux/commits/Paul-Greenwalt/ice-add-E830-HW-VF-mailbox-message-limit-support/20240814-151255
base: https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git dev-queue
patch link: https://lore.kernel.org/r/20240812221501.1705162-1-paul.greenwalt%40intel.com
patch subject: [Intel-wired-lan] [PATCH iwl-next v3] ice: add E830 HW VF mailbox message limit support
config: i386-randconfig-006-20240814 (https://download.01.org/0day-ci/archive/20240814/202408142133.W175mlnf-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240814/202408142133.W175mlnf-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/202408142133.W175mlnf-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/net/ethernet/intel/ice/ice_main.c:1546:5: error: call to undeclared function 'ice_mbx_vf_dec_trig_e830'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
1546 | ice_mbx_vf_dec_trig_e830(hw, &event);
| ^
drivers/net/ethernet/intel/ice/ice_main.c:5269:39: warning: shift count >= width of type [-Wshift-count-overflow]
5269 | err = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64));
| ^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:77:54: note: expanded from macro 'DMA_BIT_MASK'
77 | #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
| ^ ~~~
1 warning and 1 error generated.
vim +/ice_mbx_vf_dec_trig_e830 +1546 drivers/net/ethernet/intel/ice/ice_main.c
1426
1427 /**
1428 * __ice_clean_ctrlq - helper function to clean controlq rings
1429 * @pf: ptr to struct ice_pf
1430 * @q_type: specific Control queue type
1431 */
1432 static int __ice_clean_ctrlq(struct ice_pf *pf, enum ice_ctl_q q_type)
1433 {
1434 struct device *dev = ice_pf_to_dev(pf);
1435 struct ice_rq_event_info event;
1436 struct ice_hw *hw = &pf->hw;
1437 struct ice_ctl_q_info *cq;
1438 u16 pending, i = 0;
1439 const char *qtype;
1440 u32 oldval, val;
1441
1442 /* Do not clean control queue if/when PF reset fails */
1443 if (test_bit(ICE_RESET_FAILED, pf->state))
1444 return 0;
1445
1446 switch (q_type) {
1447 case ICE_CTL_Q_ADMIN:
1448 cq = &hw->adminq;
1449 qtype = "Admin";
1450 break;
1451 case ICE_CTL_Q_SB:
1452 cq = &hw->sbq;
1453 qtype = "Sideband";
1454 break;
1455 case ICE_CTL_Q_MAILBOX:
1456 cq = &hw->mailboxq;
1457 qtype = "Mailbox";
1458 /* we are going to try to detect a malicious VF, so set the
1459 * state to begin detection
1460 */
1461 hw->mbx_snapshot.mbx_buf.state = ICE_MAL_VF_DETECT_STATE_NEW_SNAPSHOT;
1462 break;
1463 default:
1464 dev_warn(dev, "Unknown control queue type 0x%x\n", q_type);
1465 return 0;
1466 }
1467
1468 /* check for error indications - PF_xx_AxQLEN register layout for
1469 * FW/MBX/SB are identical so just use defines for PF_FW_AxQLEN.
1470 */
1471 val = rd32(hw, cq->rq.len);
1472 if (val & (PF_FW_ARQLEN_ARQVFE_M | PF_FW_ARQLEN_ARQOVFL_M |
1473 PF_FW_ARQLEN_ARQCRIT_M)) {
1474 oldval = val;
1475 if (val & PF_FW_ARQLEN_ARQVFE_M)
1476 dev_dbg(dev, "%s Receive Queue VF Error detected\n",
1477 qtype);
1478 if (val & PF_FW_ARQLEN_ARQOVFL_M) {
1479 dev_dbg(dev, "%s Receive Queue Overflow Error detected\n",
1480 qtype);
1481 }
1482 if (val & PF_FW_ARQLEN_ARQCRIT_M)
1483 dev_dbg(dev, "%s Receive Queue Critical Error detected\n",
1484 qtype);
1485 val &= ~(PF_FW_ARQLEN_ARQVFE_M | PF_FW_ARQLEN_ARQOVFL_M |
1486 PF_FW_ARQLEN_ARQCRIT_M);
1487 if (oldval != val)
1488 wr32(hw, cq->rq.len, val);
1489 }
1490
1491 val = rd32(hw, cq->sq.len);
1492 if (val & (PF_FW_ATQLEN_ATQVFE_M | PF_FW_ATQLEN_ATQOVFL_M |
1493 PF_FW_ATQLEN_ATQCRIT_M)) {
1494 oldval = val;
1495 if (val & PF_FW_ATQLEN_ATQVFE_M)
1496 dev_dbg(dev, "%s Send Queue VF Error detected\n",
1497 qtype);
1498 if (val & PF_FW_ATQLEN_ATQOVFL_M) {
1499 dev_dbg(dev, "%s Send Queue Overflow Error detected\n",
1500 qtype);
1501 }
1502 if (val & PF_FW_ATQLEN_ATQCRIT_M)
1503 dev_dbg(dev, "%s Send Queue Critical Error detected\n",
1504 qtype);
1505 val &= ~(PF_FW_ATQLEN_ATQVFE_M | PF_FW_ATQLEN_ATQOVFL_M |
1506 PF_FW_ATQLEN_ATQCRIT_M);
1507 if (oldval != val)
1508 wr32(hw, cq->sq.len, val);
1509 }
1510
1511 event.buf_len = cq->rq_buf_size;
1512 event.msg_buf = kzalloc(event.buf_len, GFP_KERNEL);
1513 if (!event.msg_buf)
1514 return 0;
1515
1516 do {
1517 struct ice_mbx_data data = {};
1518 u16 opcode;
1519 int ret;
1520
1521 ret = ice_clean_rq_elem(hw, cq, &event, &pending);
1522 if (ret == -EALREADY)
1523 break;
1524 if (ret) {
1525 dev_err(dev, "%s Receive Queue event error %d\n", qtype,
1526 ret);
1527 break;
1528 }
1529
1530 opcode = le16_to_cpu(event.desc.opcode);
1531
1532 /* Notify any thread that might be waiting for this event */
1533 ice_aq_check_events(pf, opcode, &event);
1534
1535 switch (opcode) {
1536 case ice_aqc_opc_get_link_status:
1537 if (ice_handle_link_event(pf, &event))
1538 dev_err(dev, "Could not handle link event\n");
1539 break;
1540 case ice_aqc_opc_event_lan_overflow:
1541 ice_vf_lan_overflow_event(pf, &event);
1542 break;
1543 case ice_mbx_opc_send_msg_to_pf:
1544 if (ice_is_feature_supported(pf, ICE_F_MBX_LIMIT)) {
1545 ice_vc_process_vf_msg(pf, &event, NULL);
> 1546 ice_mbx_vf_dec_trig_e830(hw, &event);
1547 } else {
1548 u16 val = hw->mailboxq.num_rq_entries;
1549
1550 data.max_num_msgs_mbx = val;
1551 val = ICE_MBX_OVERFLOW_WATERMARK;
1552 data.async_watermark_val = val;
1553 data.num_msg_proc = i;
1554 data.num_pending_arq = pending;
1555
1556 ice_vc_process_vf_msg(pf, &event, &data);
1557 }
1558 break;
1559 case ice_aqc_opc_fw_logs_event:
1560 ice_get_fwlog_data(pf, &event);
1561 break;
1562 case ice_aqc_opc_lldp_set_mib_change:
1563 ice_dcb_process_lldp_set_mib_change(pf, &event);
1564 break;
1565 default:
1566 dev_dbg(dev, "%s Receive Queue unknown event 0x%04x ignored\n",
1567 qtype, opcode);
1568 break;
1569 }
1570 } while (pending && (i++ < ICE_DFLT_IRQ_WORK));
1571
1572 kfree(event.msg_buf);
1573
1574 return pending && (i == ICE_DFLT_IRQ_WORK);
1575 }
1576
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-08-14 14:52 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-12 22:15 [Intel-wired-lan] [PATCH iwl-next v3] ice: add E830 HW VF mailbox message limit support Paul Greenwalt
2024-08-14 14:51 ` kernel test robot [this message]
2024-08-15 7:58 ` Paul Menzel
2024-08-19 20:59 ` Greenwalt, Paul
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=202408142133.W175mlnf-lkp@intel.com \
--to=lkp@intel.com \
--cc=aleksander.lobakin@intel.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=paul.greenwalt@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox