lkml.org 
[lkml]   [2023]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH drm-misc-next 2/3] drm/gpuva_mgr: generalize dma_resv/extobj handling and GEM validation
    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: arm-randconfig-r014-20230822 (https://download.01.org/0day-ci/archive/20230822/202308221050.kTj8uFMA-lkp@intel.com/config)
    compiler: arm-linux-gnueabi-gcc (GCC) 12.3.0
    reproduce: (https://download.01.org/0day-ci/archive/20230822/202308221050.kTj8uFMA-lkp@intel.com/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@intel.com>
    | Closes: https://lore.kernel.org/oe-kbuild-all/202308221050.kTj8uFMA-lkp@intel.com/

    All warnings (new ones prefixed by >>):

    >> drivers/gpu/drm/drm_gpuva_mgr.c:750:1: warning: no previous prototype for 'drm_gpuva_manager_prepare_objects' [-Wmissing-prototypes]
    750 | drm_gpuva_manager_prepare_objects(struct drm_gpuva_manager *mgr,
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    drivers/gpu/drm/drm_gpuva_mgr.c: In function '__drm_gpuva_sm_map':
    drivers/gpu/drm/drm_gpuva_mgr.c:1744:39: warning: variable 'prev' set but not used [-Wunused-but-set-variable]
    1744 | struct drm_gpuva *va, *next, *prev = NULL;
    | ^~~~
    --
    >> 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

    \
     
     \ /
      Last update: 2023-08-22 05:02    [W:8.677 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site