Message ID | c0ebcad250fc68e4822a921d7ea7a63ae16d381f.1669897668.git.mchehab@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add KUnit support for i915 mock selftests | expand |
Hi Mauro, I love your patch! Perhaps something to improve: [auto build test WARNING on drm-intel/for-linux-next] [also build test WARNING on drm-intel/for-linux-next-fixes drm-tip/drm-tip drm/drm-next drm-misc/drm-misc-next linus/master v6.1-rc7 next-20221202] [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/Mauro-Carvalho-Chehab/Add-KUnit-support-for-i915-mock-selftests/20221201-203541 base: git://anongit.freedesktop.org/drm-intel for-linux-next patch link: https://lore.kernel.org/r/c0ebcad250fc68e4822a921d7ea7a63ae16d381f.1669897668.git.mchehab%40kernel.org patch subject: [PATCH 1/3] drm/i915: place selftest preparation on a separate function config: i386-randconfig-a004 compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) 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/1a66d45e9cb9e62baf4eef1e30ddaed30269d3b9 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Mauro-Carvalho-Chehab/Add-KUnit-support-for-i915-mock-selftests/20221201-203541 git checkout 1a66d45e9cb9e62baf4eef1e30ddaed30269d3b9 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/gpu/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): In file included from drivers/gpu/drm/i915/i915_driver.c:52: In file included from drivers/gpu/drm/i915/display/intel_display_types.h:49: In file included from drivers/gpu/drm/i915/i915_vma.h:33: In file included from drivers/gpu/drm/i915/gt/intel_ggtt_fencing.h:12: In file included from drivers/gpu/drm/i915/i915_active.h:13: In file included from drivers/gpu/drm/i915/i915_request.h:34: In file included from drivers/gpu/drm/i915/gem/i915_gem_context_types.h:20: In file included from drivers/gpu/drm/i915/gt/intel_context_types.h:18: In file included from drivers/gpu/drm/i915/gt/intel_engine_types.h:23: >> drivers/gpu/drm/i915/i915_selftest.h:117:55: warning: omitting the parameter name in a function definition is a C2x extension [-Wc2x-extensions] static inline void i915_prepare_selftests(const char *) {}; ^ 1 warning generated. -- In file included from drivers/gpu/drm/i915/i915_sw_fence.c:13: >> drivers/gpu/drm/i915/i915_selftest.h:117:55: warning: omitting the parameter name in a function definition is a C2x extension [-Wc2x-extensions] static inline void i915_prepare_selftests(const char *) {}; ^ drivers/gpu/drm/i915/i915_sw_fence.c:97:20: warning: unused function 'debug_fence_init_onstack' [-Wunused-function] static inline void debug_fence_init_onstack(struct i915_sw_fence *fence) ^ drivers/gpu/drm/i915/i915_sw_fence.c:118:20: warning: unused function 'debug_fence_free' [-Wunused-function] static inline void debug_fence_free(struct i915_sw_fence *fence) ^ 3 warnings generated. vim +117 drivers/gpu/drm/i915/i915_selftest.h 116 > 117 static inline void i915_prepare_selftests(const char *) {}; 118 static inline int i915_mock_selftests(void) { return 0; } 119 static inline int i915_live_selftests(struct pci_dev *pdev) { return 0; } 120 static inline int i915_perf_selftests(struct pci_dev *pdev) { return 0; } 121
diff --git a/drivers/gpu/drm/i915/i915_selftest.h b/drivers/gpu/drm/i915/i915_selftest.h index bdf3e22c0a34..cd0065033ed9 100644 --- a/drivers/gpu/drm/i915/i915_selftest.h +++ b/drivers/gpu/drm/i915/i915_selftest.h @@ -44,6 +44,7 @@ struct i915_selftest { extern struct i915_selftest i915_selftest; +void i915_prepare_selftests(const char *name); int i915_mock_selftests(void); int i915_live_selftests(struct pci_dev *pdev); int i915_perf_selftests(struct pci_dev *pdev); @@ -113,6 +114,7 @@ int __i915_subtests(const char *caller, #else /* !IS_ENABLED(CONFIG_DRM_I915_SELFTEST) */ +static inline void i915_prepare_selftests(const char *) {}; static inline int i915_mock_selftests(void) { return 0; } static inline int i915_live_selftests(struct pci_dev *pdev) { return 0; } static inline int i915_perf_selftests(struct pci_dev *pdev) { return 0; } diff --git a/drivers/gpu/drm/i915/selftests/i915_selftest.c b/drivers/gpu/drm/i915/selftests/i915_selftest.c index 39da0fb0d6d2..bc85dac4eb15 100644 --- a/drivers/gpu/drm/i915/selftests/i915_selftest.c +++ b/drivers/gpu/drm/i915/selftests/i915_selftest.c @@ -127,13 +127,8 @@ static void set_default_test_all(struct selftest *st, unsigned int count) st[i].enabled = true; } -static int __run_selftests(const char *name, - struct selftest *st, - unsigned int count, - void *data) +void i915_prepare_selftests(const char *name) { - int err = 0; - while (!i915_selftest.random_seed) i915_selftest.random_seed = get_random_u32(); @@ -142,10 +137,21 @@ static int __run_selftests(const char *name, msecs_to_jiffies_timeout(i915_selftest.timeout_ms) : MAX_SCHEDULE_TIMEOUT; - set_default_test_all(st, count); - pr_info(DRIVER_NAME ": Performing %s selftests with st_random_seed=0x%x st_timeout=%u\n", name, i915_selftest.random_seed, i915_selftest.timeout_ms); +} +EXPORT_SYMBOL_NS_GPL(i915_prepare_selftests, I915_SELFTEST); + +static int __run_selftests(const char *name, + struct selftest *st, + unsigned int count, + void *data) +{ + int err = 0; + + i915_prepare_selftests(name); + + set_default_test_all(st, count); /* Tests are listed in order in i915_*_selftests.h */ for (; count--; st++) {
The selftest preparation logic should also be used by KUnit. So, place it on a separate function and export it. Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> --- To avoid mailbombing on a large number of people, only mailing lists were C/C on the cover. See [PATCH 0/3] at: https://lore.kernel.org/all/cover.1669897668.git.mchehab@kernel.org/ drivers/gpu/drm/i915/i915_selftest.h | 2 ++ .../gpu/drm/i915/selftests/i915_selftest.c | 22 ++++++++++++------- 2 files changed, 16 insertions(+), 8 deletions(-)