tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: cb690f5238d71f543f4ce874aa59237cf53a877c commit: 49a3f51dfeeecb52c5aa28c5cb9592fe5e39bf95 drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends date: 1 year ago config: riscv-randconfig-s032-20211109 (attached as .config) compiler: riscv32-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=49a3f51dfeeecb52c5aa28c5cb9592fe5e39bf95 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 49a3f51dfeeecb52c5aa28c5cb9592fe5e39bf95 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=riscv SHELL=/bin/bash arch/riscv/kernel/ drivers/clk/qcom/ drivers/clocksource/ drivers/firmware/arm_scmi/ drivers/firmware/efi/test/ drivers/gpu/drm/kmb/ drivers/gpu/drm/qxl/ drivers/mmc/host/ drivers/mtd/nand/onenand/ drivers/mtd/nand/raw/ drivers/pci/endpoint/functions/ drivers/phy/marvell/ drivers/pwm/ drivers/soc/bcm/bcm63xx/ drivers/staging/vc04_services/ drivers/uio/ drivers/usb/gadget/function/ drivers/video/fbdev/ fs/ kernel/ lib/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> drivers/gpu/drm/qxl/qxl_object.c:172:29: sparse: sparse: cast removes address space '__iomem' of expression drivers/gpu/drm/qxl/qxl_object.c:198:40: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected void * @@ got void [noderef] __iomem * @@ drivers/gpu/drm/qxl/qxl_object.c:198:40: sparse: expected void * drivers/gpu/drm/qxl/qxl_object.c:198:40: sparse: got void [noderef] __iomem * drivers/gpu/drm/qxl/qxl_object.c:232:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __iomem *vaddr @@ got void *pmap @@ drivers/gpu/drm/qxl/qxl_object.c:232:33: sparse: expected void [noderef] __iomem *vaddr drivers/gpu/drm/qxl/qxl_object.c:232:33: sparse: got void *pmap vim +/__iomem +172 drivers/gpu/drm/qxl/qxl_object.c 156 157 int qxl_bo_kmap(struct qxl_bo *bo, struct dma_buf_map *map) 158 { 159 int r; 160 161 if (bo->kptr) { 162 bo->map_count++; 163 goto out; 164 } 165 r = ttm_bo_vmap(&bo->tbo, &bo->map); 166 if (r) 167 return r; 168 bo->map_count = 1; 169 170 /* TODO: Remove kptr in favor of map everywhere. */ 171 if (bo->map.is_iomem) > 172 bo->kptr = (void *)bo->map.vaddr_iomem; 173 else 174 bo->kptr = bo->map.vaddr; 175 176 out: 177 *map = bo->map; 178 return 0; 179 } 180 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org