tree:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
head:   3bd86801c84f66b4abedde4078e5237937b7576b
commit: 71bf55872cbe035820a87b2aa5fc1dc60678abfa [2/18] drm/format-helper: 
Provide drm_fb_blit()
config: x86_64-randconfig-s022 
(https://download.01.org/0day-ci/archive/20220814/[email protected]/config)
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.4-39-gce1a6720-dirty
        git remote add drm-misc git://anongit.freedesktop.org/drm/drm-misc
        git fetch --no-tags drm-misc drm-misc-next
        git checkout 71bf55872cbe035820a87b2aa5fc1dc60678abfa
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir 
ARCH=x86_64 SHELL=/bin/bash drivers/gpu/drm/tiny/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

sparse warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/tiny/simpledrm.c:514:32: sparse: sparse: incorrect type in 
>> initializer (different address spaces) @@     expected void *vaddr @@     
>> got void [noderef] __iomem *screen_base @@
   drivers/gpu/drm/tiny/simpledrm.c:514:32: sparse:     expected void *vaddr
   drivers/gpu/drm/tiny/simpledrm.c:514:32: sparse:     got void [noderef] 
__iomem *screen_base

vim +514 drivers/gpu/drm/tiny/simpledrm.c

   504  
   505  static void simpledrm_primary_plane_helper_atomic_update(struct 
drm_plane *plane,
   506                                                           struct 
drm_atomic_state *old_state)
   507  {
   508          struct drm_plane_state *plane_state = plane->state;
   509          struct drm_plane_state *old_plane_state = 
drm_atomic_get_old_plane_state(old_state, plane);
   510          struct drm_shadow_plane_state *shadow_plane_state = 
to_drm_shadow_plane_state(plane_state);
   511          struct drm_framebuffer *fb = plane_state->fb;
   512          struct drm_device *dev = plane->dev;
   513          struct simpledrm_device *sdev = simpledrm_device_of_dev(dev);
 > 514          struct iosys_map dst = IOSYS_MAP_INIT_VADDR(sdev->screen_base);
   515          struct drm_rect src_clip, dst_clip;
   516          int idx;
   517  
   518          if (!fb)
   519                  return;
   520  
   521          if (!drm_atomic_helper_damage_merged(old_plane_state, 
plane_state, &src_clip))
   522                  return;
   523  
   524          dst_clip = plane_state->dst;
   525          if (!drm_rect_intersect(&dst_clip, &src_clip))
   526                  return;
   527  
   528          if (!drm_dev_enter(dev, &idx))
   529                  return;
   530  
   531          iosys_map_incr(&dst, drm_fb_clip_offset(sdev->pitch, 
sdev->format, &dst_clip));
   532          drm_fb_blit(&dst, &sdev->pitch, sdev->format->format, 
shadow_plane_state->data, fb,
   533                      &src_clip);
   534  
   535          drm_dev_exit(idx);
   536  }
   537  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

Reply via email to