[openeuler:OLK-6.6 3541/3541] drivers/crypto/montage/tsse/tsse_fw_service.c:40:16: sparse: sparse: cast removes address space '__iomem' of expression
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd9eb9b4365b71652b2c2ac58293bea47c9f9302 commit: 811debd4ea52033d7393d4a7de2be11f71c70348 [3541/3541] add support for Mont-TSSE Driver config: x86_64-randconfig-r122-20251213 (https://download.01.org/0day-ci/archive/20251213/202512130900.UPe4oSIC-lkp@i...) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512130900.UPe4oSIC-lkp@i...) 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/202512130900.UPe4oSIC-lkp@intel.com/ sparse warnings: (new ones prefixed by >>)
drivers/crypto/montage/tsse/tsse_fw_service.c:40:16: sparse: sparse: cast removes address space '__iomem' of expression drivers/crypto/montage/tsse/tsse_fw_service.c:41:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got unsigned char [usertype] *[assigned] h2d @@ drivers/crypto/montage/tsse/tsse_fw_service.c:41:21: sparse: expected void volatile [noderef] __iomem * drivers/crypto/montage/tsse/tsse_fw_service.c:41:21: sparse: got unsigned char [usertype] *[assigned] h2d drivers/crypto/montage/tsse/tsse_fw_service.c:42:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got unsigned char [usertype] * @@ drivers/crypto/montage/tsse/tsse_fw_service.c:42:25: sparse: expected void volatile [noderef] __iomem * drivers/crypto/montage/tsse/tsse_fw_service.c:42:25: sparse: got unsigned char [usertype] * drivers/crypto/montage/tsse/tsse_fw_service.c:26:5: sparse: sparse: symbol 'fw_send_msg' was not declared. Should it be static? drivers/crypto/montage/tsse/tsse_fw_service.c:51:6: sparse: sparse: symbol 'fw_free' was not declared. Should it be static? drivers/crypto/montage/tsse/tsse_fw_service.c:141:22: sparse: sparse: cast removes address space '__iomem' of expression drivers/crypto/montage/tsse/tsse_fw_service.c:141:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got unsigned char [usertype] * @@ drivers/crypto/montage/tsse/tsse_fw_service.c:141:22: sparse: expected void volatile [noderef] __iomem * drivers/crypto/montage/tsse/tsse_fw_service.c:141:22: sparse: got unsigned char [usertype] * -- drivers/crypto/montage/tsse/tsse_vuart.c:61:28: sparse: sparse: cast to restricted __le32 drivers/crypto/montage/tsse/tsse_vuart.c:73:15: sparse: sparse: incorrect type in assignment (different base types) @@ expected int value @@ got restricted __le32 [usertype] @@ drivers/crypto/montage/tsse/tsse_vuart.c:73:15: sparse: expected int value drivers/crypto/montage/tsse/tsse_vuart.c:73:15: sparse: got restricted __le32 [usertype]
vim +/__iomem +40 drivers/crypto/montage/tsse/tsse_fw_service.c 25 26 int fw_send_msg(struct tsse_ipc *tsseipc, struct ipc_msg *msg) 27 { 28 u8 *h2d; 29 u32 int_reg; 30 u32 rc; 31 32 mutex_lock(&tsseipc->list_lock); 33 34 int_reg = readl(tsseipc->virt_addr + HOST2MAIN_INTR_SET_OFFSET); 35 if ((int_reg & IPC_REGISTER_INT_SET) != 0) { 36 rc = -1; 37 mutex_unlock(&tsseipc->list_lock); 38 return rc; 39 }
40 h2d = (u8 *)(tsseipc->virt_addr + HOST2MAIN_IPC_OFFSET); 41 memcpy_toio(h2d, msg, sizeof(struct ipc_header)); 42 memcpy_toio(h2d + sizeof(struct ipc_header), (u32 *)msg->i_data, 43 msg->header.i_len - sizeof(struct ipc_header)); 44 writel(0x1, tsseipc->virt_addr + HOST2MAIN_INTR_SET_OFFSET); 45 46 dev_info(tsseipc->dev, "notify device to get firmware\n"); 47 mutex_unlock(&tsseipc->list_lock); 48 return 0; 49 } 50
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
participants (1)
-
kernel test robot