From: kernel test robot <lkp@intel.com>
To: Vineeth Karumanchi <vineeth.karumanchi@amd.com>
Cc: oe-kbuild-all@lists.linux.dev, git@amd.com,
Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>,
Harini Katakam <harini.katakam@amd.com>
Subject: [xilinx-xlnx:lkp_test 3/3] drivers/net/ethernet/cadence/macb_main.c:5320:51: sparse: sparse: incorrect type in argument 1 (different base types)
Date: Wed, 31 Jan 2024 18:48:20 +0800 [thread overview]
Message-ID: <202401311818.zGVVLPL4-lkp@intel.com> (raw)
tree: https://github.com/Xilinx/linux-xlnx lkp_test
head: 415577e072b30c152a07b0e89dc2c25bf659c671
commit: 415577e072b30c152a07b0e89dc2c25bf659c671 [3/3] net: macb: Add ARP support to WOL
config: mips-randconfig-r123-20240131 (https://download.01.org/0day-ci/archive/20240131/202401311818.zGVVLPL4-lkp@intel.com/config)
compiler: mips-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20240131/202401311818.zGVVLPL4-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401311818.zGVVLPL4-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/net/ethernet/cadence/macb_main.c:286:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] bottom @@ got restricted __le32 [usertype] @@
drivers/net/ethernet/cadence/macb_main.c:286:16: sparse: expected unsigned int [usertype] bottom
drivers/net/ethernet/cadence/macb_main.c:286:16: sparse: got restricted __le32 [usertype]
drivers/net/ethernet/cadence/macb_main.c:288:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] top @@ got restricted __le16 [usertype] @@
drivers/net/ethernet/cadence/macb_main.c:288:13: sparse: expected unsigned short [usertype] top
drivers/net/ethernet/cadence/macb_main.c:288:13: sparse: got restricted __le16 [usertype]
drivers/net/ethernet/cadence/macb_main.c:3496:39: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3501:39: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3506:40: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3506:69: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3531:20: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3535:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [assigned] [usertype] w0 @@ got restricted __be32 [usertype] ip4src @@
drivers/net/ethernet/cadence/macb_main.c:3535:20: sparse: expected unsigned int [assigned] [usertype] w0
drivers/net/ethernet/cadence/macb_main.c:3535:20: sparse: got restricted __be32 [usertype] ip4src
drivers/net/ethernet/cadence/macb_main.c:3545:20: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3549:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [assigned] [usertype] w0 @@ got restricted __be32 [usertype] ip4dst @@
drivers/net/ethernet/cadence/macb_main.c:3549:20: sparse: expected unsigned int [assigned] [usertype] w0
drivers/net/ethernet/cadence/macb_main.c:3549:20: sparse: got restricted __be32 [usertype] ip4dst
drivers/net/ethernet/cadence/macb_main.c:3559:21: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3559:50: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3565:30: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3566:30: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3573:36: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3574:38: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3577:38: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/cadence/macb_main.c:3613:9: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/cadence/macb_main.c:3613:9: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/cadence/macb_main.c:3667:25: sparse: sparse: cast from restricted __be32
drivers/net/ethernet/cadence/macb_main.c:3667:25: sparse: sparse: cast from restricted __be32
>> drivers/net/ethernet/cadence/macb_main.c:5320:51: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const [usertype] *p @@ got restricted __be32 * @@
drivers/net/ethernet/cadence/macb_main.c:5320:51: sparse: expected unsigned int const [usertype] *p
drivers/net/ethernet/cadence/macb_main.c:5320:51: sparse: got restricted __be32 *
drivers/net/ethernet/cadence/macb_main.c:5320:49: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/cadence/macb_main.c: note: in included file (through include/linux/mutex.h, include/linux/notifier.h, include/linux/clk.h):
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
drivers/net/ethernet/cadence/macb_main.c:5272:23: sparse: sparse: dereference of noderef expression
drivers/net/ethernet/cadence/macb_main.c:5272:23: sparse: sparse: dereference of noderef expression
drivers/net/ethernet/cadence/macb_main.c:5272:23: sparse: sparse: dereference of noderef expression
vim +5320 drivers/net/ethernet/cadence/macb_main.c
5252
5253 static int __maybe_unused macb_suspend(struct device *dev)
5254 {
5255 struct net_device *netdev = dev_get_drvdata(dev);
5256 struct macb *bp = netdev_priv(netdev);
5257 struct macb_queue *queue;
5258 struct in_ifaddr *ifa;
5259 unsigned long flags;
5260 unsigned int q;
5261 u32 ctrlmask;
5262 int err;
5263
5264 if (!device_may_wakeup(&bp->dev->dev))
5265 phy_exit(bp->sgmii_phy);
5266
5267 if (!netif_running(netdev))
5268 return 0;
5269
5270 if (bp->wol & MACB_WOL_ENABLED) {
5271 /* Check for IP address in WOL ARP mode */
5272 ifa = rtnl_dereference(bp->dev->ip_ptr->ifa_list);
5273 if ((bp->wolopts & WAKE_ARP) && !ifa) {
5274 netdev_err(netdev, "IP address not assigned\n");
5275 return -EOPNOTSUPP;
5276 }
5277 spin_lock_irqsave(&bp->lock, flags);
5278
5279 /* Disable Tx and Rx engines before disabling the queues,
5280 * this is mandatory as per the IP spec sheet
5281 */
5282 ctrlmask = macb_readl(bp, NCR);
5283 ctrlmask &= ~(MACB_BIT(TE) | MACB_BIT(RE));
5284 macb_writel(bp, NCR, ctrlmask);
5285 for (q = 0, queue = bp->queues; q < bp->num_queues;
5286 ++q, ++queue) {
5287 /* Disable RX queues */
5288 if (bp->caps & MACB_CAPS_QUEUE_DISABLE) {
5289 queue_writel(queue, RBQP, GEM_RBQP_DISABLE);
5290 } else {
5291 /* Tie off RX queues */
5292 queue_writel(queue, RBQP,
5293 lower_32_bits(bp->rx_ring_tieoff_dma));
5294 queue_writel(queue, RBQPH,
5295 upper_32_bits(bp->rx_ring_tieoff_dma));
5296 }
5297 }
5298 /* Enable Receive engine */
5299 ctrlmask = macb_readl(bp, NCR);
5300 ctrlmask |= MACB_BIT(RE);
5301 macb_writel(bp, NCR, ctrlmask);
5302 /* Flush all status bits */
5303 macb_writel(bp, TSR, -1);
5304 macb_writel(bp, RSR, -1);
5305 for (q = 0, queue = bp->queues; q < bp->num_queues;
5306 ++q, ++queue) {
5307 /* Disable all interrupts */
5308 queue_writel(queue, IDR, -1);
5309 queue_readl(queue, ISR);
5310 if (bp->caps & MACB_CAPS_ISR_CLEAR_ON_WRITE)
5311 queue_writel(queue, ISR, -1);
5312 }
5313
5314 ctrlmask = 0;
5315 if (bp->wolopts & WAKE_MAGIC)
5316 ctrlmask = MACB_BIT(MAG);
5317 if (bp->wolopts & WAKE_ARP) {
5318 ctrlmask |= MACB_BIT(ARP);
5319 /* write IP address into register */
> 5320 ctrlmask |= cpu_to_be32p(&ifa->ifa_local)
5321 & GENMASK(MACB_IP_SIZE - 1, 0);
5322 }
5323
5324 /* Change interrupt handler and
5325 * Enable WoL IRQ on queue 0
5326 */
5327 devm_free_irq(dev, bp->queues[0].irq, bp->queues);
5328 if (macb_is_gem(bp)) {
5329 err = devm_request_irq(dev, bp->queues[0].irq, gem_wol_interrupt,
5330 IRQF_SHARED, netdev->name, bp->queues);
5331 if (err) {
5332 dev_err(dev,
5333 "Unable to request IRQ %d (error %d)\n",
5334 bp->queues[0].irq, err);
5335 spin_unlock_irqrestore(&bp->lock, flags);
5336 return err;
5337 }
5338 queue_writel(bp->queues, IER, GEM_BIT(WOL));
5339 gem_writel(bp, WOL, ctrlmask);
5340 } else {
5341 err = devm_request_irq(dev, bp->queues[0].irq, macb_wol_interrupt,
5342 IRQF_SHARED, netdev->name, bp->queues);
5343 if (err) {
5344 dev_err(dev,
5345 "Unable to request IRQ %d (error %d)\n",
5346 bp->queues[0].irq, err);
5347 spin_unlock_irqrestore(&bp->lock, flags);
5348 return err;
5349 }
5350 queue_writel(bp->queues, IER, MACB_BIT(WOL));
5351 macb_writel(bp, WOL, ctrlmask);
5352 }
5353 spin_unlock_irqrestore(&bp->lock, flags);
5354
5355 enable_irq_wake(bp->queues[0].irq);
5356 }
5357
5358 netif_device_detach(netdev);
5359 for (q = 0, queue = bp->queues; q < bp->num_queues;
5360 ++q, ++queue) {
5361 napi_disable(&queue->napi_rx);
5362 napi_disable(&queue->napi_tx);
5363 }
5364
5365 if (!(bp->wol & MACB_WOL_ENABLED)) {
5366 rtnl_lock();
5367 phylink_stop(bp->phylink);
5368 rtnl_unlock();
5369 spin_lock_irqsave(&bp->lock, flags);
5370 macb_reset_hw(bp);
5371 spin_unlock_irqrestore(&bp->lock, flags);
5372 }
5373
5374 if (!(bp->caps & MACB_CAPS_USRIO_DISABLED))
5375 bp->pm_data.usrio = macb_or_gem_readl(bp, USRIO);
5376
5377 if (netdev->hw_features & NETIF_F_NTUPLE)
5378 bp->pm_data.scrt2 = gem_readl_n(bp, ETHT, SCRT2_ETHT);
5379
5380 if (bp->ptp_info)
5381 bp->ptp_info->ptp_remove(netdev);
5382 if (!device_may_wakeup(dev))
5383 pm_runtime_force_suspend(dev);
5384
5385 return 0;
5386 }
5387
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2024-01-31 10:49 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202401311818.zGVVLPL4-lkp@intel.com \
--to=lkp@intel.com \
--cc=git@amd.com \
--cc=harini.katakam@amd.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=radhey.shyam.pandey@amd.com \
--cc=vineeth.karumanchi@amd.com \
/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.