From: kernel test robot <lkp@intel.com>
To: MD Danish Anwar <danishanwar@ti.com>
Cc: oe-kbuild-all@lists.linux.dev
Subject: Re: [RFC PATCH v6 2/2] net: ti: icssg-prueth: Add ICSSG ethernet driver
Date: Tue, 25 Apr 2023 00:46:17 +0800 [thread overview]
Message-ID: <202304250036.4mVfo67v-lkp@intel.com> (raw)
In-Reply-To: <20230424053233.2338782-3-danishanwar@ti.com>
Hi MD,
[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:
[auto build test ERROR on robh/for-next]
[also build test ERROR on krzk-dt/for-next linus/master v6.3 next-20230421]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/MD-Danish-Anwar/dt-bindings-net-Add-ICSSG-Ethernet/20230424-133456
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20230424053233.2338782-3-danishanwar%40ti.com
patch subject: [RFC PATCH v6 2/2] net: ti: icssg-prueth: Add ICSSG ethernet driver
config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20230425/202304250036.4mVfo67v-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/c533010d3e2d9f94cfbcd2760985a9ebda393882
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review MD-Danish-Anwar/dt-bindings-net-Add-ICSSG-Ethernet/20230424-133456
git checkout c533010d3e2d9f94cfbcd2760985a9ebda393882
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304250036.4mVfo67v-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/net/ethernet/ti/icssg_prueth.c: In function 'prueth_netdev_init':
>> drivers/net/ethernet/ti/icssg_prueth.c:1327:15: error: implicit declaration of function 'pruss_request_mem_region'; did you mean 'devm_request_mem_region'? [-Werror=implicit-function-declaration]
1327 | ret = pruss_request_mem_region(prueth->pruss,
| ^~~~~~~~~~~~~~~~~~~~~~~~
| devm_request_mem_region
>> drivers/net/ethernet/ti/icssg_prueth.c:1411:9: error: implicit declaration of function 'pruss_release_mem_region'; did you mean 'devm_release_mem_region'? [-Werror=implicit-function-declaration]
1411 | pruss_release_mem_region(prueth->pruss, &emac->dram);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| devm_release_mem_region
drivers/net/ethernet/ti/icssg_prueth.c: In function 'prueth_probe':
>> drivers/net/ethernet/ti/icssg_prueth.c:1600:17: error: implicit declaration of function 'pruss_get'; did you mean 'css_get'? [-Werror=implicit-function-declaration]
1600 | pruss = pruss_get(eth0_node ?
| ^~~~~~~~~
| css_get
drivers/net/ethernet/ti/icssg_prueth.c:1600:15: warning: assignment to 'struct pruss *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1600 | pruss = pruss_get(eth0_node ?
| ^
>> drivers/net/ethernet/ti/icssg_prueth.c:1614:17: error: implicit declaration of function 'pruss_put'; did you mean 'css_put'? [-Werror=implicit-function-declaration]
1614 | pruss_put(prueth->pruss);
| ^~~~~~~~~
| css_put
cc1: some warnings being treated as errors
--
drivers/net/ethernet/ti/icssg_config.c: In function 'icssg_miig_queues_init':
drivers/net/ethernet/ti/icssg_config.c:176:20: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
176 | mp = &hwq_map[slice][j];
| ^
drivers/net/ethernet/ti/icssg_config.c: In function 'icssg_config':
>> drivers/net/ethernet/ti/icssg_config.c:347:9: error: implicit declaration of function 'pruss_cfg_gpimode' [-Werror=implicit-function-declaration]
347 | pruss_cfg_gpimode(prueth->pruss, prueth->pru_id[slice],
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/ti/icssg_config.c:348:27: error: 'PRUSS_GPI_MODE_MII' undeclared (first use in this function)
348 | PRUSS_GPI_MODE_MII);
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/ti/icssg_config.c:348:27: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/net/ethernet/ti/icssg_config.c:351:9: error: implicit declaration of function 'pruss_cfg_xfr_enable' [-Werror=implicit-function-declaration]
351 | pruss_cfg_xfr_enable(prueth->pruss, PRU_TYPE_PRU, true);
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/ti/icssg_config.c:351:45: error: 'PRU_TYPE_PRU' undeclared (first use in this function); did you mean 'IRQ_TYPE_PROBE'?
351 | pruss_cfg_xfr_enable(prueth->pruss, PRU_TYPE_PRU, true);
| ^~~~~~~~~~~~
| IRQ_TYPE_PROBE
>> drivers/net/ethernet/ti/icssg_config.c:352:45: error: 'PRU_TYPE_RTU' undeclared (first use in this function)
352 | pruss_cfg_xfr_enable(prueth->pruss, PRU_TYPE_RTU, true);
| ^~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +1327 drivers/net/ethernet/ti/icssg_prueth.c
1293
1294 static int prueth_netdev_init(struct prueth *prueth,
1295 struct device_node *eth_node)
1296 {
1297 int ret, num_tx_chn = PRUETH_MAX_TX_QUEUES;
1298 struct prueth_emac *emac;
1299 struct net_device *ndev;
1300 enum prueth_port port;
1301 enum prueth_mac mac;
1302
1303 port = prueth_node_port(eth_node);
1304 if (port < 0)
1305 return -EINVAL;
1306
1307 mac = prueth_node_mac(eth_node);
1308 if (mac < 0)
1309 return -EINVAL;
1310
1311 ndev = alloc_etherdev_mq(sizeof(*emac), num_tx_chn);
1312 if (!ndev)
1313 return -ENOMEM;
1314
1315 emac = netdev_priv(ndev);
1316 prueth->emac[mac] = emac;
1317 emac->prueth = prueth;
1318 emac->ndev = ndev;
1319 emac->port_id = port;
1320 emac->cmd_wq = create_singlethread_workqueue("icssg_cmd_wq");
1321 if (!emac->cmd_wq) {
1322 ret = -ENOMEM;
1323 goto free_ndev;
1324 }
1325 INIT_WORK(&emac->rx_mode_work, emac_ndo_set_rx_mode_work);
1326
> 1327 ret = pruss_request_mem_region(prueth->pruss,
1328 port == PRUETH_PORT_MII0 ?
1329 PRUSS_MEM_DRAM0 : PRUSS_MEM_DRAM1,
1330 &emac->dram);
1331 if (ret) {
1332 dev_err(prueth->dev, "unable to get DRAM: %d\n", ret);
1333 ret = -ENOMEM;
1334 goto free_wq;
1335 }
1336
1337 emac->tx_ch_num = 1;
1338
1339 SET_NETDEV_DEV(ndev, prueth->dev);
1340 spin_lock_init(&emac->lock);
1341 mutex_init(&emac->cmd_lock);
1342
1343 emac->phy_node = of_parse_phandle(eth_node, "phy-handle", 0);
1344 if (!emac->phy_node && !of_phy_is_fixed_link(eth_node)) {
1345 dev_err(prueth->dev, "couldn't find phy-handle\n");
1346 ret = -ENODEV;
1347 goto free;
1348 } else if (of_phy_is_fixed_link(eth_node)) {
1349 ret = of_phy_register_fixed_link(eth_node);
1350 if (ret) {
1351 ret = dev_err_probe(prueth->dev, ret,
1352 "failed to register fixed-link phy\n");
1353 goto free;
1354 }
1355
1356 emac->phy_node = eth_node;
1357 }
1358
1359 ret = of_get_phy_mode(eth_node, &emac->phy_if);
1360 if (ret) {
1361 dev_err(prueth->dev, "could not get phy-mode property\n");
1362 goto free;
1363 }
1364
1365 if (emac->phy_if != PHY_INTERFACE_MODE_MII &&
1366 !phy_interface_mode_is_rgmii(emac->phy_if)) {
1367 dev_err(prueth->dev, "PHY mode unsupported %s\n", phy_modes(emac->phy_if));
1368 goto free;
1369 }
1370
1371 /* AM65 SR2.0 has TX Internal delay always enabled by hardware
1372 * and it is not possible to disable TX Internal delay. The below
1373 * switch case block describes how we handle different phy modes
1374 * based on hardware restriction.
1375 */
1376 switch (emac->phy_if) {
1377 case PHY_INTERFACE_MODE_RGMII_ID:
1378 emac->phy_if = PHY_INTERFACE_MODE_RGMII_RXID;
1379 break;
1380 case PHY_INTERFACE_MODE_RGMII_TXID:
1381 emac->phy_if = PHY_INTERFACE_MODE_RGMII;
1382 break;
1383 case PHY_INTERFACE_MODE_RGMII:
1384 case PHY_INTERFACE_MODE_RGMII_RXID:
1385 dev_err(prueth->dev, "RGMII mode without TX delay is not supported");
1386 return -EINVAL;
1387 default:
1388 break;
1389 }
1390
1391 /* get mac address from DT and set private and netdev addr */
1392 ret = of_get_ethdev_address(eth_node, ndev);
1393 if (!is_valid_ether_addr(ndev->dev_addr)) {
1394 eth_hw_addr_random(ndev);
1395 dev_warn(prueth->dev, "port %d: using random MAC addr: %pM\n",
1396 port, ndev->dev_addr);
1397 }
1398 ether_addr_copy(emac->mac_addr, ndev->dev_addr);
1399
1400 ndev->netdev_ops = &emac_netdev_ops;
1401 ndev->ethtool_ops = &icssg_ethtool_ops;
1402 ndev->hw_features = NETIF_F_SG;
1403 ndev->features = ndev->hw_features;
1404
1405 netif_napi_add(ndev, &emac->napi_rx,
1406 emac_napi_rx_poll);
1407
1408 return 0;
1409
1410 free:
> 1411 pruss_release_mem_region(prueth->pruss, &emac->dram);
1412 free_wq:
1413 destroy_workqueue(emac->cmd_wq);
1414 free_ndev:
1415 free_netdev(ndev);
1416 prueth->emac[mac] = NULL;
1417
1418 return ret;
1419 }
1420
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
next prev parent reply other threads:[~2023-04-24 16:46 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-24 5:32 [RFC PATCH v6 0/2] Introduce ICSSG based ethernet Driver MD Danish Anwar
2023-04-24 5:32 ` MD Danish Anwar
2023-04-24 5:32 ` [RFC PATCH v6 1/2] dt-bindings: net: Add ICSSG Ethernet MD Danish Anwar
2023-04-24 5:32 ` MD Danish Anwar
2023-04-25 18:51 ` Rob Herring
2023-04-25 18:51 ` Rob Herring
2023-04-24 5:32 ` [RFC PATCH v6 2/2] net: ti: icssg-prueth: Add ICSSG ethernet driver MD Danish Anwar
2023-04-24 9:58 ` kernel test robot
2023-04-24 16:46 ` kernel test robot [this message]
2023-04-26 19:09 ` Simon Horman
2023-04-26 19:09 ` Simon Horman
2023-04-27 7:12 ` [EXTERNAL] " Md Danish Anwar
2023-04-27 7:12 ` Md Danish Anwar
2023-04-28 7:20 ` Simon Horman
2023-04-28 7:20 ` Simon Horman
2023-04-28 9:06 ` Md Danish Anwar
2023-04-28 9:06 ` Md Danish Anwar
2023-04-28 13:47 ` Simon Horman
2023-04-28 13:47 ` Simon Horman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202304250036.4mVfo67v-lkp@intel.com \
--to=lkp@intel.com \
--cc=danishanwar@ti.com \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.