All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 5730/16300] drivers/dma/fsl_raid.c:116:17: sparse: sparse: incorrect type in argument 1 (different base types)
@ 2026-08-19 22:22 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-19 22:22 UTC (permalink / raw)
  To: Rosen Penev; +Cc: oe-kbuild-all, Vinod Koul, Frank Li

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   6a746cd265aed59107ebdaa9ce039bb832922969
commit: 68b7fbc235290937e4e2daa097896b6b94618f15 [5730/16300] dma: fsl_raid: keep MMIO bases as void __iomem and cast at access
config: powerpc64-randconfig-r131-20260820 (https://download.01.org/0day-ci/archive/20260820/202608200637.ro1CqMxi-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260820/202608200637.ro1CqMxi-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/202608200637.ro1CqMxi-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/dma/fsl_raid.c:116:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:116:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/dma/fsl_raid.c:116:17: sparse:     got restricted __be32 [noderef] __iomem *
>> drivers/dma/fsl_raid.c:130:34: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:130:34: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/dma/fsl_raid.c:130:34: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/dma/fsl_raid.c:170:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:170:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/dma/fsl_raid.c:170:17: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/dma/fsl_raid.c:195:34: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:195:34: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/dma/fsl_raid.c:195:34: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/dma/fsl_raid.c:209:36: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:209:36: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/dma/fsl_raid.c:209:36: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/dma/fsl_raid.c:219:42: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:219:42: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/dma/fsl_raid.c:219:42: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/dma/fsl_raid.c:225:26: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:225:26: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/dma/fsl_raid.c:225:26: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/dma/fsl_raid.c:338:18: sparse: sparse: incompatible types for operation (<=):
   drivers/dma/fsl_raid.c:338:18: sparse:    struct fsl_re_desc *[assigned] desc
   drivers/dma/fsl_raid.c:338:18: sparse:    int
   drivers/dma/fsl_raid.c:462:18: sparse: sparse: incompatible types for operation (<=):
   drivers/dma/fsl_raid.c:462:18: sparse:    struct fsl_re_desc *[assigned] desc
   drivers/dma/fsl_raid.c:462:18: sparse:    int
   drivers/dma/fsl_raid.c:546:18: sparse: sparse: incompatible types for operation (<=):
   drivers/dma/fsl_raid.c:546:18: sparse:    struct fsl_re_desc *[assigned] desc
   drivers/dma/fsl_raid.c:546:18: sparse:    int
   drivers/dma/fsl_raid.c:711:23: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:713:23: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:715:23: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:717:23: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:719:23: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:721:23: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:725:31: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:728:23: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:734:23: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:773:19: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:776:19: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:778:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:778:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/dma/fsl_raid.c:778:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@

vim +116 drivers/dma/fsl_raid.c

ad80da658bbcaaa Xuelin Shi 2015-03-03  104  
ad80da658bbcaaa Xuelin Shi 2015-03-03  105  /* Copy descriptor from per chan software queue into hardware job ring */
ad80da658bbcaaa Xuelin Shi 2015-03-03  106  static void fsl_re_issue_pending(struct dma_chan *chan)
ad80da658bbcaaa Xuelin Shi 2015-03-03  107  {
ad80da658bbcaaa Xuelin Shi 2015-03-03  108  	struct fsl_re_chan *re_chan;
ad80da658bbcaaa Xuelin Shi 2015-03-03  109  	int avail;
ad80da658bbcaaa Xuelin Shi 2015-03-03  110  	struct fsl_re_desc *desc, *_desc;
ad80da658bbcaaa Xuelin Shi 2015-03-03  111  	unsigned long flags;
ad80da658bbcaaa Xuelin Shi 2015-03-03  112  
ad80da658bbcaaa Xuelin Shi 2015-03-03  113  	re_chan = container_of(chan, struct fsl_re_chan, chan);
ad80da658bbcaaa Xuelin Shi 2015-03-03  114  
ad80da658bbcaaa Xuelin Shi 2015-03-03  115  	spin_lock_irqsave(&re_chan->desc_lock, flags);
ad80da658bbcaaa Xuelin Shi 2015-03-03 @116  	avail = FSL_RE_SLOT_AVAIL(
ad80da658bbcaaa Xuelin Shi 2015-03-03  117  		in_be32(&re_chan->jrregs->inbring_slot_avail));
ad80da658bbcaaa Xuelin Shi 2015-03-03  118  
ad80da658bbcaaa Xuelin Shi 2015-03-03  119  	list_for_each_entry_safe(desc, _desc, &re_chan->submit_q, node) {
ad80da658bbcaaa Xuelin Shi 2015-03-03  120  		if (!avail)
ad80da658bbcaaa Xuelin Shi 2015-03-03  121  			break;
ad80da658bbcaaa Xuelin Shi 2015-03-03  122  
ad80da658bbcaaa Xuelin Shi 2015-03-03  123  		list_move_tail(&desc->node, &re_chan->active_q);
ad80da658bbcaaa Xuelin Shi 2015-03-03  124  
ad80da658bbcaaa Xuelin Shi 2015-03-03  125  		memcpy(&re_chan->inb_ring_virt_addr[re_chan->inb_count],
ad80da658bbcaaa Xuelin Shi 2015-03-03  126  		       &desc->hwdesc, sizeof(struct fsl_re_hw_desc));
ad80da658bbcaaa Xuelin Shi 2015-03-03  127  
ad80da658bbcaaa Xuelin Shi 2015-03-03  128  		re_chan->inb_count = (re_chan->inb_count + 1) &
ad80da658bbcaaa Xuelin Shi 2015-03-03  129  						FSL_RE_RING_SIZE_MASK;
ad80da658bbcaaa Xuelin Shi 2015-03-03 @130  		out_be32(&re_chan->jrregs->inbring_add_job, FSL_RE_ADD_JOB(1));
ad80da658bbcaaa Xuelin Shi 2015-03-03  131  		avail--;
ad80da658bbcaaa Xuelin Shi 2015-03-03  132  	}
ad80da658bbcaaa Xuelin Shi 2015-03-03  133  	spin_unlock_irqrestore(&re_chan->desc_lock, flags);
ad80da658bbcaaa Xuelin Shi 2015-03-03  134  }
ad80da658bbcaaa Xuelin Shi 2015-03-03  135  

:::::: The code at line 116 was first introduced by commit
:::::: ad80da658bbcaaac1d3617ea6cb0f4d5e16da422 dmaengine: Driver support for FSL RaidEngine device.

:::::: TO: Xuelin Shi <xuelin.shi@freescale.com>
:::::: CC: Vinod Koul <vinod.koul@intel.com>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-19 22:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-19 22:22 [linux-next:master 5730/16300] drivers/dma/fsl_raid.c:116:17: sparse: sparse: incorrect type in argument 1 (different base types) kernel test robot

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.