From: kernel test robot <lkp@intel.com>
To: Jiawen Wu <jiawenwu@trustnetic.com>
Cc: oe-kbuild-all@lists.linux.dev, Jakub Kicinski <kuba@kernel.org>,
Vadim Fedorenko <vadim.fedorenko@linux.dev>
Subject: [linux-next:master 4587/6583] drivers/net/ethernet/wangxun/libwx/wx_lib.c:754: undefined reference to `ptp_schedule_worker'
Date: Thu, 27 Feb 2025 18:19:12 +0800 [thread overview]
Message-ID: <202502271823.AtVuucky-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 8433c776e1eb1371f5cd40b5fd3a61f9c7b7f3ad
commit: 06e75161b9d4833518a7c266310a0635eab50616 [4587/6583] net: wangxun: Add support for PTP clock
config: x86_64-randconfig-121-20250226 (https://download.01.org/0day-ci/archive/20250227/202502271823.AtVuucky-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250227/202502271823.AtVuucky-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/202502271823.AtVuucky-lkp@intel.com/
All errors (new ones prefixed by >>):
ld: drivers/net/ethernet/wangxun/libwx/wx_lib.o: in function `wx_clean_tx_irq':
>> drivers/net/ethernet/wangxun/libwx/wx_lib.c:754: undefined reference to `ptp_schedule_worker'
ld: drivers/net/ethernet/wangxun/libwx/wx_ptp.o: in function `wx_ptp_create_clock':
>> drivers/net/ethernet/wangxun/libwx/wx_ptp.c:251: undefined reference to `ptp_clock_register'
ld: drivers/net/ethernet/wangxun/libwx/wx_ptp.o: in function `wx_ptp_stop':
>> drivers/net/ethernet/wangxun/libwx/wx_ptp.c:536: undefined reference to `ptp_clock_unregister'
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for LIBWX
Depends on [m]: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_WANGXUN [=y] && PTP_1588_CLOCK_OPTIONAL [=m]
Selected by [y]:
- NGBE [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_WANGXUN [=y] && PCI [=y]
vim +754 drivers/net/ethernet/wangxun/libwx/wx_lib.c
706
707 /**
708 * wx_clean_tx_irq - Reclaim resources after transmit completes
709 * @q_vector: structure containing interrupt and ring information
710 * @tx_ring: tx ring to clean
711 * @napi_budget: Used to determine if we are in netpoll
712 **/
713 static bool wx_clean_tx_irq(struct wx_q_vector *q_vector,
714 struct wx_ring *tx_ring, int napi_budget)
715 {
716 unsigned int budget = q_vector->wx->tx_work_limit;
717 unsigned int total_bytes = 0, total_packets = 0;
718 struct wx *wx = netdev_priv(tx_ring->netdev);
719 unsigned int i = tx_ring->next_to_clean;
720 struct wx_tx_buffer *tx_buffer;
721 union wx_tx_desc *tx_desc;
722
723 if (!netif_carrier_ok(tx_ring->netdev))
724 return true;
725
726 tx_buffer = &tx_ring->tx_buffer_info[i];
727 tx_desc = WX_TX_DESC(tx_ring, i);
728 i -= tx_ring->count;
729
730 do {
731 union wx_tx_desc *eop_desc = tx_buffer->next_to_watch;
732
733 /* if next_to_watch is not set then there is no work pending */
734 if (!eop_desc)
735 break;
736
737 /* prevent any other reads prior to eop_desc */
738 smp_rmb();
739
740 /* if DD is not set pending work has not been completed */
741 if (!(eop_desc->wb.status & cpu_to_le32(WX_TXD_STAT_DD)))
742 break;
743
744 /* clear next_to_watch to prevent false hangs */
745 tx_buffer->next_to_watch = NULL;
746
747 /* update the statistics for this packet */
748 total_bytes += tx_buffer->bytecount;
749 total_packets += tx_buffer->gso_segs;
750
751 /* schedule check for Tx timestamp */
752 if (unlikely(test_bit(WX_STATE_PTP_TX_IN_PROGRESS, wx->state)) &&
753 skb_shinfo(tx_buffer->skb)->tx_flags & SKBTX_IN_PROGRESS)
> 754 ptp_schedule_worker(wx->ptp_clock, 0);
755
756 /* free the skb */
757 napi_consume_skb(tx_buffer->skb, napi_budget);
758
759 /* unmap skb header data */
760 dma_unmap_single(tx_ring->dev,
761 dma_unmap_addr(tx_buffer, dma),
762 dma_unmap_len(tx_buffer, len),
763 DMA_TO_DEVICE);
764
765 /* clear tx_buffer data */
766 dma_unmap_len_set(tx_buffer, len, 0);
767
768 /* unmap remaining buffers */
769 while (tx_desc != eop_desc) {
770 tx_buffer++;
771 tx_desc++;
772 i++;
773 if (unlikely(!i)) {
774 i -= tx_ring->count;
775 tx_buffer = tx_ring->tx_buffer_info;
776 tx_desc = WX_TX_DESC(tx_ring, 0);
777 }
778
779 /* unmap any remaining paged data */
780 if (dma_unmap_len(tx_buffer, len)) {
781 dma_unmap_page(tx_ring->dev,
782 dma_unmap_addr(tx_buffer, dma),
783 dma_unmap_len(tx_buffer, len),
784 DMA_TO_DEVICE);
785 dma_unmap_len_set(tx_buffer, len, 0);
786 }
787 }
788
789 /* move us one more past the eop_desc for start of next pkt */
790 tx_buffer++;
791 tx_desc++;
792 i++;
793 if (unlikely(!i)) {
794 i -= tx_ring->count;
795 tx_buffer = tx_ring->tx_buffer_info;
796 tx_desc = WX_TX_DESC(tx_ring, 0);
797 }
798
799 /* issue prefetch for next Tx descriptor */
800 prefetch(tx_desc);
801
802 /* update budget accounting */
803 budget--;
804 } while (likely(budget));
805
806 i += tx_ring->count;
807 tx_ring->next_to_clean = i;
808 u64_stats_update_begin(&tx_ring->syncp);
809 tx_ring->stats.bytes += total_bytes;
810 tx_ring->stats.packets += total_packets;
811 u64_stats_update_end(&tx_ring->syncp);
812 q_vector->tx.total_bytes += total_bytes;
813 q_vector->tx.total_packets += total_packets;
814
815 netdev_tx_completed_queue(wx_txring_txq(tx_ring),
816 total_packets, total_bytes);
817
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2025-02-27 10:19 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202502271823.AtVuucky-lkp@intel.com \
--to=lkp@intel.com \
--cc=jiawenwu@trustnetic.com \
--cc=kuba@kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=vadim.fedorenko@linux.dev \
/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.