Hi Sireesh, [FYI, it's a private test report for your RFC patch.] [auto build test WARNING on net/master] [also build test WARNING on horms-ipvs/master net-next/master linus/master v5.15-rc2 next-20210920] [cannot apply to robh/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/Sireesh-Kodali/net-ipa-Add-support-for-IPA-v2-x/20210920-111317 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git e30cd812dffadc58241ae378e48728e6a161becd config: parisc-allyesconfig (attached as .config) compiler: hppa-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/b1b5bc3b7f526068559fc747d55c245971371803 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Sireesh-Kodali/net-ipa-Add-support-for-IPA-v2-x/20210920-111317 git checkout b1b5bc3b7f526068559fc747d55c245971371803 # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=parisc SHELL=/bin/bash drivers/net/ipa/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> drivers/net/ipa/ipa_trans.c:543: warning: expecting prototype for __gsi_trans_commit(). Prototype was for gsi_trans_commit() instead vim +543 drivers/net/ipa/ipa_trans.c 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 530 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 531 /** 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 532 * __gsi_trans_commit() - Common GSI transaction commit code 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 533 * @trans: Transaction to commit 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 534 * @ring_db: Whether to tell the hardware about these queued transfers 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 535 * 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 536 * Formats channel ring TRE entries based on the content of the scatterlist. 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 537 * Maps a transaction pointer to the last ring entry used for the transaction, 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 538 * so it can be recovered when it completes. Moves the transaction to the 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 539 * pending list. Finally, updates the channel ring pointer and optionally 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 540 * rings the doorbell. 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 541 */ b1b5bc3b7f5260 drivers/net/ipa/ipa_trans.c Sireesh Kodali 2021-09-20 542 void gsi_trans_commit(struct ipa_trans *trans, bool ring_db) 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 @543 { 715855d209e083 drivers/net/ipa/ipa_trans.c Vladimir Lypak 2021-09-20 544 struct ipa_channel *channel = &trans->dma_subsys->channel[trans->channel_id]; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 545 struct gsi_ring *ring = &channel->tre_ring; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 546 enum ipa_cmd_opcode opcode = IPA_CMD_NONE; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 547 bool bei = channel->toward_ipa; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 548 struct ipa_cmd_info *info; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 549 struct gsi_tre *dest_tre; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 550 struct scatterlist *sg; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 551 u32 byte_count = 0; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 552 u32 avail; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 553 u32 i; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 554 5bc5588466a1f8 drivers/net/ipa/gsi_trans.c Alex Elder 2021-07-26 555 WARN_ON(!trans->used); 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 556 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 557 /* Consume the entries. If we cross the end of the ring while 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 558 * filling them we'll switch to the beginning to finish. 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 559 * If there is no info array we're doing a simple data 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 560 * transfer request, whose opcode is IPA_CMD_NONE. 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 561 */ 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 562 info = trans->info ? &trans->info[0] : NULL; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 563 avail = ring->count - ring->index % ring->count; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 564 dest_tre = gsi_ring_virt(ring, ring->index); 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 565 for_each_sg(trans->sgl, sg, trans->used, i) { 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 566 bool last_tre = i == trans->used - 1; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 567 dma_addr_t addr = sg_dma_address(sg); 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 568 u32 len = sg_dma_len(sg); 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 569 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 570 byte_count += len; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 571 if (!avail--) 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 572 dest_tre = gsi_ring_virt(ring, 0); 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 573 if (info) 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 574 opcode = info++->opcode; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 575 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 576 gsi_trans_tre_fill(dest_tre, addr, len, last_tre, bei, opcode); 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 577 dest_tre++; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 578 } 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 579 ring->index += trans->used; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 580 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 581 if (channel->toward_ipa) { 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 582 /* We record TX bytes when they are sent */ 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 583 trans->len = byte_count; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 584 trans->trans_count = channel->trans_count; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 585 trans->byte_count = channel->byte_count; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 586 channel->trans_count++; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 587 channel->byte_count += byte_count; 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 588 } 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 589 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 590 /* Associate the last TRE with the transaction */ 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 591 gsi_channel_trans_map(channel, ring->index - 1, trans); 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 592 715855d209e083 drivers/net/ipa/ipa_trans.c Vladimir Lypak 2021-09-20 593 ipa_trans_move_pending(trans); 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 594 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 595 /* Ring doorbell if requested, or if all TREs are allocated */ 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 596 if (ring_db || !atomic_read(&channel->trans_info.tre_avail)) { 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 597 /* Report what we're handing off to hardware for TX channels */ 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 598 if (channel->toward_ipa) 715855d209e083 drivers/net/ipa/ipa_trans.c Vladimir Lypak 2021-09-20 599 ipa_channel_tx_queued(channel); 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 600 gsi_channel_doorbell(channel); 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 601 } 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 602 } 9dd441e4ed5755 drivers/net/ipa/gsi_trans.c Alex Elder 2020-03-05 603 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org