From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id EF774C05052 for ; Fri, 18 Aug 2023 06:20:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 48FE0280038; Fri, 18 Aug 2023 02:20:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 440FD940053; Fri, 18 Aug 2023 02:20:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 307BB280038; Fri, 18 Aug 2023 02:20:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 1DA53940053 for ; Fri, 18 Aug 2023 02:20:45 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id CF895160830 for ; Fri, 18 Aug 2023 06:20:44 +0000 (UTC) X-FDA: 81136226808.28.766A53A Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by imf22.hostedemail.com (Postfix) with ESMTP id 4F8DBC0005 for ; Fri, 18 Aug 2023 06:20:42 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Y6l4GdMD; spf=pass (imf22.hostedemail.com: domain of lkp@intel.com designates 192.55.52.151 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692339643; a=rsa-sha256; cv=none; b=4ictC846gmRsfYeDgSl1BvPTrUpqOk/7Xs5HUEEDWl/H3RjD5w6OVafORfg4NOvQGSLNYg 0YMF/Fnqy2o6z/iYSVE+BhBQvdPRnZ+10Z1KcexFDbeNZIj40pUvJR56MOYHBzxO4defCc kbo+ecvOupW1/PpzZbpI7UgrxNC+eHA= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Y6l4GdMD; spf=pass (imf22.hostedemail.com: domain of lkp@intel.com designates 192.55.52.151 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692339643; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=QhkL6kfyKBDiWIiFr2vr131NLE3gz03rp2LWnenvM0Y=; b=fTRGSp+cIqOhkrVvwrKEdLgoRq+t5Pc36SJsaKOfNfSUG93KWVIBucXWgsbNzQ0KuRIK5R OPxTPyB6q6vbz3w1i5bApWaQ8lSjyfgBYquhCcm/zXop61pNYA6lELZCRrj3Kdygv0faEb 4OCzLLKWvtX6zfnJJiqqxBg/X5OL5lA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1692339642; x=1723875642; h=date:from:to:cc:subject:message-id:mime-version; bh=p8xhiFL124FfacFP9OKfKQtiFgTKg4kd7RnqOdHGu5g=; b=Y6l4GdMD9byrvfjahjLW4lej/JlflzC/YTTdwg8Fnhn+TvfpprGXibNt 18857wyK6Tw6C7Th89U41AAIMbHYqR5SHRI4kFrsfVry/Idmme962nJjB U7lEVls5mq45ui6c9+9n9DvD2jUQe3tLV2iA/KZT8Lfs5Ef5T0iK5oYct SIxPyUJ2CrtgZDocZKFcQ2qXcQ6xIBb9dEbZz4j6/IFZoF/FIztSmw9YD ZUFpEZAiThSQrYIfVE1InoJfaT0CBan/Ni6G7Ny60VqfnQdrP9TudFx9z DQDMJfaJU65aarSvSxonX2D473gAZ4TSfc2+ml/xviVt9fPAf9dr5THAz w==; X-IronPort-AV: E=McAfee;i="6600,9927,10805"; a="353329135" X-IronPort-AV: E=Sophos;i="6.01,182,1684825200"; d="scan'208";a="353329135" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Aug 2023 23:20:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10805"; a="824989270" X-IronPort-AV: E=Sophos;i="6.01,182,1684825200"; d="scan'208";a="824989270" Received: from lkp-server02.sh.intel.com (HELO a9caf1a0cf30) ([10.239.97.151]) by FMSMGA003.fm.intel.com with ESMTP; 17 Aug 2023 23:20:39 -0700 Received: from kbuild by a9caf1a0cf30 with local (Exim 4.96) (envelope-from ) id 1qWsqc-0002AC-1P; Fri, 18 Aug 2023 06:20:38 +0000 Date: Fri, 18 Aug 2023 14:10:42 +0800 From: kernel test robot To: Huisong Li Cc: oe-kbuild-all@lists.linux.dev, Linux Memory Management List , Wei Xu Subject: [linux-next:master 6958/10848] drivers/soc/hisilicon/kunpeng_hccs.c:183:9: sparse: sparse: incorrect type in argument 1 (different address spaces) Message-ID: <202308181402.TTzMhV7E-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 4F8DBC0005 X-Stat-Signature: u5kjafi5gx95juqg349nd4pmkzqk95u1 X-Rspam-User: X-HE-Tag: 1692339642-106582 X-HE-Meta: U2FsdGVkX19hWgSJwYC2dX7W5+KZk7HOWstFeRuT41z03wGTpZ7DkfjQp+uNsT/Il/9Sg3rQe8B2t3RQwnp+GoKugXI/GY5Au4duXTzJAj2+fGu4RCo3PgNBO4likIa7lO0hcLHdoT4aJYKBRBAXeW+tMe8QqkgiSZ9PWSPR6NRFt4XZey5NCexI/0QX1f163frU9tswLSJPXvI8JGVoxSRLv+BTSQguebqnPio0IRXl23dlrhz8mN9GTxkA38Uvg6+T/a98TKs8C9ShFPqTMKWOwQSTIuRdZ/GBnjLzmMKVBSZza8CbcqMTxahhgEvcstunC/ILbOCsPWV3/FWjv/9c149sFNKXTz0a/QquLFFD+BsubM38G2mCB87qpdM7lhOe7d7xl4f51uYPLNR6twTCaGLAwhpCJYM3jqW3d1COUa2YgQWdz758UE7zMfWP7dYq79W6BRx/inqyW0NqxJCiNEh50RfntgbrGMrRIzy+BBqE+H6PwZVWLnz1SbKVhWCgK5IVDicElPAUs0tr+rcxnH+7l4UhYmiihxKWZXONmQff1sm+avazPvLf+xe8GK2CHZYcDXey1cKzj/KBitNbvME43L6q+eHok/18Vmw1quv4tdQYTzAp5qehnl4oD8jrSZHFT9rjomV6o04gT+i9uhgIWaH8p1jbB3hLrP14Sg8Bcme+naA9IjN+Kq6p7W5+Eo7iaSSkzpgP9mj8J+Y1TM9JfpVtmgyFIeJOw4XNOK8ifQwABRG1dtZkWexnGsYMx5WY4vD8g+MNna1Kjv6YxLZWP2EO/wchhtjIHDDqoVPLMGjQYd0xZniCEqFLhD06fVbV0Ws+unthzcknzZ1mb1iToThtX8FeUwTuKZjm/CrArTrF25EH5jKldZszyC35hznS/83Ad7reZxQtPI6vLN7M0vrDB/9Grd1zoWg9vQSQjpyOL2xKG9WH3reIlbR8O6E92lMA8/Firam /uQSElDQ 31PoKFgnWL/eyYW6g3wAP9V5cQGr7vR0ZmNB25KqAK5/AQrNlHhGtmhkI+9sI+9s5v398Td7rsEAS/CHJbSihvVTUm8l3wkUVgMBnVECg+g0UTo/mIK4AYPBrtRFnjOXvpgEFi7L+lypOOyHhjtyyxIhjTH3nRoigIViPEvJPwrJGv6sXc8iexuuPEtfHswwgo78UBF4M0zRK5OhAWEsj/a59L63+XKVzzJsX/3Qs9xLp4GjrQnMuhDQjlSRyFgyc3cB04xfdbV26dWpRetqrgsq+6TOxzG18lbrSTpR+kBSq8B+gH7OijW93rLFcN6YySdC/8Hmtoj2keAT67N44K42ttoZ5k1aE8f3K X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 47762f08697484cf0c2f2904b8c52375ed26c8cb commit: 886bdf9c883bcc9bfb0a0bc0ed27680e68c8b6c2 [6958/10848] soc: hisilicon: Support HCCS driver on Kunpeng SoC config: loongarch-randconfig-r083-20230818 (https://download.01.org/0day-ci/archive/20230818/202308181402.TTzMhV7E-lkp@intel.com/config) compiler: loongarch64-linux-gcc (GCC) 12.3.0 reproduce: (https://download.01.org/0day-ci/archive/20230818/202308181402.TTzMhV7E-lkp@intel.com/reproduce) 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 | Closes: https://lore.kernel.org/oe-kbuild-all/202308181402.TTzMhV7E-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) drivers/soc/hisilicon/kunpeng_hccs.c:88:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *pcc_comm_addr @@ drivers/soc/hisilicon/kunpeng_hccs.c:88:32: sparse: expected void volatile [noderef] __iomem *addr drivers/soc/hisilicon/kunpeng_hccs.c:88:32: sparse: got void *pcc_comm_addr drivers/soc/hisilicon/kunpeng_hccs.c:156:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned short * @@ drivers/soc/hisilicon/kunpeng_hccs.c:156:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/soc/hisilicon/kunpeng_hccs.c:156:15: sparse: got unsigned short * drivers/soc/hisilicon/kunpeng_hccs.c:156:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned short * @@ drivers/soc/hisilicon/kunpeng_hccs.c:156:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/soc/hisilicon/kunpeng_hccs.c:156:15: sparse: got unsigned short * >> drivers/soc/hisilicon/kunpeng_hccs.c:183:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *to @@ got struct acpi_pcct_shared_memory *comm_base @@ drivers/soc/hisilicon/kunpeng_hccs.c:183:9: sparse: expected void volatile [noderef] __iomem *to drivers/soc/hisilicon/kunpeng_hccs.c:183:9: sparse: got struct acpi_pcct_shared_memory *comm_base >> drivers/soc/hisilicon/kunpeng_hccs.c:189:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *to @@ got void *comm_space @@ drivers/soc/hisilicon/kunpeng_hccs.c:189:9: sparse: expected void volatile [noderef] __iomem *to drivers/soc/hisilicon/kunpeng_hccs.c:189:9: sparse: got void *comm_space >> drivers/soc/hisilicon/kunpeng_hccs.c:205:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *from @@ got void *comm_space @@ drivers/soc/hisilicon/kunpeng_hccs.c:205:9: sparse: expected void const volatile [noderef] __iomem *from drivers/soc/hisilicon/kunpeng_hccs.c:205:9: sparse: got void *comm_space vim +183 drivers/soc/hisilicon/kunpeng_hccs.c 82 83 static void hccs_unregister_pcc_channel(struct hccs_dev *hdev) 84 { 85 struct hccs_mbox_client_info *cl_info = &hdev->cl_info; 86 87 if (cl_info->pcc_comm_addr) > 88 iounmap(cl_info->pcc_comm_addr); 89 pcc_mbox_free_channel(hdev->cl_info.pcc_chan); 90 } 91 92 static int hccs_register_pcc_channel(struct hccs_dev *hdev) 93 { 94 struct hccs_mbox_client_info *cl_info = &hdev->cl_info; 95 struct mbox_client *cl = &cl_info->client; 96 struct pcc_mbox_chan *pcc_chan; 97 struct device *dev = hdev->dev; 98 int rc; 99 100 cl->dev = dev; 101 cl->tx_block = false; 102 cl->knows_txdone = true; 103 cl->tx_done = hccs_chan_tx_done; 104 pcc_chan = pcc_mbox_request_channel(cl, hdev->chan_id); 105 if (IS_ERR(pcc_chan)) { 106 dev_err(dev, "PPC channel request failed.\n"); 107 rc = -ENODEV; 108 goto out; 109 } 110 cl_info->pcc_chan = pcc_chan; 111 cl_info->mbox_chan = pcc_chan->mchan; 112 113 /* 114 * pcc_chan->latency is just a nominal value. In reality the remote 115 * processor could be much slower to reply. So add an arbitrary amount 116 * of wait on top of nominal. 117 */ 118 cl_info->deadline_us = 119 HCCS_PCC_CMD_WAIT_RETRIES_NUM * pcc_chan->latency; 120 if (cl_info->mbox_chan->mbox->txdone_irq) { 121 dev_err(dev, "PCC IRQ in PCCT is enabled.\n"); 122 rc = -EINVAL; 123 goto err_mbx_channel_free; 124 } 125 126 if (pcc_chan->shmem_base_addr) { 127 cl_info->pcc_comm_addr = (void __force *)ioremap( 128 pcc_chan->shmem_base_addr, pcc_chan->shmem_size); 129 if (!cl_info->pcc_comm_addr) { 130 dev_err(dev, "Failed to ioremap PCC communication region for channel-%d.\n", 131 hdev->chan_id); 132 rc = -ENOMEM; 133 goto err_mbx_channel_free; 134 } 135 } 136 137 return 0; 138 139 err_mbx_channel_free: 140 pcc_mbox_free_channel(cl_info->pcc_chan); 141 out: 142 return rc; 143 } 144 145 static int hccs_check_chan_cmd_complete(struct hccs_dev *hdev) 146 { 147 struct hccs_mbox_client_info *cl_info = &hdev->cl_info; 148 struct acpi_pcct_shared_memory *comm_base = cl_info->pcc_comm_addr; 149 u16 status; 150 int ret; 151 152 /* 153 * Poll PCC status register every 3us(delay_us) for maximum of 154 * deadline_us(timeout_us) until PCC command complete bit is set(cond) 155 */ > 156 ret = readw_poll_timeout(&comm_base->status, status, 157 status & HCCS_PCC_STATUS_CMD_COMPLETE, 158 HCCS_POLL_STATUS_TIME_INTERVAL_US, 159 cl_info->deadline_us); 160 if (unlikely(ret)) 161 dev_err(hdev->dev, "poll PCC status failed, ret = %d.\n", ret); 162 163 return ret; 164 } 165 166 static int hccs_pcc_cmd_send(struct hccs_dev *hdev, u8 cmd, 167 struct hccs_desc *desc) 168 { 169 struct hccs_mbox_client_info *cl_info = &hdev->cl_info; 170 struct acpi_pcct_shared_memory *comm_base = cl_info->pcc_comm_addr; 171 void *comm_space = (void *)(comm_base + 1); 172 struct hccs_fw_inner_head *fw_inner_head; 173 struct acpi_pcct_shared_memory tmp = {0}; 174 u16 comm_space_size; 175 int ret; 176 177 /* Write signature for this subspace */ 178 tmp.signature = HCCS_PCC_SIGNATURE_MASK | hdev->chan_id; 179 /* Write to the shared command region */ 180 tmp.command = cmd; 181 /* Clear cmd complete bit */ 182 tmp.status = 0; > 183 memcpy_toio(comm_base, (void *)&tmp, 184 sizeof(struct acpi_pcct_shared_memory)); 185 186 /* Copy the message to the PCC comm space */ 187 comm_space_size = HCCS_PCC_SHARE_MEM_BYTES - 188 sizeof(struct acpi_pcct_shared_memory); > 189 memcpy_toio(comm_space, (void *)desc, comm_space_size); 190 191 /* Ring doorbell */ 192 ret = mbox_send_message(cl_info->mbox_chan, &cmd); 193 if (ret < 0) { 194 dev_err(hdev->dev, "Send PCC mbox message failed, ret = %d.\n", 195 ret); 196 goto end; 197 } 198 199 /* Wait for completion */ 200 ret = hccs_check_chan_cmd_complete(hdev); 201 if (ret) 202 goto end; 203 204 /* Copy response data */ > 205 memcpy_fromio((void *)desc, comm_space, comm_space_size); 206 fw_inner_head = &desc->rsp.fw_inner_head; 207 if (fw_inner_head->retStatus) { 208 dev_err(hdev->dev, "Execute PCC command failed, error code = %u.\n", 209 fw_inner_head->retStatus); 210 ret = -EIO; 211 } 212 213 end: 214 mbox_client_txdone(cl_info->mbox_chan, ret); 215 return ret; 216 } 217 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki