Messages in this thread | ![/](/images/icornerl.gif) | | Date | Thu, 2 Mar 2023 14:23:54 +0800 | From | kernel test robot <> | Subject | drivers/gpu/drm/radeon/radeon_fb.c:265:9: 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: ee3f96b164688dae21e2466a57f2e806b64e8a37 commit: 8318f7c231d5be09e47410c5ab387b9bef6fe19e csky: optimize memcpy_{from,to}io() and memset_io() date: 11 months ago config: csky-randconfig-s033-20230302 (https://download.01.org/0day-ci/archive/20230302/202303021455.nC6Muze9-lkp@intel.com/config) compiler: csky-linux-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=8318f7c231d5be09e47410c5ab387b9bef6fe19e git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 8318f7c231d5be09e47410c5ab387b9bef6fe19e # 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=csky olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=csky SHELL=/bin/bash drivers/gpu/drm/radeon/
If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> | Link: https://lore.kernel.org/oe-kbuild-all/202303021455.nC6Muze9-lkp@intel.com/
sparse warnings: (new ones prefixed by >>) >> drivers/gpu/drm/radeon/radeon_fb.c:265:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got void *kptr @@ drivers/gpu/drm/radeon/radeon_fb.c:265:9: sparse: expected void volatile [noderef] __iomem * drivers/gpu/drm/radeon/radeon_fb.c:265:9: sparse: got void *kptr drivers/gpu/drm/radeon/radeon_fb.c:272:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char [noderef] __iomem *screen_base @@ got void *kptr @@ drivers/gpu/drm/radeon/radeon_fb.c:272:27: sparse: expected char [noderef] __iomem *screen_base drivers/gpu/drm/radeon/radeon_fb.c:272:27: sparse: got void *kptr
vim +265 drivers/gpu/drm/radeon/radeon_fb.c
8be48d924c307e Dave Airlie 2010-03-30 211 cd5428a5447cc6 Daniel Vetter 2013-01-21 212 static int radeonfb_create(struct drm_fb_helper *helper, 8be48d924c307e Dave Airlie 2010-03-30 213 struct drm_fb_helper_surface_size *sizes) 8be48d924c307e Dave Airlie 2010-03-30 214 { a1d0280e678c4d Fabian Frederick 2014-09-14 215 struct radeon_fbdev *rfbdev = a1d0280e678c4d Fabian Frederick 2014-09-14 216 container_of(helper, struct radeon_fbdev, helper); 8be48d924c307e Dave Airlie 2010-03-30 217 struct radeon_device *rdev = rfbdev->rdev; 8be48d924c307e Dave Airlie 2010-03-30 218 struct fb_info *info; 8be48d924c307e Dave Airlie 2010-03-30 219 struct drm_framebuffer *fb = NULL; 308e5bcbdb1045 Jesse Barnes 2011-11-14 220 struct drm_mode_fb_cmd2 mode_cmd; 8be48d924c307e Dave Airlie 2010-03-30 221 struct drm_gem_object *gobj = NULL; 8be48d924c307e Dave Airlie 2010-03-30 222 struct radeon_bo *rbo = NULL; 8be48d924c307e Dave Airlie 2010-03-30 223 int ret; 8be48d924c307e Dave Airlie 2010-03-30 224 unsigned long tmp; 8be48d924c307e Dave Airlie 2010-03-30 225 8be48d924c307e Dave Airlie 2010-03-30 226 mode_cmd.width = sizes->surface_width; 8be48d924c307e Dave Airlie 2010-03-30 227 mode_cmd.height = sizes->surface_height; 8be48d924c307e Dave Airlie 2010-03-30 228 8be48d924c307e Dave Airlie 2010-03-30 229 /* avivo can't scanout real 24bpp */ 8be48d924c307e Dave Airlie 2010-03-30 230 if ((sizes->surface_bpp == 24) && ASIC_IS_AVIVO(rdev)) 8be48d924c307e Dave Airlie 2010-03-30 231 sizes->surface_bpp = 32; 771fe6b912fca5 Jerome Glisse 2009-06-05 232 308e5bcbdb1045 Jesse Barnes 2011-11-14 233 mode_cmd.pixel_format = drm_mode_legacy_fb_format(sizes->surface_bpp, 308e5bcbdb1045 Jesse Barnes 2011-11-14 234 sizes->surface_depth); 771fe6b912fca5 Jerome Glisse 2009-06-05 235 8be48d924c307e Dave Airlie 2010-03-30 236 ret = radeonfb_create_pinned_object(rfbdev, &mode_cmd, &gobj); aaefcd4284a539 Dave Airlie 2012-03-06 237 if (ret) { aaefcd4284a539 Dave Airlie 2012-03-06 238 DRM_ERROR("failed to create fbcon object %d\n", ret); aaefcd4284a539 Dave Airlie 2012-03-06 239 return ret; aaefcd4284a539 Dave Airlie 2012-03-06 240 } aaefcd4284a539 Dave Airlie 2012-03-06 241 7e4d15d90afe46 Daniel Vetter 2011-02-18 242 rbo = gem_to_radeon_bo(gobj); 8be48d924c307e Dave Airlie 2010-03-30 243 8be48d924c307e Dave Airlie 2010-03-30 244 /* okay we have an object now allocate the framebuffer */ 00450052436f87 Archit Taneja 2015-07-31 245 info = drm_fb_helper_alloc_fbi(helper); 00450052436f87 Archit Taneja 2015-07-31 246 if (IS_ERR(info)) { 00450052436f87 Archit Taneja 2015-07-31 247 ret = PTR_ERR(info); da7bdda2afdf1a Daniel Vetter 2017-02-07 248 goto out; 771fe6b912fca5 Jerome Glisse 2009-06-05 249 } 785b93ef8c3097 Dave Airlie 2009-08-28 250 8782c647aec43e Daniel Vetter 2018-11-27 251 /* radeon resume is fragile and needs a vt switch to help it along */ 8782c647aec43e Daniel Vetter 2018-11-27 252 info->skip_vt_switch = false; 8782c647aec43e Daniel Vetter 2018-11-27 253 9a0f0c9d0c9de7 Daniel Stone 2018-03-30 254 ret = radeon_framebuffer_init(rdev->ddev, &rfbdev->fb, &mode_cmd, gobj); aaefcd4284a539 Dave Airlie 2012-03-06 255 if (ret) { 8b513d0cf603c0 Masanari Iida 2013-05-21 256 DRM_ERROR("failed to initialize framebuffer %d\n", ret); da7bdda2afdf1a Daniel Vetter 2017-02-07 257 goto out; aaefcd4284a539 Dave Airlie 2012-03-06 258 } 8be48d924c307e Dave Airlie 2010-03-30 259 9a0f0c9d0c9de7 Daniel Stone 2018-03-30 260 fb = &rfbdev->fb; 386516744ba45d Dave Airlie 2010-03-30 261 386516744ba45d Dave Airlie 2010-03-30 262 /* setup helper */ 386516744ba45d Dave Airlie 2010-03-30 263 rfbdev->helper.fb = fb; 771fe6b912fca5 Jerome Glisse 2009-06-05 264 8be48d924c307e Dave Airlie 2010-03-30 @265 memset_io(rbo->kptr, 0x0, radeon_bo_size(rbo)); bf8e828b00a5b6 Dave Airlie 2009-08-17 266 771fe6b912fca5 Jerome Glisse 2009-06-05 267 info->fbops = &radeonfb_ops; 785b93ef8c3097 Dave Airlie 2009-08-28 268 8be48d924c307e Dave Airlie 2010-03-30 269 tmp = radeon_bo_gpu_offset(rbo) - rdev->mc.vram_start; f92e93eb5f4d56 Jerome Glisse 2009-06-22 270 info->fix.smem_start = rdev->mc.aper_base + tmp; 8be48d924c307e Dave Airlie 2010-03-30 271 info->fix.smem_len = radeon_bo_size(rbo); 8be48d924c307e Dave Airlie 2010-03-30 272 info->screen_base = rbo->kptr; 8be48d924c307e Dave Airlie 2010-03-30 273 info->screen_size = radeon_bo_size(rbo); 785b93ef8c3097 Dave Airlie 2009-08-28 274 19d8a4e3d91fda Daniel Vetter 2019-03-26 275 drm_fb_helper_fill_info(info, &rfbdev->helper, sizes); ed8f0d9e708a1a Dave Airlie 2009-07-29 276 ed8f0d9e708a1a Dave Airlie 2009-07-29 277 /* setup aperture base/size for vesafb takeover */ 1471ca9aa71cd3 Marcin Slusarz 2010-05-16 278 info->apertures->ranges[0].base = rdev->ddev->mode_config.fb_base; 68d3059665c4a5 Dave Airlie 2010-12-20 279 info->apertures->ranges[0].size = rdev->mc.aper_size; ed8f0d9e708a1a Dave Airlie 2009-07-29 280 fb2a99e15ff0d3 Sascha Hauer 2012-02-06 281 /* Use default scratch pixmap (info->pixmap.flags = FB_PIXMAP_SYSTEM) */ 4abe35204af82a Dave Airlie 2010-03-30 282 771fe6b912fca5 Jerome Glisse 2009-06-05 283 if (info->screen_base == NULL) { 771fe6b912fca5 Jerome Glisse 2009-06-05 284 ret = -ENOSPC; da7bdda2afdf1a Daniel Vetter 2017-02-07 285 goto out; 4abe35204af82a Dave Airlie 2010-03-30 286 } 4abe35204af82a Dave Airlie 2010-03-30 287 771fe6b912fca5 Jerome Glisse 2009-06-05 288 DRM_INFO("fb mappable at 0x%lX\n", info->fix.smem_start); 771fe6b912fca5 Jerome Glisse 2009-06-05 289 DRM_INFO("vram apper at 0x%lX\n", (unsigned long)rdev->mc.aper_base); 8be48d924c307e Dave Airlie 2010-03-30 290 DRM_INFO("size %lu\n", (unsigned long)radeon_bo_size(rbo)); b00c600e91531d Ville Syrjälä 2016-12-14 291 DRM_INFO("fb depth is %d\n", fb->format->depth); 01f2c7730e1880 Ville Syrjälä 2011-12-20 292 DRM_INFO(" pitch is %d\n", fb->pitches[0]); 771fe6b912fca5 Jerome Glisse 2009-06-05 293 d86a41267b32e9 Thomas Zimmermann 2020-12-01 294 vga_switcheroo_client_fb_set(rdev->pdev, info); 771fe6b912fca5 Jerome Glisse 2009-06-05 295 return 0; 771fe6b912fca5 Jerome Glisse 2009-06-05 296 da7bdda2afdf1a Daniel Vetter 2017-02-07 297 out: f92e93eb5f4d56 Jerome Glisse 2009-06-22 298 if (fb && ret) { f11fb66ae92193 Emil Velikov 2020-05-15 299 drm_gem_object_put(gobj); 362063619cf67c Daniel Vetter 2012-12-10 300 drm_framebuffer_unregister_private(fb); 771fe6b912fca5 Jerome Glisse 2009-06-05 301 drm_framebuffer_cleanup(fb); 771fe6b912fca5 Jerome Glisse 2009-06-05 302 kfree(fb); 771fe6b912fca5 Jerome Glisse 2009-06-05 303 } 771fe6b912fca5 Jerome Glisse 2009-06-05 304 return ret; 771fe6b912fca5 Jerome Glisse 2009-06-05 305 } 771fe6b912fca5 Jerome Glisse 2009-06-05 306
:::::: The code at line 265 was first introduced by commit :::::: 8be48d924c307e72e3797ab5bde81b07a1ccc52d drm/kms/fb: move to using fb helper crtc grouping instead of core crtc list
:::::: TO: Dave Airlie <airlied@redhat.com> :::::: CC: Dave Airlie <airlied@redhat.com>
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests
| ![\](/images/icornerr.gif) |