:::::: 
:::::: Manual check reason: "low confidence static check warning: 
drivers/gpu/drm/drm_format_helper.c:150:38: warning: Parameter 'dst' can be 
declared with const [constParameter]"
:::::: 

BCC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Thomas Zimmermann <[email protected]>
CC: Sam Ravnborg <[email protected]>

tree:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
head:   8ba9249396bef37cb68be9e8dee7847f1737db9d
commit: edbe262acf92c986ad9a1f594ae3b4f3d3373133 [3/18] drm/format-helper: 
Merge drm_fb_memcpy() and drm_fb_memcpy_toio()
:::::: branch date: 18 hours ago
:::::: commit date: 7 days ago
compiler: xtensa-linux-gcc (GCC) 12.1.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout edbe262acf92c986ad9a1f594ae3b4f3d3373133
        cppcheck --quiet --enable=style,performance,portability --template=gcc 
FILE

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


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> drivers/gpu/drm/drm_gem_framebuffer_helper.c:71:28: warning: Parameter 'obj' 
>> can be declared with const [constParameter]
      struct drm_gem_object **obj, unsigned int num_planes,
                              ^
--
>> drivers/gpu/drm/drm_format_helper.c:150:38: warning: Parameter 'dst' can be 
>> declared with const [constParameter]
   void drm_fb_memcpy(struct iosys_map *dst, const unsigned int *dst_pitch,
                                        ^

vim +/dst +150 drivers/gpu/drm/drm_format_helper.c

cce6bedb38ed08f Thomas Zimmermann 2022-04-27  131  
7415287e1f36759 Gerd Hoffmann     2019-04-05  132  /**
7415287e1f36759 Gerd Hoffmann     2019-04-05  133   * drm_fb_memcpy - Copy clip 
buffer
edbe262acf92c98 Thomas Zimmermann 2022-08-08  134   * @dst: Array of 
destination buffers
edbe262acf92c98 Thomas Zimmermann 2022-08-08  135   * @dst_pitch: Array of 
numbers of bytes between the start of two consecutive scanlines
edbe262acf92c98 Thomas Zimmermann 2022-08-08  136   *             within @dst; 
can be NULL if scanlines are stored next to each other.
edbe262acf92c98 Thomas Zimmermann 2022-08-08  137   * @vmap: Array of source 
buffers
7415287e1f36759 Gerd Hoffmann     2019-04-05  138   * @fb: DRM framebuffer
7415287e1f36759 Gerd Hoffmann     2019-04-05  139   * @clip: Clip rectangle 
area to copy
26f024f54ab69a1 Gerd Hoffmann     2019-04-05  140   *
edbe262acf92c98 Thomas Zimmermann 2022-08-08  141   * This function copies 
parts of a framebuffer to display memory. Destination and
edbe262acf92c98 Thomas Zimmermann 2022-08-08  142   * framebuffer formats must 
match. No conversion takes place. The parameters @dst,
edbe262acf92c98 Thomas Zimmermann 2022-08-08  143   * @dst_pitch and @vmap 
refer to arrays. Each array must have at least as many entries
edbe262acf92c98 Thomas Zimmermann 2022-08-08  144   * as there are planes in 
@fb's format. Each entry stores the value for the format's
edbe262acf92c98 Thomas Zimmermann 2022-08-08  145   * respective color plane at 
the same index.
edbe262acf92c98 Thomas Zimmermann 2022-08-08  146   *
edbe262acf92c98 Thomas Zimmermann 2022-08-08  147   * This function does not 
apply clipping on @dst (i.e. the destination is at the
edbe262acf92c98 Thomas Zimmermann 2022-08-08  148   * top-left corner).
7415287e1f36759 Gerd Hoffmann     2019-04-05  149   */
edbe262acf92c98 Thomas Zimmermann 2022-08-08 @150  void drm_fb_memcpy(struct 
iosys_map *dst, const unsigned int *dst_pitch,
edbe262acf92c98 Thomas Zimmermann 2022-08-08  151                  const struct 
iosys_map *vmap, const struct drm_framebuffer *fb,
edbe262acf92c98 Thomas Zimmermann 2022-08-08  152                  const struct 
drm_rect *clip)
7415287e1f36759 Gerd Hoffmann     2019-04-05  153  {
edbe262acf92c98 Thomas Zimmermann 2022-08-08  154       static const unsigned 
int default_dst_pitch[DRM_FORMAT_MAX_PLANES] = {
edbe262acf92c98 Thomas Zimmermann 2022-08-08  155               0, 0, 0, 0
edbe262acf92c98 Thomas Zimmermann 2022-08-08  156       };
7415287e1f36759 Gerd Hoffmann     2019-04-05  157  
edbe262acf92c98 Thomas Zimmermann 2022-08-08  158       const struct 
drm_format_info *format = fb->format;
edbe262acf92c98 Thomas Zimmermann 2022-08-08  159       unsigned int i, y, 
lines = drm_rect_height(clip);
27bd66dd6419c45 Thomas Zimmermann 2021-11-10  160  
edbe262acf92c98 Thomas Zimmermann 2022-08-08  161       if (!dst_pitch)
edbe262acf92c98 Thomas Zimmermann 2022-08-08  162               dst_pitch = 
default_dst_pitch;
7415287e1f36759 Gerd Hoffmann     2019-04-05  163  
edbe262acf92c98 Thomas Zimmermann 2022-08-08  164       for (i = 0; i < 
format->num_planes; ++i) {
edbe262acf92c98 Thomas Zimmermann 2022-08-08  165               unsigned int 
bpp_i = drm_format_info_bpp(format, i);
edbe262acf92c98 Thomas Zimmermann 2022-08-08  166               unsigned int 
cpp_i = DIV_ROUND_UP(bpp_i, 8);
edbe262acf92c98 Thomas Zimmermann 2022-08-08  167               size_t len_i = 
DIV_ROUND_UP(drm_rect_width(clip) * bpp_i, 8);
edbe262acf92c98 Thomas Zimmermann 2022-08-08  168               unsigned int 
dst_pitch_i = dst_pitch[i];
edbe262acf92c98 Thomas Zimmermann 2022-08-08  169               struct 
iosys_map dst_i = dst[i];
edbe262acf92c98 Thomas Zimmermann 2022-08-08  170               struct 
iosys_map vmap_i = vmap[i];
26f024f54ab69a1 Gerd Hoffmann     2019-04-05  171  
edbe262acf92c98 Thomas Zimmermann 2022-08-08  172               if 
(!dst_pitch_i)
edbe262acf92c98 Thomas Zimmermann 2022-08-08  173                       
dst_pitch_i = len_i;
27bd66dd6419c45 Thomas Zimmermann 2021-11-10  174  
edbe262acf92c98 Thomas Zimmermann 2022-08-08  175               
iosys_map_incr(&vmap_i, clip_offset(clip, fb->pitches[i], cpp_i));
bf4f6d16c89466b Gerd Hoffmann     2019-04-10  176               for (y = 0; y < 
lines; y++) {
edbe262acf92c98 Thomas Zimmermann 2022-08-08  177                       /* 
TODO: handle vmap_i in I/O memory here */
edbe262acf92c98 Thomas Zimmermann 2022-08-08  178                       
iosys_map_memcpy_to(&dst_i, 0, vmap_i.vaddr, len_i);
edbe262acf92c98 Thomas Zimmermann 2022-08-08  179                       
iosys_map_incr(&vmap_i, fb->pitches[i]);
edbe262acf92c98 Thomas Zimmermann 2022-08-08  180                       
iosys_map_incr(&dst_i, dst_pitch_i);
bf4f6d16c89466b Gerd Hoffmann     2019-04-10  181               }
26f024f54ab69a1 Gerd Hoffmann     2019-04-05  182       }
edbe262acf92c98 Thomas Zimmermann 2022-08-08  183  }
edbe262acf92c98 Thomas Zimmermann 2022-08-08  184  EXPORT_SYMBOL(drm_fb_memcpy);
26f024f54ab69a1 Gerd Hoffmann     2019-04-05  185  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to