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-lkp@xxxxxxxxx/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 <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202303010013.SZZNcsCW-lkp@xxxxxxxxx/ 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