tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: b4bb878f3eb3e604ebfe83bbc17eb7af8d99cbf4 commit: 5498506d0e0efe4adeff0b2b742bd546fcacab88 [4324/4407] Merge remote-tracking branch 'drm-misc/for-linux-next' config: x86_64-randconfig-a004-20210118 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 22b68440e1647e16b5ee24b924986207173c02d1) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install x86_64 cross compiling tool for clang build # apt-get install binutils-x86-64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=5498506d0e0efe4adeff0b2b742bd546fcacab88 git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 5498506d0e0efe4adeff0b2b742bd546fcacab88 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): >> drivers/gpu/drm/vmwgfx/vmwgfx_cmd.c:280: warning: wrong kernel-doc identifier on line: * Reserve @bytes number of bytes in the fifo. >> drivers/gpu/drm/vmwgfx/vmwgfx_cmd.c:504: warning: expecting prototype for vmw_fifo_commit_flush(). Prototype was for vmw_cmd_commit_flush() instead >> drivers/gpu/drm/vmwgfx/vmwgfx_cmd.c:519: warning: expecting prototype for vmw_fifo_flush(). Prototype was for vmw_cmd_flush() instead >> drivers/gpu/drm/vmwgfx/vmwgfx_cmd.c:678: warning: expecting prototype for vmw_fifo_emit_dummy_gb_query(). Prototype was for vmw_cmd_emit_dummy_query() instead vim +280 drivers/gpu/drm/vmwgfx/vmwgfx_cmd.c fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 278 de12d44fcad409e1 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2011-10-04 279 /** de12d44fcad409e1 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2011-10-04 @280 * Reserve @bytes number of bytes in the fifo. de12d44fcad409e1 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2011-10-04 281 * de12d44fcad409e1 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2011-10-04 282 * This function will return NULL (error) on two conditions: de12d44fcad409e1 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2011-10-04 283 * If it timeouts waiting for fifo space, or if @bytes is larger than the de12d44fcad409e1 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2011-10-04 284 * available fifo space. de12d44fcad409e1 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2011-10-04 285 * de12d44fcad409e1 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2011-10-04 286 * Returns: de12d44fcad409e1 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2011-10-04 287 * Pointer to the fifo, or null on error (possible hardware hang). de12d44fcad409e1 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2011-10-04 288 */ 3eab3d9eef650419 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Thomas Hellstrom 2015-06-25 289 static void *vmw_local_fifo_reserve(struct vmw_private *dev_priv, 3eab3d9eef650419 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Thomas Hellstrom 2015-06-25 290 uint32_t bytes) fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 291 { fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 292 struct vmw_fifo_state *fifo_state = &dev_priv->fifo; be4f77ac68843fc3 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Zack Rusin 2020-11-04 293 u32 *fifo_mem = dev_priv->fifo_mem; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 294 uint32_t max; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 295 uint32_t min; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 296 uint32_t next_cmd; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 297 uint32_t reserveable = fifo_state->capabilities & SVGA_FIFO_CAP_RESERVE; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 298 int ret; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 299 85b9e4878f3b1699 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Thomas Hellstrom 2010-02-08 300 mutex_lock(&fifo_state->fifo_mutex); be4f77ac68843fc3 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Zack Rusin 2020-11-04 301 max = vmw_fifo_mem_read(dev_priv, SVGA_FIFO_MAX); be4f77ac68843fc3 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Zack Rusin 2020-11-04 302 min = vmw_fifo_mem_read(dev_priv, SVGA_FIFO_MIN); be4f77ac68843fc3 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Zack Rusin 2020-11-04 303 next_cmd = vmw_fifo_mem_read(dev_priv, SVGA_FIFO_NEXT_CMD); fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 304 fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 305 if (unlikely(bytes >= (max - min))) fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 306 goto out_err; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 307 fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 308 BUG_ON(fifo_state->reserved_size != 0); fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 309 BUG_ON(fifo_state->dynamic_buffer != NULL); fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 310 fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 311 fifo_state->reserved_size = bytes; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 312 fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 313 while (1) { be4f77ac68843fc3 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Zack Rusin 2020-11-04 314 uint32_t stop = vmw_fifo_mem_read(dev_priv, SVGA_FIFO_STOP); fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 315 bool need_bounce = false; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 316 bool reserve_in_place = false; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 317 fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 318 if (next_cmd >= stop) { fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 319 if (likely((next_cmd + bytes < max || fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 320 (next_cmd + bytes == max && stop > min)))) fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 321 reserve_in_place = true; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 322 fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 323 else if (vmw_fifo_is_full(dev_priv, bytes)) { fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 324 ret = vmw_fifo_wait(dev_priv, bytes, fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 325 false, 3 * HZ); fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 326 if (unlikely(ret != 0)) fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 327 goto out_err; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 328 } else fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 329 need_bounce = true; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 330 fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 331 } else { fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 332 fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 333 if (likely((next_cmd + bytes < stop))) fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 334 reserve_in_place = true; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 335 else { fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 336 ret = vmw_fifo_wait(dev_priv, bytes, fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 337 false, 3 * HZ); fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 338 if (unlikely(ret != 0)) fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 339 goto out_err; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 340 } fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 341 } fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 342 fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 343 if (reserve_in_place) { fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 344 if (reserveable || bytes <= sizeof(uint32_t)) { fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 345 fifo_state->using_bounce_buffer = false; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 346 fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 347 if (reserveable) be4f77ac68843fc3 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Zack Rusin 2020-11-04 348 vmw_fifo_mem_write(dev_priv, be4f77ac68843fc3 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Zack Rusin 2020-11-04 349 SVGA_FIFO_RESERVED, be4f77ac68843fc3 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Zack Rusin 2020-11-04 350 bytes); b9eb1a6174e58eb8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Thomas Hellstrom 2015-04-02 351 return (void __force *) (fifo_mem + b9eb1a6174e58eb8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Thomas Hellstrom 2015-04-02 352 (next_cmd >> 2)); fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 353 } else { fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 354 need_bounce = true; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 355 } fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 356 } fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 357 fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 358 if (need_bounce) { fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 359 fifo_state->using_bounce_buffer = true; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 360 if (bytes < fifo_state->static_buffer_size) fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 361 return fifo_state->static_buffer; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 362 else { fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 363 fifo_state->dynamic_buffer = vmalloc(bytes); f0c62e9878024300 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Dan Carpenter 2017-04-27 364 if (!fifo_state->dynamic_buffer) f0c62e9878024300 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Dan Carpenter 2017-04-27 365 goto out_err; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 366 return fifo_state->dynamic_buffer; fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 367 } fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 368 } fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 369 } fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 370 out_err: fb1d9738ca053ea8 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Jakob Bornecrantz 2009-12-10 371 fifo_state->reserved_size = 0; 85b9e4878f3b1699 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Thomas Hellstrom 2010-02-08 372 mutex_unlock(&fifo_state->fifo_mutex); 3eab3d9eef650419 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Thomas Hellstrom 2015-06-25 373 3eab3d9eef650419 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Thomas Hellstrom 2015-06-25 374 return NULL; 3eab3d9eef650419 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Thomas Hellstrom 2015-06-25 375 } 3eab3d9eef650419 drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c Thomas Hellstrom 2015-06-25 376 :::::: The code at line 280 was first introduced by commit :::::: de12d44fcad409e1b2956ef0ffd48818423fc701 vmwgfx: Document vmw_fifo_reserve :::::: TO: Jakob Bornecrantz <jakob@xxxxxxxxxx> :::::: CC: Dave Airlie <airlied@xxxxxxxxxx> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip