Re: drivers/net/ethernet/lantiq_etop.c:265:62: error: 'rx_burst_len' undeclared

From: Aleksander Bajkowski
Date: Tue Nov 09 2021 - 17:38:11 EST




On 11/9/21 8:21 PM, Randy Dunlap wrote:
> On 11/8/21 2:29 PM, kernel test robot wrote:
>> Hi Aleksander,
>>
>> FYI, the error/warning still remains.
>>
>> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head:   d2f38a3c6507b2520101f9a3807ed98f1bdc545a
>> commit: 14d4e308e0aa0b78dc7a059716861a4380de3535 net: lantiq: configure the burst length in ethernet drivers
>> date:   8 weeks ago
>> config: mips-xway_defconfig (attached as .config)
>> compiler: mips-linux-gcc (GCC) 11.2.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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=14d4e308e0aa0b78dc7a059716861a4380de3535
>>          git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>          git fetch --no-tags linus master
>>          git checkout 14d4e308e0aa0b78dc7a059716861a4380de3535
>>          # save the attached .config to linux build tree
>>          mkdir build_dir
>>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=mips SHELL=/bin/bash
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>>
>> All errors (new ones prefixed by >>):
>>
>>     drivers/net/ethernet/lantiq_etop.c: In function 'ltq_etop_hw_init':
>>>> drivers/net/ethernet/lantiq_etop.c:265:62: error: 'rx_burst_len' undeclared (first use in this function)
>>       265 |         ltq_dma_init_port(DMA_PORT_ETOP, priv->tx_burst_len, rx_burst_len);
>>           |                                                              ^~~~~~~~~~~~
>
>>>>>>>>>>>>>>>>>>>>                                                        priv->rx_burs_len);
>
>>     drivers/net/ethernet/lantiq_etop.c:265:62: note: each undeclared identifier is reported only once for each function it appears in
>>     drivers/net/ethernet/lantiq_etop.c: In function 'ltq_etop_probe':
>>>> drivers/net/ethernet/lantiq_etop.c:673:15: error: implicit declaration of function 'device_property_read_u32' [-Werror=implicit-function-declaration]
>>       673 |         err = device_property_read_u32(&pdev->dev, "lantiq,tx-burst-length", &priv->tx_burst_len);
>>           |               ^~~~~~~~~~~~~~~~~~~~~~~~
>>     drivers/net/ethernet/lantiq_etop.c: At top level:
>>     drivers/net/ethernet/lantiq_etop.c:730:1: warning: no previous prototype for 'init_ltq_etop' [-Wmissing-prototypes]
>>       730 | init_ltq_etop(void)
>>           | ^~~~~~~~~~~~~
>>     drivers/net/ethernet/lantiq_etop.c: In function 'ltq_etop_hw_init':
>>     drivers/net/ethernet/lantiq_etop.c:276:25: warning: ignoring return value of 'request_irq' declared with attribute 'warn_unused_result' [-Wunused-result]
>>       276 |                         request_irq(irq, ltq_etop_dma_irq, 0, "etop_tx", priv);
>>           |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>     drivers/net/ethernet/lantiq_etop.c:284:25: warning: ignoring return value of 'request_irq' declared with attribute 'warn_unused_result' [-Wunused-result]
>>       284 |                         request_irq(irq, ltq_etop_dma_irq, 0, "etop_rx", priv);
>>           |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>     cc1: some warnings being treated as errors
>
> Hi Aleksander,
> Are you taking care of this report from kernel test robot?
> If not, I can send a patch.
>

Hi Randy,
I have already addressed this bug and sent a patch today.

>>
>>
>> vim +/rx_burst_len +265 drivers/net/ethernet/lantiq_etop.c
>>
>>     236   
>>     237    static int
>>     238    ltq_etop_hw_init(struct net_device *dev)
>>     239    {
>>     240        struct ltq_etop_priv *priv = netdev_priv(dev);
>>     241        int i;
>>     242   
>>     243        ltq_pmu_enable(PMU_PPE);
>>     244   
>>     245        switch (priv->pldata->mii_mode) {
>>     246        case PHY_INTERFACE_MODE_RMII:
>>     247            ltq_etop_w32_mask(ETOP_MII_MASK,
>>     248                ETOP_MII_REVERSE, LTQ_ETOP_CFG);
>>     249            break;
>>     250   
>>     251        case PHY_INTERFACE_MODE_MII:
>>     252            ltq_etop_w32_mask(ETOP_MII_MASK,
>>     253                ETOP_MII_NORMAL, LTQ_ETOP_CFG);
>>     254            break;
>>     255   
>>     256        default:
>>     257            netdev_err(dev, "unknown mii mode %d\n",
>>     258                priv->pldata->mii_mode);
>>     259            return -ENOTSUPP;
>>     260        }
>>     261   
>>     262        /* enable crc generation */
>>     263        ltq_etop_w32(PPE32_CGEN, LQ_PPE32_ENET_MAC_CFG);
>>     264   
>>   > 265        ltq_dma_init_port(DMA_PORT_ETOP, priv->tx_burst_len, rx_burst_len);
>>     266   
>>     267        for (i = 0; i < MAX_DMA_CHAN; i++) {
>>     268            int irq = LTQ_DMA_CH0_INT + i;
>>     269            struct ltq_etop_chan *ch = &priv->ch[i];
>>     270   
>>     271            ch->idx = ch->dma.nr = i;
>>     272            ch->dma.dev = &priv->pdev->dev;
>>     273   
>>     274            if (IS_TX(i)) {
>>     275                ltq_dma_alloc_tx(&ch->dma);
>>     276                request_irq(irq, ltq_etop_dma_irq, 0, "etop_tx", priv);
>>     277            } else if (IS_RX(i)) {
>>     278                ltq_dma_alloc_rx(&ch->dma);
>>     279                for (ch->dma.desc = 0; ch->dma.desc < LTQ_DESC_NUM;
>>     280                        ch->dma.desc++)
>>     281                    if (ltq_etop_alloc_skb(ch))
>>     282                        return -ENOMEM;
>>     283                ch->dma.desc = 0;
>>     284                request_irq(irq, ltq_etop_dma_irq, 0, "etop_rx", priv);
>>     285            }
>>     286            ch->dma.irq = irq;
>>     287        }
>>     288        return 0;
>>     289    }
>>     290   
>>
>> ---
>
>