Hi Danilo, kernel test robot noticed the following build warnings: [auto build test WARNING on a4ead6e37e3290cff399e2598d75e98777b69b37] url: https://github.com/intel-lab-lkp/linux/commits/Danilo-Krummrich/drm-gpuvm-add-common-dma-resv-per-struct-drm_gpuvm/20230929-031831 base: a4ead6e37e3290cff399e2598d75e98777b69b37 patch link: https://lore.kernel.org/r/20230928191624.13703-5-dakr%40redhat.com patch subject: [PATCH drm-misc-next v5 4/6] drm/gpuvm: track/lock/validate external/evicted objects reproduce: (https://download.01.org/0day-ci/archive/20231002/202310022331.lPOA8kRt-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202310022331.lPOA8kRt-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): >> ./include/drm/drm_gpuvm.h:563: warning: Function parameter or member 'vm_exec' not described in 'drm_gpuvm_exec_unlock' >> ./include/drm/drm_gpuvm.h:563: warning: expecting prototype for drm_gpuvm_lock(). Prototype was for drm_gpuvm_exec_unlock() instead >> ./include/drm/drm_gpuvm.h:601: warning: expecting prototype for drm_gpuvm_exec_resv_add_fence(). Prototype was for drm_gpuvm_exec_validate() instead vim +563 ./include/drm/drm_gpuvm.h 527 528 int drm_gpuvm_prepare_objects(struct drm_gpuvm *gpuvm, 529 struct drm_exec *exec, 530 unsigned int num_fences); 531 532 int drm_gpuvm_prepare_range(struct drm_gpuvm *gpuvm, 533 struct drm_exec *exec, 534 u64 addr, u64 range, 535 unsigned int num_fences); 536 537 int drm_gpuvm_exec_lock(struct drm_gpuvm_exec *vm_exec, 538 unsigned int num_fences, 539 bool interruptible); 540 541 int drm_gpuvm_exec_lock_array(struct drm_gpuvm_exec *vm_exec, 542 struct drm_gem_object **objs, 543 unsigned int num_objs, 544 unsigned int num_fences, 545 bool interruptible); 546 547 int drm_gpuvm_exec_lock_range(struct drm_gpuvm_exec *vm_exec, 548 u64 addr, u64 range, 549 unsigned int num_fences, 550 bool interruptible); 551 552 /** 553 * drm_gpuvm_lock() - lock all dma-resv of all assoiciated BOs 554 * @gpuvm: the &drm_gpuvm 555 * 556 * Releases all dma-resv locks of all &drm_gem_objects previously acquired 557 * through drm_gpuvm_lock() or its variants. 558 * 559 * Returns: 0 on success, negative error code on failure. 560 */ 561 static inline void 562 drm_gpuvm_exec_unlock(struct drm_gpuvm_exec *vm_exec) > 563 { 564 drm_exec_fini(&vm_exec->exec); 565 } 566 567 int drm_gpuvm_validate(struct drm_gpuvm *gpuvm, struct drm_exec *exec); 568 void drm_gpuvm_resv_add_fence(struct drm_gpuvm *gpuvm, 569 struct drm_exec *exec, 570 struct dma_fence *fence, 571 enum dma_resv_usage private_usage, 572 enum dma_resv_usage extobj_usage); 573 574 /** 575 * drm_gpuvm_exec_resv_add_fence() 576 * @vm_exec: the &drm_gpuvm_exec abstraction 577 * @fence: fence to add 578 * @private_usage: private dma-resv usage 579 * @extobj_usage: extobj dma-resv usage 580 * 581 * See drm_gpuvm_resv_add_fence(). 582 */ 583 static inline void 584 drm_gpuvm_exec_resv_add_fence(struct drm_gpuvm_exec *vm_exec, 585 struct dma_fence *fence, 586 enum dma_resv_usage private_usage, 587 enum dma_resv_usage extobj_usage) 588 { 589 drm_gpuvm_resv_add_fence(vm_exec->vm, &vm_exec->exec, fence, 590 private_usage, extobj_usage); 591 } 592 593 /** 594 * drm_gpuvm_exec_resv_add_fence() 595 * @vm_exec: the &drm_gpuvm_exec abstraction 596 * 597 * See drm_gpuvm_validate(). 598 */ 599 static inline int 600 drm_gpuvm_exec_validate(struct drm_gpuvm_exec *vm_exec) > 601 { 602 return drm_gpuvm_validate(vm_exec->vm, &vm_exec->exec); 603 } 604 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki