Hi Christian,

I love your patch! Yet something to improve:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm/drm-next drm-intel/for-linux-next linus/master 
next-20230228]
[cannot apply to drm-intel/for-linux-next-fixes v6.2]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Christian-K-nig/drm-add-drm_exec-selftests/20230228-173404
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    
https://lore.kernel.org/r/20230228083406.1720795-9-christian.koenig%40amd.com
patch subject: [PATCH 8/9] drm/qxl: switch to using drm_exec
config: x86_64-randconfig-a016-20230227 
(https://download.01.org/0day-ci/archive/20230301/202303010013.szzncscw-...@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
        # 
https://github.com/intel-lab-lkp/linux/commit/435d2421797eb683d27984c9a823b48704069df9
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review 
Christian-K-nig/drm-add-drm_exec-selftests/20230228-173404
        git checkout 435d2421797eb683d27984c9a823b48704069df9
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=x86_64 olddefconfig
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <l...@intel.com>
| Link: 
https://lore.kernel.org/oe-kbuild-all/202303010013.szzncscw-...@intel.com/

All errors (new ones prefixed by >>):

   ld: vmlinux.o: in function `qxl_release_reserve_list':
>> drivers/gpu/drm/qxl/qxl_release.c:221: undefined reference to `drm_exec_init'
>> ld: drivers/gpu/drm/qxl/qxl_release.c:222: undefined reference to 
>> `drm_exec_cleanup'
>> ld: drivers/gpu/drm/qxl/qxl_release.c:224: undefined reference to 
>> `drm_exec_prepare_obj'
>> ld: drivers/gpu/drm/qxl/qxl_release.c:240: undefined reference to 
>> `drm_exec_fini'
   ld: vmlinux.o: in function `qxl_release_backoff_reserve_list':
>> drivers/gpu/drm/qxl/qxl_release.c:251: undefined reference to `drm_exec_fini'
   ld: vmlinux.o: in function `qxl_release_fence_buffer_objects':
   drivers/gpu/drm/qxl/qxl_release.c:439: undefined reference to `drm_exec_fini'


vim +221 drivers/gpu/drm/qxl/qxl_release.c

   210  
   211  int qxl_release_reserve_list(struct qxl_release *release, bool no_intr)
   212  {
   213          int ret;
   214          struct qxl_bo_list *entry;
   215  
   216          /* if only one object on the release its the release itself
   217             since these objects are pinned no need to reserve */
   218          if (list_is_singular(&release->bos))
   219                  return 0;
   220  
 > 221          drm_exec_init(&release->exec, !no_intr);
 > 222          drm_exec_while_not_all_locked(&release->exec) {
   223                  list_for_each_entry(entry, &release->bos, list) {
 > 224                          ret = drm_exec_prepare_obj(&release->exec,
   225                                                     &entry->bo->tbo.base,
   226                                                     1);
   227                          drm_exec_break_on_contention(&release->exec);
   228                          if (ret)
   229                                  goto error;
   230                  }
   231          }
   232  
   233          list_for_each_entry(entry, &release->bos, list) {
   234                  ret = qxl_release_validate_bo(entry->bo);
   235                  if (ret)
   236                          goto error;
   237          }
   238          return 0;
   239  error:
 > 240          drm_exec_fini(&release->exec);
   241          return ret;
   242  }
   243  
   244  void qxl_release_backoff_reserve_list(struct qxl_release *release)
   245  {
   246          /* if only one object on the release its the release itself
   247             since these objects are pinned no need to reserve */
   248          if (list_is_singular(&release->bos))
   249                  return;
   250  
 > 251          drm_exec_fini(&release->exec);
   252  }
   253  

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

Reply via email to