[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202505260804.Mhztve8t-lkp@intel.com>
Date: Mon, 26 May 2025 08:36:19 +0800
From: kernel test robot <lkp@...el.com>
To: Suraj Gupta <suraj.gupta2@....com>, andrew+netdev@...n.ch,
davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, vkoul@...nel.org, michal.simek@....com,
sean.anderson@...ux.dev, radhey.shyam.pandey@....com,
horms@...nel.org
Cc: oe-kbuild-all@...ts.linux.dev, netdev@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
git@....com, harini.katakam@....com
Subject: Re: [PATCH net-next] net: xilinx: axienet: Configure and report
coalesce parameters in DMAengine flow
Hi Suraj,
kernel test robot noticed the following build errors:
[auto build test ERROR on net-next/main]
url: https://github.com/intel-lab-lkp/linux/commits/Suraj-Gupta/net-xilinx-axienet-Configure-and-report-coalesce-parameters-in-DMAengine-flow/20250525-182400
base: net-next/main
patch link: https://lore.kernel.org/r/20250525102217.1181104-1-suraj.gupta2%40amd.com
patch subject: [PATCH net-next] net: xilinx: axienet: Configure and report coalesce parameters in DMAengine flow
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20250526/202505260804.Mhztve8t-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250526/202505260804.Mhztve8t-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505260804.Mhztve8t-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/net/ethernet/xilinx/xilinx_axienet_main.c: In function 'axienet_init_dmaengine':
>> drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1524:18: error: 'struct dma_slave_config' has no member named 'coalesce_cnt'
1524 | tx_config.coalesce_cnt = XAXIDMAENGINE_DFT_TX_THRESHOLD;
| ^
>> drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1525:18: error: 'struct dma_slave_config' has no member named 'coalesce_usecs'
1525 | tx_config.coalesce_usecs = XAXIDMAENGINE_DFT_TX_USEC;
| ^
drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1526:18: error: 'struct dma_slave_config' has no member named 'coalesce_cnt'
1526 | rx_config.coalesce_cnt = XAXIDMAENGINE_DFT_RX_THRESHOLD;
| ^
drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1527:18: error: 'struct dma_slave_config' has no member named 'coalesce_usecs'
1527 | rx_config.coalesce_usecs = XAXIDMAENGINE_DFT_RX_USEC;
| ^
drivers/net/ethernet/xilinx/xilinx_axienet_main.c: In function 'axienet_ethtools_get_coalesce':
>> drivers/net/ethernet/xilinx/xilinx_axienet_main.c:2196:61: error: 'struct dma_slave_caps' has no member named 'coalesce_cnt'
2196 | ecoalesce->tx_max_coalesced_frames = tx_caps.coalesce_cnt;
| ^
>> drivers/net/ethernet/xilinx/xilinx_axienet_main.c:2197:55: error: 'struct dma_slave_caps' has no member named 'coalesce_usecs'
2197 | ecoalesce->tx_coalesce_usecs = tx_caps.coalesce_usecs;
| ^
drivers/net/ethernet/xilinx/xilinx_axienet_main.c:2198:61: error: 'struct dma_slave_caps' has no member named 'coalesce_cnt'
2198 | ecoalesce->rx_max_coalesced_frames = rx_caps.coalesce_cnt;
| ^
drivers/net/ethernet/xilinx/xilinx_axienet_main.c:2199:55: error: 'struct dma_slave_caps' has no member named 'coalesce_usecs'
2199 | ecoalesce->rx_coalesce_usecs = rx_caps.coalesce_usecs;
| ^
drivers/net/ethernet/xilinx/xilinx_axienet_main.c: In function 'axienet_ethtools_set_coalesce':
drivers/net/ethernet/xilinx/xilinx_axienet_main.c:2270:23: error: 'struct dma_slave_config' has no member named 'coalesce_cnt'
2270 | tx_cfg.coalesce_cnt = ecoalesce->tx_max_coalesced_frames;
| ^
drivers/net/ethernet/xilinx/xilinx_axienet_main.c:2271:23: error: 'struct dma_slave_config' has no member named 'coalesce_usecs'
2271 | tx_cfg.coalesce_usecs = ecoalesce->tx_coalesce_usecs;
| ^
drivers/net/ethernet/xilinx/xilinx_axienet_main.c:2272:23: error: 'struct dma_slave_config' has no member named 'coalesce_cnt'
2272 | rx_cfg.coalesce_cnt = ecoalesce->rx_max_coalesced_frames;
| ^
drivers/net/ethernet/xilinx/xilinx_axienet_main.c:2273:23: error: 'struct dma_slave_config' has no member named 'coalesce_usecs'
2273 | rx_cfg.coalesce_usecs = ecoalesce->rx_coalesce_usecs;
| ^
vim +1524 drivers/net/ethernet/xilinx/xilinx_axienet_main.c
1494
1495 /**
1496 * axienet_init_dmaengine - init the dmaengine code.
1497 * @ndev: Pointer to net_device structure
1498 *
1499 * Return: 0, on success.
1500 * non-zero error value on failure
1501 *
1502 * This is the dmaengine initialization code.
1503 */
1504 static int axienet_init_dmaengine(struct net_device *ndev)
1505 {
1506 struct axienet_local *lp = netdev_priv(ndev);
1507 struct skbuf_dma_descriptor *skbuf_dma;
1508 struct dma_slave_config tx_config, rx_config;
1509 int i, ret;
1510
1511 lp->tx_chan = dma_request_chan(lp->dev, "tx_chan0");
1512 if (IS_ERR(lp->tx_chan)) {
1513 dev_err(lp->dev, "No Ethernet DMA (TX) channel found\n");
1514 return PTR_ERR(lp->tx_chan);
1515 }
1516
1517 lp->rx_chan = dma_request_chan(lp->dev, "rx_chan0");
1518 if (IS_ERR(lp->rx_chan)) {
1519 ret = PTR_ERR(lp->rx_chan);
1520 dev_err(lp->dev, "No Ethernet DMA (RX) channel found\n");
1521 goto err_dma_release_tx;
1522 }
1523
> 1524 tx_config.coalesce_cnt = XAXIDMAENGINE_DFT_TX_THRESHOLD;
> 1525 tx_config.coalesce_usecs = XAXIDMAENGINE_DFT_TX_USEC;
> 1526 rx_config.coalesce_cnt = XAXIDMAENGINE_DFT_RX_THRESHOLD;
> 1527 rx_config.coalesce_usecs = XAXIDMAENGINE_DFT_RX_USEC;
1528
1529 ret = dmaengine_slave_config(lp->tx_chan, &tx_config);
1530 if (ret) {
1531 dev_err(lp->dev, "Failed to configure Tx coalesce parameters\n");
1532 goto err_dma_release_tx;
1533 }
1534 ret = dmaengine_slave_config(lp->rx_chan, &rx_config);
1535 if (ret) {
1536 dev_err(lp->dev, "Failed to configure Rx coalesce parameters\n");
1537 goto err_dma_release_tx;
1538 }
1539
1540 lp->tx_ring_tail = 0;
1541 lp->tx_ring_head = 0;
1542 lp->rx_ring_tail = 0;
1543 lp->rx_ring_head = 0;
1544 lp->tx_skb_ring = kcalloc(TX_BD_NUM_MAX, sizeof(*lp->tx_skb_ring),
1545 GFP_KERNEL);
1546 if (!lp->tx_skb_ring) {
1547 ret = -ENOMEM;
1548 goto err_dma_release_rx;
1549 }
1550 for (i = 0; i < TX_BD_NUM_MAX; i++) {
1551 skbuf_dma = kzalloc(sizeof(*skbuf_dma), GFP_KERNEL);
1552 if (!skbuf_dma) {
1553 ret = -ENOMEM;
1554 goto err_free_tx_skb_ring;
1555 }
1556 lp->tx_skb_ring[i] = skbuf_dma;
1557 }
1558
1559 lp->rx_skb_ring = kcalloc(RX_BUF_NUM_DEFAULT, sizeof(*lp->rx_skb_ring),
1560 GFP_KERNEL);
1561 if (!lp->rx_skb_ring) {
1562 ret = -ENOMEM;
1563 goto err_free_tx_skb_ring;
1564 }
1565 for (i = 0; i < RX_BUF_NUM_DEFAULT; i++) {
1566 skbuf_dma = kzalloc(sizeof(*skbuf_dma), GFP_KERNEL);
1567 if (!skbuf_dma) {
1568 ret = -ENOMEM;
1569 goto err_free_rx_skb_ring;
1570 }
1571 lp->rx_skb_ring[i] = skbuf_dma;
1572 }
1573 /* TODO: Instead of BD_NUM_DEFAULT use runtime support */
1574 for (i = 0; i < RX_BUF_NUM_DEFAULT; i++)
1575 axienet_rx_submit_desc(ndev);
1576 dma_async_issue_pending(lp->rx_chan);
1577
1578 return 0;
1579
1580 err_free_rx_skb_ring:
1581 for (i = 0; i < RX_BUF_NUM_DEFAULT; i++)
1582 kfree(lp->rx_skb_ring[i]);
1583 kfree(lp->rx_skb_ring);
1584 err_free_tx_skb_ring:
1585 for (i = 0; i < TX_BD_NUM_MAX; i++)
1586 kfree(lp->tx_skb_ring[i]);
1587 kfree(lp->tx_skb_ring);
1588 err_dma_release_rx:
1589 dma_release_channel(lp->rx_chan);
1590 err_dma_release_tx:
1591 dma_release_channel(lp->tx_chan);
1592 return ret;
1593 }
1594
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists