[PATCH 2/2] drm: add drm_exec selftests v4

kernel test robot lkp at intel.com
Wed Jun 21 16:48:05 UTC 2023


Hi Christian,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.4-rc7 next-20230621]
[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-v4/20230621-213827
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20230621133700.7588-2-christian.koenig%40amd.com
patch subject: [PATCH 2/2] drm: add drm_exec selftests v4
config: x86_64-buildonly-randconfig-r003-20230621 (https://download.01.org/0day-ci/archive/20230622/202306220029.L9DTnHh6-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230622/202306220029.L9DTnHh6-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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306220029.L9DTnHh6-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from drivers/gpu/drm/tests/drm_exec_test.c:13:
   drivers/gpu/drm/tests/drm_exec_test.c: In function 'test_prepare_array':
>> include/drm/drm_exec.h:78:20: warning: variable '__drm_exec_retry_ptr' set but not used [-Wunused-but-set-variable]
      78 |         for (void *__drm_exec_retry_ptr; ({                     \
         |                    ^~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/tests/drm_exec_test.c:134:9: note: in expansion of macro 'drm_exec_until_all_locked'
     134 |         drm_exec_until_all_locked(&exec)
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~


vim +/__drm_exec_retry_ptr +78 include/drm/drm_exec.h

5d87375e05b5f7 Christian König 2023-06-21  52  
5d87375e05b5f7 Christian König 2023-06-21  53  /**
5d87375e05b5f7 Christian König 2023-06-21  54   * drm_exec_for_each_locked_object - iterate over all the locked objects
5d87375e05b5f7 Christian König 2023-06-21  55   * @exec: drm_exec object
5d87375e05b5f7 Christian König 2023-06-21  56   * @index: unsigned long index for the iteration
5d87375e05b5f7 Christian König 2023-06-21  57   * @obj: the current GEM object
5d87375e05b5f7 Christian König 2023-06-21  58   *
5d87375e05b5f7 Christian König 2023-06-21  59   * Iterate over all the locked GEM objects inside the drm_exec object.
5d87375e05b5f7 Christian König 2023-06-21  60   */
5d87375e05b5f7 Christian König 2023-06-21  61  #define drm_exec_for_each_locked_object(exec, index, obj)	\
5d87375e05b5f7 Christian König 2023-06-21  62  	for (index = 0, obj = (exec)->objects[0];		\
5d87375e05b5f7 Christian König 2023-06-21  63  	     index < (exec)->num_objects;			\
5d87375e05b5f7 Christian König 2023-06-21  64  	     ++index, obj = (exec)->objects[index])
5d87375e05b5f7 Christian König 2023-06-21  65  
5d87375e05b5f7 Christian König 2023-06-21  66  /**
5d87375e05b5f7 Christian König 2023-06-21  67   * drm_exec_until_all_locked - loop until all GEM objects are locked
5d87375e05b5f7 Christian König 2023-06-21  68   * @exec: drm_exec object
5d87375e05b5f7 Christian König 2023-06-21  69   *
5d87375e05b5f7 Christian König 2023-06-21  70   * Core functionality of the drm_exec object. Loops until all GEM objects are
5d87375e05b5f7 Christian König 2023-06-21  71   * locked and no more contention exists. At the beginning of the loop it is
5d87375e05b5f7 Christian König 2023-06-21  72   * guaranteed that no GEM object is locked.
5d87375e05b5f7 Christian König 2023-06-21  73   *
5d87375e05b5f7 Christian König 2023-06-21  74   * Since labels can't be defined local to the loops body we use a jump pointer
5d87375e05b5f7 Christian König 2023-06-21  75   * to make sure that the retry is only used from within the loops body.
5d87375e05b5f7 Christian König 2023-06-21  76   */
5d87375e05b5f7 Christian König 2023-06-21  77  #define drm_exec_until_all_locked(exec)				\
5d87375e05b5f7 Christian König 2023-06-21 @78  	for (void *__drm_exec_retry_ptr; ({			\
5d87375e05b5f7 Christian König 2023-06-21  79  		__label__ __drm_exec_retry;			\
5d87375e05b5f7 Christian König 2023-06-21  80  __drm_exec_retry:						\
5d87375e05b5f7 Christian König 2023-06-21  81  		__drm_exec_retry_ptr = &&__drm_exec_retry;	\
5d87375e05b5f7 Christian König 2023-06-21  82  		drm_exec_cleanup(exec);				\
5d87375e05b5f7 Christian König 2023-06-21  83  	});)
5d87375e05b5f7 Christian König 2023-06-21  84  

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


More information about the dri-devel mailing list