Hi Joyce",

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net/master]
[also build test WARNING on robh/for-next sparc-next/master linus/master v5.7 
next-20200604]
[cannot apply to net-next/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    
https://github.com/0day-ci/linux/commits/Ooi-Joyce/net-eth-altera-tse-Add-PTP-and-mSGDMA-prefetcher/20200604-153632
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git 
bdc48fa11e46f867ea4d75fa59ee87a7f48be144
config: arc-allyesconfig (attached as .config)
compiler: arc-elf-gcc (GCC) 9.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
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc 

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

All warnings (new ones prefixed by >>, old ones prefixed by <<):

drivers/net/ethernet/altera/altera_msgdma_prefetcher.c: In function 
'msgdma_pref_initialize':
>> drivers/net/ethernet/altera/altera_msgdma_prefetcher.c:97:49: warning: 
>> format '%x' expects argument of type 'unsigned int', but argument 4 has type 
>> 'dma_addr_t' {aka 'long long unsigned int'} [-Wformat=]
97 |   netdev_info(priv->dev, "%s: RX Desc mem at 0x%xn", __func__,
|                                                ~^
|                                                 |
|                                                 unsigned int
|                                                %llx
98 |        priv->pref_rxdescphys);
|        ~~~~~~~~~~~~~~~~~~~~~
|            |
|            dma_addr_t {aka long long unsigned int}
drivers/net/ethernet/altera/altera_msgdma_prefetcher.c:101:49: warning: format 
'%x' expects argument of type 'unsigned int', but argument 4 has type 
'dma_addr_t' {aka 'long long unsigned int'} [-Wformat=]
101 |   netdev_info(priv->dev, "%s: TX Desc mem at 0x%xn", __func__,
|                                                ~^
|                                                 |
|                                                 unsigned int
|                                                %llx
102 |        priv->pref_txdescphys);
|        ~~~~~~~~~~~~~~~~~~~~~
|            |
|            dma_addr_t {aka long long unsigned int}

vim +97 drivers/net/ethernet/altera/altera_msgdma_prefetcher.c

    18  
    19  int msgdma_pref_initialize(struct altera_tse_private *priv)
    20  {
    21          int i;
    22          struct msgdma_pref_extended_desc *rx_descs;
    23          struct msgdma_pref_extended_desc *tx_descs;
    24          dma_addr_t rx_descsphys;
    25          dma_addr_t tx_descsphys;
    26  
    27          priv->pref_rxdescphys = (dma_addr_t)0;
    28          priv->pref_txdescphys = (dma_addr_t)0;
    29  
    30          /* we need to allocate more pref descriptors than ringsize to
    31           * prevent all of the descriptors being owned by hw.  To do this
    32           * we just allocate twice ring_size descriptors.
    33           * rx_ring_size = priv->rx_ring_size * 2
    34           * tx_ring_size = priv->tx_ring_size * 2
    35           */
    36  
    37          /* The prefetcher requires the descriptors to be aligned to the
    38           * descriptor read/write master's data width which worst case is
    39           * 512 bits.  Currently we DO NOT CHECK THIS and only support 
32-bit
    40           * prefetcher masters.
    41           */
    42  
    43          /* allocate memory for rx descriptors */
    44          priv->pref_rxdesc =
    45                  dma_alloc_coherent(priv->device,
    46                                     sizeof(struct 
msgdma_pref_extended_desc)
    47                                     * priv->rx_ring_size * 2,
    48                                     &priv->pref_rxdescphys, GFP_KERNEL);
    49  
    50          if (!priv->pref_rxdesc)
    51                  goto err_rx;
    52  
    53          /* allocate memory for tx descriptors */
    54          priv->pref_txdesc =
    55                  dma_alloc_coherent(priv->device,
    56                                     sizeof(struct 
msgdma_pref_extended_desc)
    57                                     * priv->tx_ring_size * 2,
    58                                     &priv->pref_txdescphys, GFP_KERNEL);
    59  
    60          if (!priv->pref_txdesc)
    61                  goto err_tx;
    62  
    63          /* setup base descriptor ring for tx & rx */
    64          rx_descs = (struct msgdma_pref_extended_desc 
*)priv->pref_rxdesc;
    65          tx_descs = (struct msgdma_pref_extended_desc 
*)priv->pref_txdesc;
    66          tx_descsphys = priv->pref_txdescphys;
    67          rx_descsphys = priv->pref_rxdescphys;
    68  
    69          /* setup RX descriptors */
    70          priv->pref_rx_prod = 0;
    71          for (i = 0; i < priv->rx_ring_size * 2; i++) {
    72                  rx_descsphys = priv->pref_rxdescphys +
    73                          (((i + 1) % (priv->rx_ring_size * 2)) *
    74                          sizeof(struct msgdma_pref_extended_desc));
    75                  rx_descs[i].next_desc_lo = lower_32_bits(rx_descsphys);
    76                  rx_descs[i].next_desc_hi = upper_32_bits(rx_descsphys);
    77                  rx_descs[i].stride = MSGDMA_DESC_RX_STRIDE;
    78                  /* burst set to 0 so it defaults to max configured */
    79                  /* set seq number to desc number */
    80                  rx_descs[i].burst_seq_num = i;
    81          }
    82  
    83          /* setup TX descriptors */
    84          for (i = 0; i < priv->tx_ring_size * 2; i++) {
    85                  tx_descsphys = priv->pref_txdescphys +
    86                          (((i + 1) % (priv->tx_ring_size * 2)) *
    87                          sizeof(struct msgdma_pref_extended_desc));
    88                  tx_descs[i].next_desc_lo = lower_32_bits(tx_descsphys);
    89                  tx_descs[i].next_desc_hi = upper_32_bits(tx_descsphys);
    90                  tx_descs[i].stride = MSGDMA_DESC_TX_STRIDE;
    91                  /* burst set to 0 so it defaults to max configured */
    92                  /* set seq number to desc number */
    93                  tx_descs[i].burst_seq_num = i;
    94          }
    95  
    96          if (netif_msg_ifup(priv))
  > 97                  netdev_info(priv->dev, "%s: RX Desc mem at 0x%x\n", 
__func__,
    98                              priv->pref_rxdescphys);
    99  
   100          if (netif_msg_ifup(priv))
   101                  netdev_info(priv->dev, "%s: TX Desc mem at 0x%x\n", 
__func__,
   102                              priv->pref_txdescphys);
   103  
   104          return 0;
   105  
   106  err_tx:
   107          dma_free_coherent(priv->device,
   108                            sizeof(struct msgdma_pref_extended_desc)
   109                            * priv->rx_ring_size * 2,
   110                            priv->pref_rxdesc, priv->pref_rxdescphys);
   111  err_rx:
   112          return -ENOMEM;
   113  }
   114  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to