All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 11572/11714] drivers/mailbox/mailbox-mpfs.c:122:50: sparse: sparse: shift count is negative (-1)
@ 2021-06-21 19:07 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-06-21 19:07 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 10986 bytes --]

CC: kbuild-all(a)lists.01.org
CC: Linux Memory Management List <linux-mm@kvack.org>
TO: Conor Dooley <conor.dooley@microchip.com>
CC: Jassi Brar <jaswinder.singh@linaro.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   889bab4c367a0ef58208fd80fafa74bb6e2dca26
commit: de5473936808627fa98c3d2e8e3fa3076338f601 [11572/11714] mbox: add polarfire soc system controller mailbox
:::::: branch date: 7 hours ago
:::::: commit date: 14 hours ago
config: h8300-randconfig-s032-20210621 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-341-g8af24329-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=de5473936808627fa98c3d2e8e3fa3076338f601
        git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout de5473936808627fa98c3d2e8e3fa3076338f601
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=h8300 

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


sparse warnings: (new ones prefixed by >>)
   drivers/mailbox/mailbox-mpfs.c: note: in included file:
   include/soc/microchip/mpfs.h:49:28: sparse: sparse: symbol 'mpfs_sys_controller_get' was not declared. Should it be static?
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '__iomem' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] b @@     got restricted __le32 [usertype] @@
   include/asm-generic/io.h:299:22: sparse:     expected unsigned int [usertype] b
   include/asm-generic/io.h:299:22: sparse:     got restricted __le32 [usertype]
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '__iomem' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] b @@     got restricted __le32 [usertype] @@
   include/asm-generic/io.h:299:22: sparse:     expected unsigned int [usertype] b
   include/asm-generic/io.h:299:22: sparse:     got restricted __le32 [usertype]
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] b @@     got restricted __le32 [usertype] @@
   include/asm-generic/io.h:299:22: sparse:     expected unsigned int [usertype] b
   include/asm-generic/io.h:299:22: sparse:     got restricted __le32 [usertype]
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/mailbox/mailbox-mpfs.c:122:50: sparse: sparse: shift count is negative (-1)
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '__iomem' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] b @@     got restricted __le32 [usertype] @@
   include/asm-generic/io.h:299:22: sparse:     expected unsigned int [usertype] b
   include/asm-generic/io.h:299:22: sparse:     got restricted __le32 [usertype]
   drivers/mailbox/mailbox-mpfs.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space '__iomem' of expression

vim +122 drivers/mailbox/mailbox-mpfs.c

de5473936808627f Conor Dooley 2021-05-11   80  
de5473936808627f Conor Dooley 2021-05-11   81  static int mpfs_mbox_send_data(struct mbox_chan *chan, void *data)
de5473936808627f Conor Dooley 2021-05-11   82  {
de5473936808627f Conor Dooley 2021-05-11   83  	struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv;
de5473936808627f Conor Dooley 2021-05-11   84  	struct mpfs_mss_msg *msg = data;
de5473936808627f Conor Dooley 2021-05-11   85  	u32 tx_trigger;
de5473936808627f Conor Dooley 2021-05-11   86  	u16 opt_sel;
de5473936808627f Conor Dooley 2021-05-11   87  	u32 val = 0u;
de5473936808627f Conor Dooley 2021-05-11   88  
de5473936808627f Conor Dooley 2021-05-11   89  	mbox->response = msg->response;
de5473936808627f Conor Dooley 2021-05-11   90  	mbox->resp_offset = msg->resp_offset;
de5473936808627f Conor Dooley 2021-05-11   91  
de5473936808627f Conor Dooley 2021-05-11   92  	if (mpfs_mbox_busy(mbox))
de5473936808627f Conor Dooley 2021-05-11   93  		return -EBUSY;
de5473936808627f Conor Dooley 2021-05-11   94  
de5473936808627f Conor Dooley 2021-05-11   95  	if (msg->cmd_data_size) {
de5473936808627f Conor Dooley 2021-05-11   96  		u32 index;
de5473936808627f Conor Dooley 2021-05-11   97  		u8 extra_bits = msg->cmd_data_size & 3;
de5473936808627f Conor Dooley 2021-05-11   98  		u32 *word_buf = (u32 *)msg->cmd_data;
de5473936808627f Conor Dooley 2021-05-11   99  
de5473936808627f Conor Dooley 2021-05-11  100  		for (index = 0; index < (msg->cmd_data_size / 4); index++)
de5473936808627f Conor Dooley 2021-05-11  101  			writel_relaxed(word_buf[index],
de5473936808627f Conor Dooley 2021-05-11  102  				       mbox->mbox_base + MAILBOX_REG_OFFSET + index * 0x4);
de5473936808627f Conor Dooley 2021-05-11  103  		if (extra_bits) {
de5473936808627f Conor Dooley 2021-05-11  104  			u8 i;
de5473936808627f Conor Dooley 2021-05-11  105  			u8 byte_off = ALIGN_DOWN(msg->cmd_data_size, 4);
de5473936808627f Conor Dooley 2021-05-11  106  			u8 *byte_buf = msg->cmd_data + byte_off;
de5473936808627f Conor Dooley 2021-05-11  107  
de5473936808627f Conor Dooley 2021-05-11  108  			val = readl_relaxed(mbox->mbox_base +
de5473936808627f Conor Dooley 2021-05-11  109  					    MAILBOX_REG_OFFSET + index * 0x4);
de5473936808627f Conor Dooley 2021-05-11  110  
de5473936808627f Conor Dooley 2021-05-11  111  			for (i = 0u; i < extra_bits; i++) {
de5473936808627f Conor Dooley 2021-05-11  112  				val &= ~(0xffu << (i * 8u));
de5473936808627f Conor Dooley 2021-05-11  113  				val |= (byte_buf[i] << (i * 8u));
de5473936808627f Conor Dooley 2021-05-11  114  			}
de5473936808627f Conor Dooley 2021-05-11  115  
de5473936808627f Conor Dooley 2021-05-11  116  			writel_relaxed(val,
de5473936808627f Conor Dooley 2021-05-11  117  				       mbox->mbox_base + MAILBOX_REG_OFFSET + index * 0x4);
de5473936808627f Conor Dooley 2021-05-11  118  		}
de5473936808627f Conor Dooley 2021-05-11  119  	}
de5473936808627f Conor Dooley 2021-05-11  120  
de5473936808627f Conor Dooley 2021-05-11  121  	opt_sel = ((msg->mbox_offset << 7u) | (msg->cmd_opcode & 0x7fu));
de5473936808627f Conor Dooley 2021-05-11 @122  	tx_trigger = (opt_sel << SCB_CTRL_POS) & SCB_CTRL_MASK;
de5473936808627f Conor Dooley 2021-05-11  123  	tx_trigger |= SCB_CTRL_REQ_MASK | SCB_STATUS_NOTIFY_MASK;
de5473936808627f Conor Dooley 2021-05-11  124  	writel_relaxed(tx_trigger, mbox->mbox_base + SERVICES_CR_OFFSET);
de5473936808627f Conor Dooley 2021-05-11  125  
de5473936808627f Conor Dooley 2021-05-11  126  	return 0;
de5473936808627f Conor Dooley 2021-05-11  127  }
de5473936808627f Conor Dooley 2021-05-11  128  

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 31493 bytes --]

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

only message in thread, other threads:[~2021-06-21 19:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-21 19:07 [linux-next:master 11572/11714] drivers/mailbox/mailbox-mpfs.c:122:50: sparse: sparse: shift count is negative (-1) 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.