Hi Danilo, kernel test robot noticed the following build warnings: [auto build test WARNING on 25205087df1ffe06ccea9302944ed1f77dc68c6f] url: https://github.com/intel-lab-lkp/linux/commits/Danilo-Krummrich/drm-drm_exec-build-always-builtin/20230821-123143 base: 25205087df1ffe06ccea9302944ed1f77dc68c6f patch link: https://lore.kernel.org/r/20230820215320.4187-3-dakr%40redhat.com patch subject: [PATCH drm-misc-next 2/3] drm/gpuva_mgr: generalize dma_resv/extobj handling and GEM validation config: i386-randconfig-r024-20230822 (https://download.01.org/0day-ci/archive/20230822/202308220935.ik8QPkf4-lkp@xxxxxxxxx/config) compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) reproduce: (https://download.01.org/0day-ci/archive/20230822/202308220935.ik8QPkf4-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/202308220935.ik8QPkf4-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): >> drivers/gpu/drm/drm_gpuva_mgr.c:750:1: warning: no previous prototype for function 'drm_gpuva_manager_prepare_objects' [-Wmissing-prototypes] drm_gpuva_manager_prepare_objects(struct drm_gpuva_manager *mgr, ^ drivers/gpu/drm/drm_gpuva_mgr.c:749:1: note: declare 'static' if the function is not intended to be used outside of this translation unit int ^ static drivers/gpu/drm/drm_gpuva_mgr.c:1744:32: warning: variable 'prev' set but not used [-Wunused-but-set-variable] struct drm_gpuva *va, *next, *prev = NULL; ^ 2 warnings generated. -- >> drivers/gpu/drm/drm_gpuva_mgr.c:1091: warning: Function parameter or member '__vm_bo' not described in 'drm_gpuva_gem_obtain_prealloc' vim +/drm_gpuva_manager_prepare_objects +750 drivers/gpu/drm/drm_gpuva_mgr.c 734 735 /** 736 * drm_gpuva_manager_prepare_objects() - prepare all assoiciated BOs 737 * @mgr: the &drm_gpuva_manager 738 * @num_fences: the amount of &dma_fences to reserve 739 * 740 * Calls drm_exec_prepare_obj() for all &drm_gem_objects the given 741 * &drm_gpuva_manager contains mappings of. 742 * 743 * Drivers can obtain the corresponding &drm_exec instance through 744 * DRM_GPUVA_EXEC(). It is the drivers responsibility to call drm_exec_init() 745 * and drm_exec_fini() accordingly. 746 * 747 * Returns: 0 on success, negative error code on failure. 748 */ 749 int > 750 drm_gpuva_manager_prepare_objects(struct drm_gpuva_manager *mgr, 751 unsigned int num_fences) 752 { 753 struct drm_exec *exec = DRM_GPUVA_EXEC(mgr); 754 MA_STATE(mas, &mgr->mt_ext, 0, 0); 755 union { 756 void *ptr; 757 uintptr_t cnt; 758 } ref; 759 int ret; 760 761 ret = drm_exec_prepare_obj(exec, &mgr->d_obj, num_fences); 762 if (ret) 763 goto out; 764 765 rcu_read_lock(); 766 mas_for_each(&mas, ref.ptr, ULONG_MAX) { 767 struct drm_gem_object *obj; 768 769 mas_pause(&mas); 770 rcu_read_unlock(); 771 772 obj = (struct drm_gem_object *)(uintptr_t)mas.index; 773 ret = drm_exec_prepare_obj(exec, obj, num_fences); 774 if (ret) 775 goto out; 776 777 rcu_read_lock(); 778 } 779 rcu_read_unlock(); 780 781 out: 782 return ret; 783 } 784 EXPORT_SYMBOL_GPL(drm_gpuva_manager_prepare_objects); 785 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki