Re: [PATCH drm-next v2 05/16] drm: manager to keep track of GPUs VA mappings

From: kernel test robot
Date: Fri Feb 17 2023 - 20:06:53 EST


Hi Danilo,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on 48075a66fca613477ac1969b576a93ef5db0164f]

url: https://github.com/intel-lab-lkp/linux/commits/Danilo-Krummrich/drm-execution-context-for-GEM-buffers/20230217-215101
base: 48075a66fca613477ac1969b576a93ef5db0164f
patch link: https://lore.kernel.org/r/20230217134422.14116-6-dakr%40redhat.com
patch subject: [PATCH drm-next v2 05/16] drm: manager to keep track of GPUs VA mappings
config: mips-allyesconfig (https://download.01.org/0day-ci/archive/20230218/202302180805.b0ab40V5-lkp@xxxxxxxxx/config)
compiler: mips-linux-gcc (GCC) 12.1.0
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
# https://github.com/intel-lab-lkp/linux/commit/00132cc92b6745cfd51c0d5df4c246a848f2ceaa
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Danilo-Krummrich/drm-execution-context-for-GEM-buffers/20230217-215101
git checkout 00132cc92b6745cfd51c0d5df4c246a848f2ceaa
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=mips olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/gpu/drm/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202302180805.b0ab40V5-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/drm_gpuva_mgr.c:1383:5: warning: no previous prototype for 'drm_gpuva_sm_step' [-Wmissing-prototypes]
1383 | int drm_gpuva_sm_step(struct drm_gpuva_op *__op, void *priv)
| ^~~~~~~~~~~~~~~~~
--
>> drivers/gpu/drm/drm_gpuva_mgr.c:529: warning: expecting prototype for drm_gpuva_remove_iter(). Prototype was for drm_gpuva_iter_remove() instead
drivers/gpu/drm/drm_gpuva_mgr.c:549: warning: Excess function parameter 'addr' description in 'drm_gpuva_insert'
drivers/gpu/drm/drm_gpuva_mgr.c:549: warning: Excess function parameter 'range' description in 'drm_gpuva_insert'
drivers/gpu/drm/drm_gpuva_mgr.c:765: warning: Excess function parameter 'addr' description in 'drm_gpuva_region_insert'
drivers/gpu/drm/drm_gpuva_mgr.c:765: warning: Excess function parameter 'range' description in 'drm_gpuva_region_insert'
drivers/gpu/drm/drm_gpuva_mgr.c:1345: warning: Excess function parameter 'ops' description in 'drm_gpuva_sm_unmap'
drivers/gpu/drm/drm_gpuva_mgr.c:1589: warning: Function parameter or member 'addr' not described in 'drm_gpuva_prefetch_ops_create'
drivers/gpu/drm/drm_gpuva_mgr.c:1589: warning: Function parameter or member 'range' not described in 'drm_gpuva_prefetch_ops_create'
drivers/gpu/drm/drm_gpuva_mgr.c:1589: warning: Excess function parameter 'req_addr' description in 'drm_gpuva_prefetch_ops_create'
drivers/gpu/drm/drm_gpuva_mgr.c:1589: warning: Excess function parameter 'req_range' description in 'drm_gpuva_prefetch_ops_create'


vim +/drm_gpuva_sm_step +1383 drivers/gpu/drm/drm_gpuva_mgr.c

1382
> 1383 int drm_gpuva_sm_step(struct drm_gpuva_op *__op, void *priv)
1384 {
1385 struct {
1386 struct drm_gpuva_manager *mgr;
1387 struct drm_gpuva_ops *ops;
1388 } *args = priv;
1389 struct drm_gpuva_manager *mgr = args->mgr;
1390 struct drm_gpuva_ops *ops = args->ops;
1391 struct drm_gpuva_op *op;
1392
1393 op = gpuva_op_alloc(mgr);
1394 if (unlikely(!op))
1395 goto err;
1396
1397 memcpy(op, __op, sizeof(*op));
1398
1399 if (op->op == DRM_GPUVA_OP_REMAP) {
1400 struct drm_gpuva_op_remap *__r = &__op->remap;
1401 struct drm_gpuva_op_remap *r = &op->remap;
1402
1403 r->unmap = kmemdup(__r->unmap, sizeof(*r->unmap),
1404 GFP_KERNEL);
1405 if (unlikely(!r->unmap))
1406 goto err_free_op;
1407
1408 if (__r->prev) {
1409 r->prev = kmemdup(__r->prev, sizeof(*r->prev),
1410 GFP_KERNEL);
1411 if (unlikely(!r->prev))
1412 goto err_free_unmap;
1413 }
1414
1415 if (__r->next) {
1416 r->next = kmemdup(__r->next, sizeof(*r->next),
1417 GFP_KERNEL);
1418 if (unlikely(!r->next))
1419 goto err_free_prev;
1420 }
1421 }
1422
1423 list_add_tail(&op->entry, &ops->list);
1424
1425 return 0;
1426
1427 err_free_unmap:
1428 kfree(op->remap.unmap);
1429 err_free_prev:
1430 kfree(op->remap.prev);
1431 err_free_op:
1432 gpuva_op_free(mgr, op);
1433 err:
1434 return -ENOMEM;
1435 }
1436

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests