Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp338999pxm; Wed, 2 Mar 2022 16:46:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJwAh2GoilfxmLEKk7G4Bx24cSQ/W5ODg0jH+JBg3pinEZqFK3GxqfnuWVohjDqRry9Y4SJk X-Received: by 2002:a63:6201:0:b0:372:d3d1:a684 with SMTP id w1-20020a636201000000b00372d3d1a684mr28007245pgb.523.1646268413768; Wed, 02 Mar 2022 16:46:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646268413; cv=none; d=google.com; s=arc-20160816; b=k8opxitku+JwDozDgiIVKfoVSjfP75nEwyMIIHUYPm6VB9PqwgWAcWpLi/h/nEQZfm Sjpl2M2DQ9hTnObCKWeW5yusHsS4F5/Zdj3evPH1Z8ElGMQYjvu4JF/1OyRkpiCrJO3M wLCtwy8f2/EijNFjzwJ88ENhD5fbxekLATK6L6eq78NgYJmK5uHA2vnCvJcCVS4hVFs5 49ige1n4afdxxsGN7GY9wRUrta46rh4OTfBWxLe0tpVtTvMb4F9RkRLJ2+behiGI6auX FmOCLYopaTD0JNQk7zDvvdAPdAz0kxx/4uWpEp66y2/3URVi8XAfh24waAcPvcq88O22 CupA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=3ns7X+4Sh2HpgwsKnTsHWSdC3hqeQAuxqh8+tQLGIwg=; b=j1AS8ienhAc1dflb9FZRyFZPr+amMGFtacxeYUNTs21sSLgzeD8PnPUocZHG5AM2mI 2JP7fUH6ZRofeqZ+j7RZmMi4FCLfddra1duGLfzX66kPUcsxF3OeXjO4Baq1sEF1YEY7 S2PdvUtWklAkU1stxj0IPZWHCo1VMPYhyeFDsVSXzgTHxEfUyil1JC0a1OTRPai8vflq iGUNSl1VjUoa6IRX74z2Wg/Xt/AOkd/tWSXpvWTzRPZBnYmnt7/2srZL3SYLnnXSRNbh 3rM/aT+nukcAksfz4h2q7INkPLgRf6fbL7aMniXWl+CliL1adG/UY5/PMlNIdYy/ph1j PJqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="gFXEd/n6"; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id k14-20020a63ab4e000000b00365948e287asi552284pgp.471.2022.03.02.16.46.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 16:46:53 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="gFXEd/n6"; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 08747A8885; Wed, 2 Mar 2022 16:06:58 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230039AbiCCAH1 (ORCPT + 99 others); Wed, 2 Mar 2022 19:07:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46768 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230023AbiCCAHY (ORCPT ); Wed, 2 Mar 2022 19:07:24 -0500 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0D1735AA40; Wed, 2 Mar 2022 16:06:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646265996; x=1677801996; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=HVHanwyjNPrhRvb+P3c0SOz57+0zoQiIF+ri4Z2H6BM=; b=gFXEd/n6NAZbofk0v41z4PcM9aEAwveqxmreaquywhfqUwBQAuSiOsnx 0GLiAN7LDd3eMXFxqqTW8+ajyJZViSniSb+sQVZx4aT/AJGtt8kc1neV3 scPSME/hqwdtVRBzuSuigvLKhMolw76cFz7VHcfB2EVBuFQTfZ0QAmOzL /oennNb0yOnLF69WxHIQXFeFHP7q49/rk8iPX5mHFHkOhdk1RS6wa660i a1xBqsmMtHWUCAj2bsmOxwLZ+Rty2NgXzsmw9iBU4IQ1F8pcxC4DJk4Iv iCVmmfJnTeGUUmsRqTGYSmEVlZvTRhZykzIeJ3Gxfk/TDFKULKeSyTSpS w==; X-IronPort-AV: E=McAfee;i="6200,9189,10274"; a="252363984" X-IronPort-AV: E=Sophos;i="5.90,150,1643702400"; d="scan'208";a="252363984" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2022 16:04:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,150,1643702400"; d="scan'208";a="535590607" Received: from lkp-server02.sh.intel.com (HELO e9605edfa585) ([10.239.97.151]) by orsmga007.jf.intel.com with ESMTP; 02 Mar 2022 16:04:01 -0800 Received: from kbuild by e9605edfa585 with local (Exim 4.92) (envelope-from ) id 1nPYwr-000276-0r; Thu, 03 Mar 2022 00:04:01 +0000 Date: Thu, 3 Mar 2022 08:03:18 +0800 From: kernel test robot To: Deepak Kumar Singh , bjorn.andersson@linaro.org, quic_clew@quicinc.com, mathieu.poirier@linaro.org Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, Deepak Kumar Singh , Andy Gross Subject: Re: [PATCH V5 1/2] soc: qcom: smem: map only partitions used by local HOST Message-ID: <202203030741.cBjO3T7h-lkp@intel.com> References: <1646147913-15791-1-git-send-email-quic_deesin@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1646147913-15791-1-git-send-email-quic_deesin@quicinc.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Deepak, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v5.17-rc6 next-20220302] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Deepak-Kumar-Singh/soc-qcom-smem-map-only-partitions-used-by-local-HOST/20220301-231925 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 719fce7539cd3e186598e2aed36325fe892150cf config: mips-randconfig-s032-20220302 (https://download.01.org/0day-ci/archive/20220303/202203030741.cBjO3T7h-lkp@intel.com/config) compiler: mipsel-linux-gcc (GCC) 11.2.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.4-dirty # https://github.com/0day-ci/linux/commit/de1c04b67e5fb3075d0e655769a200cad55b02d9 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Deepak-Kumar-Singh/soc-qcom-smem-map-only-partitions-used-by-local-HOST/20220301-231925 git checkout de1c04b67e5fb3075d0e655769a200cad55b02d9 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=mips SHELL=/bin/bash drivers/misc/ drivers/soc/qcom/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) command-line: note: in included file: builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined builtin:0:0: sparse: this was the original definition builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined builtin:0:0: sparse: this was the original definition builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined builtin:0:0: sparse: this was the original definition builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined builtin:0:0: sparse: this was the original definition drivers/soc/qcom/smem.c:422:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct smem_header *header @@ got void [noderef] __iomem *virt_base @@ drivers/soc/qcom/smem.c:422:16: sparse: expected struct smem_header *header drivers/soc/qcom/smem.c:422:16: sparse: got void [noderef] __iomem *virt_base drivers/soc/qcom/smem.c:507:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct smem_header *header @@ got void [noderef] __iomem *virt_base @@ drivers/soc/qcom/smem.c:507:16: sparse: expected struct smem_header *header drivers/soc/qcom/smem.c:507:16: sparse: got void [noderef] __iomem *virt_base drivers/soc/qcom/smem.c:520:50: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void * @@ got void [noderef] __iomem * @@ drivers/soc/qcom/smem.c:520:50: sparse: expected void * drivers/soc/qcom/smem.c:520:50: sparse: got void [noderef] __iomem * drivers/soc/qcom/smem.c:648:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct smem_partition_header *phdr @@ got void [noderef] __iomem *virt_base @@ drivers/soc/qcom/smem.c:648:22: sparse: expected struct smem_partition_header *phdr drivers/soc/qcom/smem.c:648:22: sparse: got void [noderef] __iomem *virt_base drivers/soc/qcom/smem.c:653:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct smem_partition_header *phdr @@ got void [noderef] __iomem *virt_base @@ drivers/soc/qcom/smem.c:653:22: sparse: expected struct smem_partition_header *phdr drivers/soc/qcom/smem.c:653:22: sparse: got void [noderef] __iomem *virt_base drivers/soc/qcom/smem.c:657:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct smem_header *header @@ got void [noderef] __iomem *virt_base @@ drivers/soc/qcom/smem.c:657:24: sparse: expected struct smem_header *header drivers/soc/qcom/smem.c:657:24: sparse: got void [noderef] __iomem *virt_base drivers/soc/qcom/smem.c:667:30: sparse: sparse: incompatible types in comparison expression (different address spaces): drivers/soc/qcom/smem.c:667:30: sparse: void * drivers/soc/qcom/smem.c:667:30: sparse: void [noderef] __iomem * drivers/soc/qcom/smem.c:688:36: sparse: sparse: subtraction of different types can't work (different address spaces) drivers/soc/qcom/smem.c:697:28: sparse: sparse: subtraction of different types can't work (different address spaces) drivers/soc/qcom/smem.c:706:36: sparse: sparse: subtraction of different types can't work (different address spaces) drivers/soc/qcom/smem.c:721:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct smem_header *header @@ got void [noderef] __iomem *virt_base @@ drivers/soc/qcom/smem.c:721:16: sparse: expected struct smem_header *header drivers/soc/qcom/smem.c:721:16: sparse: got void [noderef] __iomem *virt_base drivers/soc/qcom/smem.c:754:57: sparse: sparse: restricted __le32 degrades to integer drivers/soc/qcom/smem.c:775:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct smem_partition_header *header @@ got void [noderef] __iomem * @@ drivers/soc/qcom/smem.c:775:16: sparse: expected struct smem_partition_header *header drivers/soc/qcom/smem.c:775:16: sparse: got void [noderef] __iomem * drivers/soc/qcom/smem.c:926:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct smem_ptable *ptable @@ got void [noderef] __iomem * @@ drivers/soc/qcom/smem.c:926:22: sparse: expected struct smem_ptable *ptable drivers/soc/qcom/smem.c:926:22: sparse: got void [noderef] __iomem * drivers/soc/qcom/smem.c:1035:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct smem_header *header @@ got void [noderef] __iomem *virt_base @@ drivers/soc/qcom/smem.c:1035:16: sparse: expected struct smem_header *header drivers/soc/qcom/smem.c:1035:16: sparse: got void [noderef] __iomem *virt_base >> drivers/soc/qcom/smem.c:1056:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got restricted __le32 * @@ drivers/soc/qcom/smem.c:1056:31: sparse: expected void const volatile [noderef] __iomem *mem drivers/soc/qcom/smem.c:1056:31: sparse: got restricted __le32 * drivers/soc/qcom/smem.c:1056:67: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *mem @@ got restricted __le32 * @@ drivers/soc/qcom/smem.c:1056:67: sparse: expected void const volatile [noderef] __iomem *mem drivers/soc/qcom/smem.c:1056:67: sparse: got restricted __le32 * vim +1056 drivers/soc/qcom/smem.c 973 974 static int qcom_smem_probe(struct platform_device *pdev) 975 { 976 struct smem_header *header; 977 struct reserved_mem *rmem; 978 struct qcom_smem *smem; 979 unsigned long flags; 980 size_t array_size; 981 int num_regions; 982 int hwlock_id; 983 u32 version; 984 u32 size; 985 int ret; 986 int i; 987 988 num_regions = 1; 989 if (of_find_property(pdev->dev.of_node, "qcom,rpm-msg-ram", NULL)) 990 num_regions++; 991 992 array_size = num_regions * sizeof(struct smem_region); 993 smem = devm_kzalloc(&pdev->dev, sizeof(*smem) + array_size, GFP_KERNEL); 994 if (!smem) 995 return -ENOMEM; 996 997 smem->dev = &pdev->dev; 998 smem->num_regions = num_regions; 999 1000 rmem = of_reserved_mem_lookup(pdev->dev.of_node); 1001 if (rmem) { 1002 smem->regions[0].aux_base = rmem->base; 1003 smem->regions[0].size = rmem->size; 1004 } else { 1005 /* 1006 * Fall back to the memory-region reference, if we're not a 1007 * reserved-memory node. 1008 */ 1009 ret = qcom_smem_resolve_mem(smem, "memory-region", &smem->regions[0]); 1010 if (ret) 1011 return ret; 1012 } 1013 1014 if (num_regions > 1) { 1015 ret = qcom_smem_resolve_mem(smem, "qcom,rpm-msg-ram", &smem->regions[1]); 1016 if (ret) 1017 return ret; 1018 } 1019 1020 1021 ret = qcom_smem_map_toc(smem, &smem->regions[0]); 1022 if (ret) 1023 return ret; 1024 1025 for (i = 1; i < num_regions; i++) { 1026 smem->regions[i].virt_base = devm_ioremap_wc(&pdev->dev, 1027 smem->regions[i].aux_base, 1028 smem->regions[i].size); 1029 if (!smem->regions[i].virt_base) { 1030 dev_err(&pdev->dev, "failed to remap %pa\n", &smem->regions[i].aux_base); 1031 return -ENOMEM; 1032 } 1033 } 1034 1035 header = smem->regions[0].virt_base; 1036 if (le32_to_cpu(header->initialized) != 1 || 1037 le32_to_cpu(header->reserved)) { 1038 dev_err(&pdev->dev, "SMEM is not initialized by SBL\n"); 1039 return -EINVAL; 1040 } 1041 1042 hwlock_id = of_hwspin_lock_get_id(pdev->dev.of_node, 0); 1043 if (hwlock_id < 0) { 1044 if (hwlock_id != -EPROBE_DEFER) 1045 dev_err(&pdev->dev, "failed to retrieve hwlock\n"); 1046 return hwlock_id; 1047 } 1048 1049 smem->hwlock = hwspin_lock_request_specific(hwlock_id); 1050 if (!smem->hwlock) 1051 return -ENXIO; 1052 1053 ret = hwspin_lock_timeout_irqsave(smem->hwlock, HWSPINLOCK_TIMEOUT, &flags); 1054 if (ret) 1055 return ret; > 1056 size = readl_relaxed(&header->available) + readl_relaxed(&header->free_offset); 1057 hwspin_unlock_irqrestore(smem->hwlock, &flags); 1058 1059 version = qcom_smem_get_sbl_version(smem); 1060 /* 1061 * smem header mapping is required only in heap version scheme, so unmap 1062 * it here. It will be remapped in qcom_smem_map_global() when whole 1063 * partition is mapped again. 1064 */ 1065 devm_iounmap(smem->dev, smem->regions[0].virt_base); 1066 switch (version >> 16) { 1067 case SMEM_GLOBAL_PART_VERSION: 1068 ret = qcom_smem_set_global_partition(smem); 1069 if (ret < 0) 1070 return ret; 1071 smem->item_count = qcom_smem_get_item_count(smem); 1072 break; 1073 case SMEM_GLOBAL_HEAP_VERSION: 1074 qcom_smem_map_global(smem, size); 1075 smem->item_count = SMEM_ITEM_COUNT; 1076 break; 1077 default: 1078 dev_err(&pdev->dev, "Unsupported SMEM version 0x%x\n", version); 1079 return -EINVAL; 1080 } 1081 1082 BUILD_BUG_ON(SMEM_HOST_APPS >= SMEM_HOST_COUNT); 1083 ret = qcom_smem_enumerate_partitions(smem, SMEM_HOST_APPS); 1084 if (ret < 0 && ret != -ENOENT) 1085 return ret; 1086 1087 __smem = smem; 1088 1089 smem->socinfo = platform_device_register_data(&pdev->dev, "qcom-socinfo", 1090 PLATFORM_DEVID_NONE, NULL, 1091 0); 1092 if (IS_ERR(smem->socinfo)) 1093 dev_dbg(&pdev->dev, "failed to register socinfo device\n"); 1094 1095 return 0; 1096 } 1097 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org