drivers/gpu/drm/loongson/lsdc_benchmark.c:27:35: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kernel test robot
Date: Tue Nov 07 2023 - 08:09:50 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: be3ca57cfb777ad820c6659d52e60bbdd36bf5ff
commit: f39db26c54281da6a785259498ca74b5e470476f drm: Add kms driver for loongson display controller
date: 4 months ago
config: powerpc-randconfig-r113-20231106 (https://download.01.org/0day-ci/archive/20231107/202311072011.DZIBU3k2-lkp@xxxxxxxxx/config)
compiler: powerpc-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231107/202311072011.DZIBU3k2-lkp@xxxxxxxxx/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 <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311072011.DZIBU3k2-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/loongson/lsdc_benchmark.c:27:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *d @@ got void *kptr @@
drivers/gpu/drm/loongson/lsdc_benchmark.c:27:35: sparse: expected void volatile [noderef] __iomem *d
drivers/gpu/drm/loongson/lsdc_benchmark.c:27:35: sparse: got void *kptr
>> drivers/gpu/drm/loongson/lsdc_benchmark.c:42:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *s @@ got void *kptr @@
drivers/gpu/drm/loongson/lsdc_benchmark.c:42:51: sparse: expected void const volatile [noderef] __iomem *s
drivers/gpu/drm/loongson/lsdc_benchmark.c:42:51: sparse: got void *kptr

vim +27 drivers/gpu/drm/loongson/lsdc_benchmark.c

12
13 typedef void (*lsdc_copy_proc_t)(struct lsdc_bo *src_bo,
14 struct lsdc_bo *dst_bo,
15 unsigned int size,
16 int n);
17
18 static void lsdc_copy_gtt_to_vram_cpu(struct lsdc_bo *src_bo,
19 struct lsdc_bo *dst_bo,
20 unsigned int size,
21 int n)
22 {
23 lsdc_bo_kmap(src_bo);
24 lsdc_bo_kmap(dst_bo);
25
26 while (n--)
> 27 memcpy_toio(dst_bo->kptr, src_bo->kptr, size);
28
29 lsdc_bo_kunmap(src_bo);
30 lsdc_bo_kunmap(dst_bo);
31 }
32
33 static void lsdc_copy_vram_to_gtt_cpu(struct lsdc_bo *src_bo,
34 struct lsdc_bo *dst_bo,
35 unsigned int size,
36 int n)
37 {
38 lsdc_bo_kmap(src_bo);
39 lsdc_bo_kmap(dst_bo);
40
41 while (n--)
> 42 memcpy_fromio(dst_bo->kptr, src_bo->kptr, size);
43
44 lsdc_bo_kunmap(src_bo);
45 lsdc_bo_kunmap(dst_bo);
46 }
47

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki