[xilinx-xlnx:xlnx_rebase_v5.15_LTS 216/1129] drivers/net/ethernet/xilinx/xilinx_axienet_main.c:690:31: warning: cast to pointer from integer of different size

kernel test robot lkp at intel.com
Fri May 6 14:19:27 PDT 2022


tree:   https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.15_LTS
head:   3076249fc30bf463f8390f89009de928ad3e95ff
commit: bf05571deda79b6b79d0e5cd93dd813a7696fa79 [216/1129] net: axienet: Add support for 1588
config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20220507/202205070534.9VpvFLXb-lkp@intel.com/config)
compiler: arceb-elf-gcc (GCC) 11.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://github.com/Xilinx/linux-xlnx/commit/bf05571deda79b6b79d0e5cd93dd813a7696fa79
        git remote add xilinx-xlnx https://github.com/Xilinx/linux-xlnx
        git fetch --no-tags xilinx-xlnx xlnx_rebase_v5.15_LTS
        git checkout bf05571deda79b6b79d0e5cd93dd813a7696fa79
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash drivers/clk/ drivers/gpu/drm/xlnx/ drivers/media/i2c/ drivers/media/mc/ drivers/media/platform/xilinx/ drivers/misc/ drivers/net/ethernet/xilinx/ drivers/phy/xilinx/ drivers/ptp/ drivers/staging/ drivers/uio/ drivers/usb/host/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>

All warnings (new ones prefixed by >>):

   drivers/net/ethernet/xilinx/xilinx_axienet_main.c: In function 'axienet_tx_hwtstamp':
>> drivers/net/ethernet/xilinx/xilinx_axienet_main.c:690:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     690 |                 skb_hwtstamps((struct sk_buff *)cur_p->ptp_tx_skb);
         |                               ^
   drivers/net/ethernet/xilinx/xilinx_axienet_main.c:743:26: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     743 |                 skb_pull((struct sk_buff *)cur_p->ptp_tx_skb,
         |                          ^
   drivers/net/ethernet/xilinx/xilinx_axienet_main.c:746:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     746 |         skb_tstamp_tx((struct sk_buff *)cur_p->ptp_tx_skb, shhwtstamps);
         |                       ^
   drivers/net/ethernet/xilinx/xilinx_axienet_main.c:747:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     747 |         dev_kfree_skb_any((struct sk_buff *)cur_p->ptp_tx_skb);
         |                           ^
   drivers/net/ethernet/xilinx/xilinx_axienet_main.c: In function 'axienet_start_xmit':
>> drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1066:53: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    1066 |                                 cur_p->ptp_tx_skb = (phys_addr_t)skb_get(skb);
         |                                                     ^
   drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1137:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    1137 |         cur_p->tx_skb = (phys_addr_t)skb;
         |                         ^
   drivers/net/ethernet/xilinx/xilinx_axienet_main.c: In function 'axienet_dma_err_handler':
   drivers/net/ethernet/xilinx/xilinx_axienet_main.c:2397:43: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    2397 |                         dev_kfree_skb_irq((struct sk_buff *)cur_p->tx_skb);
         |                                           ^
   drivers/net/ethernet/xilinx/xilinx_axienet_main.c: In function 'axienet_probe':
>> drivers/net/ethernet/xilinx/xilinx_axienet_main.c:2719:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
    2719 |         struct resource txtsres, rxtsres;
         |         ^~~~~~
   At top level:
   drivers/net/ethernet/xilinx/xilinx_axienet_main.c:682:13: warning: 'axienet_tx_hwtstamp' defined but not used [-Wunused-function]
     682 | static void axienet_tx_hwtstamp(struct axienet_local *lp,
         |             ^~~~~~~~~~~~~~~~~~~


vim +690 drivers/net/ethernet/xilinx/xilinx_axienet_main.c

   673	
   674	#ifdef CONFIG_XILINX_AXI_EMAC_HWTSTAMP
   675	/**
   676	 * axienet_tx_hwtstamp - Read tx timestamp from hw and update it to the skbuff
   677	 * @lp:		Pointer to axienet local structure
   678	 * @cur_p:	Pointer to the axi_dma current bd
   679	 *
   680	 * Return:	None.
   681	 */
   682	static void axienet_tx_hwtstamp(struct axienet_local *lp,
   683					struct axidma_bd *cur_p)
   684	{
   685		u32 sec = 0, nsec = 0, val;
   686		u64 time64;
   687		int err = 0;
   688		u32 count, len = lp->axienet_config->tx_ptplen;
   689		struct skb_shared_hwtstamps *shhwtstamps =
 > 690			skb_hwtstamps((struct sk_buff *)cur_p->ptp_tx_skb);
   691	
   692		val = axienet_txts_ior(lp, XAXIFIFO_TXTS_ISR);
   693		if (unlikely(!(val & XAXIFIFO_TXTS_INT_RC_MASK)))
   694			dev_info(lp->dev, "Did't get FIFO tx interrupt %d\n", val);
   695	
   696		/* If FIFO is configured in cut through Mode we will get Rx complete
   697		 * interrupt even one byte is there in the fifo wait for the full packet
   698		 */
   699		err = readl_poll_timeout_atomic(lp->tx_ts_regs + XAXIFIFO_TXTS_RLR, val,
   700						((val & XAXIFIFO_TXTS_RXFD_MASK) >=
   701						len), 0, 1000000);
   702		if (err)
   703			netdev_err(lp->ndev, "%s: Didn't get the full timestamp packet",
   704				   __func__);
   705	
   706		nsec = axienet_txts_ior(lp, XAXIFIFO_TXTS_RXFD);
   707		sec  = axienet_txts_ior(lp, XAXIFIFO_TXTS_RXFD);
   708		val = axienet_txts_ior(lp, XAXIFIFO_TXTS_RXFD);
   709		val = ((val & XAXIFIFO_TXTS_TAG_MASK) >> XAXIFIFO_TXTS_TAG_SHIFT);
   710		dev_dbg(lp->dev, "tx_stamp:[%04x] %04x %u %9u\n",
   711			cur_p->ptp_tx_ts_tag, val, sec, nsec);
   712	
   713		if (val != cur_p->ptp_tx_ts_tag) {
   714			count = axienet_txts_ior(lp, XAXIFIFO_TXTS_RFO);
   715			while (count) {
   716				nsec = axienet_txts_ior(lp, XAXIFIFO_TXTS_RXFD);
   717				sec  = axienet_txts_ior(lp, XAXIFIFO_TXTS_RXFD);
   718				val = axienet_txts_ior(lp, XAXIFIFO_TXTS_RXFD);
   719				val = ((val & XAXIFIFO_TXTS_TAG_MASK) >>
   720					XAXIFIFO_TXTS_TAG_SHIFT);
   721	
   722				dev_dbg(lp->dev, "tx_stamp:[%04x] %04x %u %9u\n",
   723					cur_p->ptp_tx_ts_tag, val, sec, nsec);
   724				if (val == cur_p->ptp_tx_ts_tag)
   725					break;
   726				count = axienet_txts_ior(lp, XAXIFIFO_TXTS_RFO);
   727			}
   728			if (val != cur_p->ptp_tx_ts_tag) {
   729				dev_info(lp->dev, "Mismatching 2-step tag. Got %x",
   730					 val);
   731				dev_info(lp->dev, "Expected %x\n",
   732					 cur_p->ptp_tx_ts_tag);
   733			}
   734		}
   735	
   736		if (lp->axienet_config->mactype != XAXIENET_10G_25G)
   737			val = axienet_txts_ior(lp, XAXIFIFO_TXTS_RXFD);
   738	
   739		time64 = sec * NS_PER_SEC + nsec;
   740		memset(shhwtstamps, 0, sizeof(struct skb_shared_hwtstamps));
   741		shhwtstamps->hwtstamp = ns_to_ktime(time64);
   742		if (lp->axienet_config->mactype != XAXIENET_10G_25G)
   743			skb_pull((struct sk_buff *)cur_p->ptp_tx_skb,
   744				 AXIENET_TS_HEADER_LEN);
   745	
 > 746		skb_tstamp_tx((struct sk_buff *)cur_p->ptp_tx_skb, shhwtstamps);
   747		dev_kfree_skb_any((struct sk_buff *)cur_p->ptp_tx_skb);
   748		cur_p->ptp_tx_skb = 0;
   749	}
   750	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



More information about the linux-arm-kernel mailing list