tree:
https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4
head: 22b71b41620dac13c69267d2b7898ebfb14c954e
commit: 7aee9da192ba57210897a418ada793ac5b15a851 [960/1297] net: axienet: Add support for
1588
config: riscv-randconfig-r024-20200512 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 9.3.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 7aee9da192ba57210897a418ada793ac5b15a851
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/net/ethernet/xilinx/xilinx_axienet_main.c: In function
'axienet_start_xmit_done':
> drivers/net/ethernet/xilinx/xilinx_axienet_main.c:761:22:
warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
761
| dev_kfree_skb_irq((struct sk_buff *)cur_p->tx_skb);
| ^
drivers/net/ethernet/xilinx/xilinx_axienet_main.c: In function
'axienet_start_xmit':
> drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1017:18:
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1017
| 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:2211:22: warning: cast to pointer from
integer of different size [-Wint-to-pointer-cast]
2211 | dev_kfree_skb_irq((struct sk_buff *) cur_p->tx_skb);
| ^
vim +761 drivers/net/ethernet/xilinx/xilinx_axienet_main.c
730
731 /**
732 * axienet_start_xmit_done - Invoked once a transmit is completed by the
733 * Axi DMA Tx channel.
734 * @ndev: Pointer to the net_device structure
735 *
736 * This function is invoked from the Axi DMA Tx isr to notify the completion
737 * of transmit operation. It clears fields in the corresponding Tx BDs and
738 * unmaps the corresponding buffer so that CPU can regain ownership of the
739 * buffer. It finally invokes "netif_wake_queue" to restart transmission
if
740 * required.
741 */
742 static void axienet_start_xmit_done(struct net_device *ndev)
743 {
744 u32 size = 0;
745 u32 packets = 0;
746 struct axienet_local *lp = netdev_priv(ndev);
747 struct axidma_bd *cur_p;
748 unsigned int status = 0;
749
750 cur_p = &lp->tx_bd_v[lp->tx_bd_ci];
751 status = cur_p->status;
752 while (status & XAXIDMA_BD_STS_COMPLETE_MASK) {
753 #ifdef CONFIG_XILINX_AXI_EMAC_HWTSTAMP
754 if (cur_p->ptp_tx_skb)
755 axienet_tx_hwtstamp(lp, cur_p);
756 #endif
757 dma_unmap_single(ndev->dev.parent, cur_p->phys,
758 (cur_p->cntrl & XAXIDMA_BD_CTRL_LENGTH_MASK),
759 DMA_TO_DEVICE);
760 if (cur_p->tx_skb)
761 dev_kfree_skb_irq((struct sk_buff *)cur_p->tx_skb);
762 /*cur_p->phys = 0;*/
763 cur_p->app0 = 0;
764 cur_p->app1 = 0;
765 cur_p->app2 = 0;
766 cur_p->app4 = 0;
767 cur_p->status = 0;
768 cur_p->tx_skb = 0;
769
770 size += status & XAXIDMA_BD_STS_ACTUAL_LEN_MASK;
771 packets++;
772
773 if (++lp->tx_bd_ci >= lp->tx_bd_num)
774 lp->tx_bd_ci = 0;
775 cur_p = &lp->tx_bd_v[lp->tx_bd_ci];
776 status = cur_p->status;
777 }
778
779 ndev->stats.tx_packets += packets;
780 ndev->stats.tx_bytes += size;
781
782 /* Matches barrier in axienet_start_xmit */
783 smp_mb();
784
785 netif_wake_queue(ndev);
786 }
787
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org