All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 4587/6583] drivers/net/ethernet/wangxun/libwx/wx_lib.c:754: undefined reference to `ptp_schedule_worker'
@ 2025-02-27 10:19 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-02-27 10:19 UTC (permalink / raw)
  To: Jiawen Wu; +Cc: oe-kbuild-all, Jakub Kicinski, Vadim Fedorenko

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-02-27 10:19 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-27 10:19 [linux-next:master 4587/6583] drivers/net/ethernet/wangxun/libwx/wx_lib.c:754: undefined reference to `ptp_schedule_worker' kernel test robot

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.