2022-06-25 03:19:31

by kernel test robot

[permalink] [raw]
Subject: [ogabbay:gaudi2 30/36] drivers/misc/habanalabs/gaudi/gaudi.c:5778:33: sparse: sparse: incorrect type in assignment (different base types)

tree: https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux.git gaudi2
head: 5bb2e42792471d81bfca831170896f13eefdadf6
commit: 08180539d730624c2b788d63fc6bd04fc02b15a4 [30/36] habanalabs/gaudi: fix a race condition causing DMAR error
config: i386-randconfig-s001
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-31-g4880bd19-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux.git/commit/?id=08180539d730624c2b788d63fc6bd04fc02b15a4
git remote add ogabbay https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux.git
git fetch --no-tags ogabbay gaudi2
git checkout 08180539d730624c2b788d63fc6bd04fc02b15a4
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)
>> drivers/misc/habanalabs/gaudi/gaudi.c:5778:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] ctl @@ got int @@
drivers/misc/habanalabs/gaudi/gaudi.c:5778:33: sparse: expected restricted __le32 [usertype] ctl
drivers/misc/habanalabs/gaudi/gaudi.c:5778:33: sparse: got int

vim +5778 drivers/misc/habanalabs/gaudi/gaudi.c

5763
5764 static void gaudi_add_end_of_cb_packets(struct hl_device *hdev, void *kernel_address,
5765 u32 len, u32 original_len, u64 cq_addr, u32 cq_val,
5766 u32 msi_vec, bool eb)
5767 {
5768 struct gaudi_device *gaudi = hdev->asic_specific;
5769 struct packet_msg_prot *cq_pkt;
5770 struct packet_nop *cq_padding;
5771 u64 msi_addr;
5772 u32 tmp;
5773
5774 cq_padding = kernel_address + original_len;
5775 cq_pkt = kernel_address + len - (sizeof(struct packet_msg_prot) * 2);
5776
5777 while ((void *)cq_padding < (void *)cq_pkt) {
> 5778 cq_padding->ctl = FIELD_PREP(GAUDI_PKT_CTL_OPCODE_MASK, PACKET_NOP);
5779 cq_padding++;
5780 }
5781
5782 tmp = FIELD_PREP(GAUDI_PKT_CTL_OPCODE_MASK, PACKET_MSG_PROT);
5783 tmp |= FIELD_PREP(GAUDI_PKT_CTL_MB_MASK, 1);
5784
5785 if (eb)
5786 tmp |= FIELD_PREP(GAUDI_PKT_CTL_EB_MASK, 1);
5787
5788 cq_pkt->ctl = cpu_to_le32(tmp);
5789 cq_pkt->value = cpu_to_le32(cq_val);
5790 cq_pkt->addr = cpu_to_le64(cq_addr);
5791
5792 cq_pkt++;
5793
5794 tmp = FIELD_PREP(GAUDI_PKT_CTL_OPCODE_MASK, PACKET_MSG_PROT);
5795 tmp |= FIELD_PREP(GAUDI_PKT_CTL_MB_MASK, 1);
5796 cq_pkt->ctl = cpu_to_le32(tmp);
5797 cq_pkt->value = cpu_to_le32(1);
5798
5799 if (gaudi->multi_msi_mode)
5800 msi_addr = mmPCIE_MSI_INTR_0 + msi_vec * 4;
5801 else
5802 msi_addr = mmPCIE_CORE_MSI_REQ;
5803
5804 cq_pkt->addr = cpu_to_le64(CFG_BASE + msi_addr);
5805 }
5806

--
0-DAY CI Kernel Test Service
https://01.org/lkp


Attachments:
(No filename) (3.06 kB)
config (148.41 kB)
Download all attachments