tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   9fa88c5d3f5eae3e68ef20d226c3f13e21490668
commit: 05933aac7b11911955de307a329dc2a7a14b7bd0 ia64: remove now unused 
machvec indirections
date:   10 months ago
config: ia64-randconfig-s031-20200607 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-247-gcadbd124-dirty
        git checkout 05933aac7b11911955de307a329dc2a7a14b7bd0
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=ia64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>


sparse warnings: (new ones prefixed by >>)

   ./arch/ia64/include/generated/uapi/asm/unistd_64.h:348:39: sparse: sparse: 
no newline at end of file
   drivers/block/umem.c:267:32: sparse: sparse: incorrect type in assignment 
(different base types) @@     expected restricted __le64 [usertype] 
sem_control_bits @@     got restricted __le32 [usertype] control_bits @@
   drivers/block/umem.c:267:32: sparse:     expected restricted __le64 
[usertype] sem_control_bits
   drivers/block/umem.c:267:32: sparse:     got restricted __le32 [usertype] 
control_bits
   drivers/block/umem.c:287:16: sparse: sparse: incorrect type in argument 1 
(different base types) @@     expected unsigned int [usertype] value @@     got 
restricted __le32 [usertype] @@
>> drivers/block/umem.c:287:16: sparse:     expected unsigned int [usertype] 
>> value
   drivers/block/umem.c:287:16: sparse:     got restricted __le32 [usertype]
   drivers/block/umem.c:291:16: sparse: sparse: incorrect type in argument 1 
(different base types) @@     expected unsigned int [usertype] value @@     got 
restricted __le32 [usertype] @@
   drivers/block/umem.c:291:16: sparse:     expected unsigned int [usertype] 
value
   drivers/block/umem.c:291:16: sparse:     got restricted __le32 [usertype]
   drivers/block/umem.c:295:16: sparse: sparse: incorrect type in argument 1 
(different base types) @@     expected unsigned int [usertype] value @@     got 
restricted __le32 [usertype] @@
   drivers/block/umem.c:295:16: sparse:     expected unsigned int [usertype] 
value
   drivers/block/umem.c:295:16: sparse:     got restricted __le32 [usertype]
   drivers/block/umem.c:398:32: sparse: sparse: incorrect type in assignment 
(different base types) @@     expected restricted __le64 [usertype] 
sem_control_bits @@     got restricted __le32 [usertype] control_bits @@
   drivers/block/umem.c:398:32: sparse:     expected restricted __le64 
[usertype] sem_control_bits
   drivers/block/umem.c:398:32: sparse:     got restricted __le32 [usertype] 
control_bits
   drivers/block/umem.c:429:31: sparse: sparse: cast to restricted __le32
   drivers/block/umem.c:429:31: sparse: sparse: cast from restricted __le64
   drivers/block/umem.c:457:33: sparse: sparse: cast to restricted __le32
   drivers/block/umem.c:457:33: sparse: sparse: cast from restricted __le64
   drivers/block/umem.c:461:28: sparse: sparse: cast to restricted __le32
   drivers/block/umem.c:461:28: sparse: sparse: cast from restricted __le64
   drivers/block/umem.c:550:22: sparse: sparse: cast to restricted __le32
   drivers/block/umem.c:559:24: sparse: sparse: incorrect type in argument 1 
(different base types) @@     expected unsigned int [usertype] value @@     got 
restricted __le32 [usertype] @@
   drivers/block/umem.c:559:24: sparse:     expected unsigned int [usertype] 
value
   drivers/block/umem.c:559:24: sparse:     got restricted __le32 [usertype]
   drivers/block/umem.c:573:29: sparse: sparse: cast to restricted __le32
   drivers/block/umem.c:575:29: sparse: sparse: cast to restricted __le32
   drivers/block/umem.c:577:29: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32

vim +287 drivers/block/umem.c

^1da177e4c3f41 Linus Torvalds 2005-04-16  228  
^1da177e4c3f41 Linus Torvalds 2005-04-16  229  /*
^1da177e4c3f41 Linus Torvalds 2005-04-16  230   * Theory of request handling
^1da177e4c3f41 Linus Torvalds 2005-04-16  231   *
^1da177e4c3f41 Linus Torvalds 2005-04-16  232   * Each bio is assigned to one 
mm_dma_desc - which may not be enough FIXME
^1da177e4c3f41 Linus Torvalds 2005-04-16  233   * We have two pages of 
mm_dma_desc, holding about 64 descriptors
^1da177e4c3f41 Linus Torvalds 2005-04-16  234   * each.  These are allocated at 
init time.
^1da177e4c3f41 Linus Torvalds 2005-04-16  235   * One page is "Ready" and is 
either full, or can have request added.
^1da177e4c3f41 Linus Torvalds 2005-04-16  236   * The other page might be 
"Active", which DMA is happening on it.
^1da177e4c3f41 Linus Torvalds 2005-04-16  237   *
^1da177e4c3f41 Linus Torvalds 2005-04-16  238   * Whenever IO on the active 
page completes, the Ready page is activated
^1da177e4c3f41 Linus Torvalds 2005-04-16  239   * and the ex-Active page is 
clean out and made Ready.
7eaceaccab5f40 Jens Axboe     2011-03-10  240   * Otherwise the Ready page is 
only activated when it becomes full.
^1da177e4c3f41 Linus Torvalds 2005-04-16  241   *
^1da177e4c3f41 Linus Torvalds 2005-04-16  242   * If a request arrives while 
both pages a full, it is queued, and b_rdev is
^1da177e4c3f41 Linus Torvalds 2005-04-16  243   * overloaded to record whether 
it was a read or a write.
^1da177e4c3f41 Linus Torvalds 2005-04-16  244   *
^1da177e4c3f41 Linus Torvalds 2005-04-16  245   * The interrupt handler only 
polls the device to clear the interrupt.
^1da177e4c3f41 Linus Torvalds 2005-04-16  246   * The processing of the result 
is done in a tasklet.
^1da177e4c3f41 Linus Torvalds 2005-04-16  247   */
^1da177e4c3f41 Linus Torvalds 2005-04-16  248  
^1da177e4c3f41 Linus Torvalds 2005-04-16  249  static void mm_start_io(struct 
cardinfo *card)
^1da177e4c3f41 Linus Torvalds 2005-04-16  250  {
^1da177e4c3f41 Linus Torvalds 2005-04-16  251   /* we have the lock, we know 
there is
^1da177e4c3f41 Linus Torvalds 2005-04-16  252    * no IO active, and we know 
that card->Active
^1da177e4c3f41 Linus Torvalds 2005-04-16  253    * is set
^1da177e4c3f41 Linus Torvalds 2005-04-16  254    */
^1da177e4c3f41 Linus Torvalds 2005-04-16  255   struct mm_dma_desc *desc;
^1da177e4c3f41 Linus Torvalds 2005-04-16  256   struct mm_page *page;
^1da177e4c3f41 Linus Torvalds 2005-04-16  257   int offset;
^1da177e4c3f41 Linus Torvalds 2005-04-16  258  
^1da177e4c3f41 Linus Torvalds 2005-04-16  259   /* make the last descriptor end 
the chain */
^1da177e4c3f41 Linus Torvalds 2005-04-16  260   page = 
&card->mm_pages[card->Active];
458cf5e9b666c2 Randy Dunlap   2007-12-17  261   pr_debug("start_io: %d 
%d->%d\n",
458cf5e9b666c2 Randy Dunlap   2007-12-17  262           card->Active, 
page->headcnt, page->cnt - 1);
^1da177e4c3f41 Linus Torvalds 2005-04-16  263   desc = &page->desc[page->cnt-1];
^1da177e4c3f41 Linus Torvalds 2005-04-16  264  
^1da177e4c3f41 Linus Torvalds 2005-04-16  265   desc->control_bits |= 
cpu_to_le32(DMASCR_CHAIN_COMP_EN);
^1da177e4c3f41 Linus Torvalds 2005-04-16  266   desc->control_bits &= 
~cpu_to_le32(DMASCR_CHAIN_EN);
^1da177e4c3f41 Linus Torvalds 2005-04-16  267   desc->sem_control_bits = 
desc->control_bits;
^1da177e4c3f41 Linus Torvalds 2005-04-16  268  
^1da177e4c3f41 Linus Torvalds 2005-04-16  269  
^1da177e4c3f41 Linus Torvalds 2005-04-16  270   if (debug & 
DEBUG_LED_ON_TRANSFER)
^1da177e4c3f41 Linus Torvalds 2005-04-16  271           set_led(card, 
LED_REMOVE, LED_ON);
^1da177e4c3f41 Linus Torvalds 2005-04-16  272  
^1da177e4c3f41 Linus Torvalds 2005-04-16  273   desc = 
&page->desc[page->headcnt];
^1da177e4c3f41 Linus Torvalds 2005-04-16  274   writel(0, card->csr_remap + 
DMA_PCI_ADDR);
^1da177e4c3f41 Linus Torvalds 2005-04-16  275   writel(0, card->csr_remap + 
DMA_PCI_ADDR + 4);
^1da177e4c3f41 Linus Torvalds 2005-04-16  276  
^1da177e4c3f41 Linus Torvalds 2005-04-16  277   writel(0, card->csr_remap + 
DMA_LOCAL_ADDR);
^1da177e4c3f41 Linus Torvalds 2005-04-16  278   writel(0, card->csr_remap + 
DMA_LOCAL_ADDR + 4);
^1da177e4c3f41 Linus Torvalds 2005-04-16  279  
^1da177e4c3f41 Linus Torvalds 2005-04-16  280   writel(0, card->csr_remap + 
DMA_TRANSFER_SIZE);
^1da177e4c3f41 Linus Torvalds 2005-04-16  281   writel(0, card->csr_remap + 
DMA_TRANSFER_SIZE + 4);
^1da177e4c3f41 Linus Torvalds 2005-04-16  282  
^1da177e4c3f41 Linus Torvalds 2005-04-16  283   writel(0, card->csr_remap + 
DMA_SEMAPHORE_ADDR);
^1da177e4c3f41 Linus Torvalds 2005-04-16  284   writel(0, card->csr_remap + 
DMA_SEMAPHORE_ADDR + 4);
^1da177e4c3f41 Linus Torvalds 2005-04-16  285  
^1da177e4c3f41 Linus Torvalds 2005-04-16  286   offset = ((char *)desc) - 
((char *)page->desc);
^1da177e4c3f41 Linus Torvalds 2005-04-16 @287   
writel(cpu_to_le32((page->page_dma+offset) & 0xffffffff),
^1da177e4c3f41 Linus Torvalds 2005-04-16  288          card->csr_remap + 
DMA_DESCRIPTOR_ADDR);
^1da177e4c3f41 Linus Torvalds 2005-04-16  289   /* Force the value to u64 
before shifting otherwise >> 32 is undefined C
^1da177e4c3f41 Linus Torvalds 2005-04-16  290    * and on some ports will do 
nothing ! */
^1da177e4c3f41 Linus Torvalds 2005-04-16  291   
writel(cpu_to_le32(((u64)page->page_dma)>>32),
^1da177e4c3f41 Linus Torvalds 2005-04-16  292          card->csr_remap + 
DMA_DESCRIPTOR_ADDR + 4);
^1da177e4c3f41 Linus Torvalds 2005-04-16  293  
^1da177e4c3f41 Linus Torvalds 2005-04-16  294   /* Go, go, go */
^1da177e4c3f41 Linus Torvalds 2005-04-16  295   writel(cpu_to_le32(DMASCR_GO | 
DMASCR_CHAIN_EN | pci_cmds),
^1da177e4c3f41 Linus Torvalds 2005-04-16  296          card->csr_remap + 
DMA_STATUS_CTRL);
^1da177e4c3f41 Linus Torvalds 2005-04-16  297  }
^1da177e4c3f41 Linus Torvalds 2005-04-16  298  

:::::: The code at line 287 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torva...@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torva...@ppc970.osdl.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to