From: kernel test robot <lkp@intel.com>
To: Timo Alho <talho@nvidia.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
Thierry Reding <treding@nvidia.com>,
Mikko Perttunen <mperttunen@nvidia.com>
Subject: drivers/firmware/tegra/bpmp.c:204:17: sparse: sparse: incorrect type in argument 2 (different address spaces)
Date: Thu, 1 Sep 2022 06:24:15 +0800 [thread overview]
Message-ID: <202209010603.Ui3eZ89D-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c5e4d5e99162ba8025d58a3af7ad103f155d2df7
commit: a4740b148a04dc60e14fe6a1dfe216d3bae214fd firmware: tegra: bpmp: Do only aligned access to IPC memory area
date: 10 weeks ago
config: arm-randconfig-s042-20220831 (https://download.01.org/0day-ci/archive/20220901/202209010603.Ui3eZ89D-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.1.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-39-gce1a6720-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a4740b148a04dc60e14fe6a1dfe216d3bae214fd
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout a4740b148a04dc60e14fe6a1dfe216d3bae214fd
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm SHELL=/bin/bash drivers/firmware/tegra/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/firmware/tegra/bpmp.c:204:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *from @@ got unsigned char * @@
drivers/firmware/tegra/bpmp.c:204:17: sparse: expected void const volatile [noderef] __iomem *from
drivers/firmware/tegra/bpmp.c:204:17: sparse: got unsigned char *
>> drivers/firmware/tegra/bpmp.c:248:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *to @@ got unsigned char * @@
drivers/firmware/tegra/bpmp.c:248:17: sparse: expected void volatile [noderef] __iomem *to
drivers/firmware/tegra/bpmp.c:248:17: sparse: got unsigned char *
drivers/firmware/tegra/bpmp.c:423:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *to @@ got unsigned char * @@
drivers/firmware/tegra/bpmp.c:423:17: sparse: expected void volatile [noderef] __iomem *to
drivers/firmware/tegra/bpmp.c:423:17: sparse: got unsigned char *
drivers/firmware/tegra/bpmp.c:505:53: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned int [usertype] mrq @@ got restricted __le32 [usertype] @@
drivers/firmware/tegra/bpmp.c:505:53: sparse: expected unsigned int [usertype] mrq
drivers/firmware/tegra/bpmp.c:505:53: sparse: got restricted __le32 [usertype]
vim +204 drivers/firmware/tegra/bpmp.c
197
198 static ssize_t __tegra_bpmp_channel_read(struct tegra_bpmp_channel *channel,
199 void *data, size_t size, int *ret)
200 {
201 int err;
202
203 if (data && size > 0)
> 204 memcpy_fromio(data, channel->ib->data, size);
205
206 err = tegra_bpmp_ack_response(channel);
207 if (err < 0)
208 return err;
209
210 *ret = channel->ib->code;
211
212 return 0;
213 }
214
215 static ssize_t tegra_bpmp_channel_read(struct tegra_bpmp_channel *channel,
216 void *data, size_t size, int *ret)
217 {
218 struct tegra_bpmp *bpmp = channel->bpmp;
219 unsigned long flags;
220 ssize_t err;
221 int index;
222
223 index = tegra_bpmp_channel_get_thread_index(channel);
224 if (index < 0) {
225 err = index;
226 goto unlock;
227 }
228
229 spin_lock_irqsave(&bpmp->lock, flags);
230 err = __tegra_bpmp_channel_read(channel, data, size, ret);
231 clear_bit(index, bpmp->threaded.allocated);
232 spin_unlock_irqrestore(&bpmp->lock, flags);
233
234 unlock:
235 up(&bpmp->threaded.lock);
236
237 return err;
238 }
239
240 static ssize_t __tegra_bpmp_channel_write(struct tegra_bpmp_channel *channel,
241 unsigned int mrq, unsigned long flags,
242 const void *data, size_t size)
243 {
244 channel->ob->code = mrq;
245 channel->ob->flags = flags;
246
247 if (data && size > 0)
> 248 memcpy_toio(channel->ob->data, data, size);
249
250 return tegra_bpmp_post_request(channel);
251 }
252
--
0-DAY CI Kernel Test Service
https://01.org/lkp
reply other threads:[~2022-08-31 22:24 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202209010603.Ui3eZ89D-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mperttunen@nvidia.com \
--cc=talho@nvidia.com \
--cc=treding@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox