2023-11-15 08:02:55

by Yujie Liu

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

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9bacdd8996c77c42ca004440be610692275ff9d0
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/20231115/[email protected]/config)
compiler: powerpc-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231115/[email protected]/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 <[email protected]>
| Closes: https://lore.kernel.org/r/[email protected]/

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

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

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