[Intel-gfx] [PATCH 4/5] drm/i915: After reset on sanitization, reset the engine backends

kbuild test robot lkp at intel.com
Thu May 31 14:34:20 UTC 2018


Hi Chris,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on next-20180530]
[cannot apply to v4.17-rc7]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-Remove-stale-asserts-from-i915_gem_find_active_request/20180531-202540
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-x006-201821 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   In file included from include/linux/kernel.h:10:0,
                    from include/linux/list.h:9,
                    from include/linux/agp_backend.h:33,
                    from include/drm/drmP.h:35,
                    from drivers/gpu//drm/i915/i915_gem.c:28:
   drivers/gpu//drm/i915/i915_gem.c: In function 'i915_gem_sanitize':
   drivers/gpu//drm/i915/i915_gem.c:5035:15: error: 'struct intel_engine_cs' has no member named 'reset'; did you mean 'reset_hw'?
      if (engine->reset.reset)
                  ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> drivers/gpu//drm/i915/i915_gem.c:5035:3: note: in expansion of macro 'if'
      if (engine->reset.reset)
      ^~
   drivers/gpu//drm/i915/i915_gem.c:5035:15: error: 'struct intel_engine_cs' has no member named 'reset'; did you mean 'reset_hw'?
      if (engine->reset.reset)
                  ^
   include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
>> drivers/gpu//drm/i915/i915_gem.c:5035:3: note: in expansion of macro 'if'
      if (engine->reset.reset)
      ^~
   drivers/gpu//drm/i915/i915_gem.c:5035:15: error: 'struct intel_engine_cs' has no member named 'reset'; did you mean 'reset_hw'?
      if (engine->reset.reset)
                  ^
   include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
>> drivers/gpu//drm/i915/i915_gem.c:5035:3: note: in expansion of macro 'if'
      if (engine->reset.reset)
      ^~
   drivers/gpu//drm/i915/i915_gem.c:5036:12: error: 'struct intel_engine_cs' has no member named 'reset'; did you mean 'reset_hw'?
       engine->reset.reset(engine, NULL);
               ^~~~~
               reset_hw

vim +/if +5035 drivers/gpu//drm/i915/i915_gem.c

  5000	
  5001	void i915_gem_sanitize(struct drm_i915_private *i915)
  5002	{
  5003		struct intel_engine_cs *engine;
  5004		enum intel_engine_id id;
  5005	
  5006		GEM_TRACE("\n");
  5007	
  5008		mutex_lock(&i915->drm.struct_mutex);
  5009	
  5010		intel_runtime_pm_get(i915);
  5011		intel_uncore_forcewake_get(i915, FORCEWAKE_ALL);
  5012	
  5013		/*
  5014		 * As we have just resumed the machine and woken the device up from
  5015		 * deep PCI sleep (presumably D3_cold), assume the HW has been reset
  5016		 * back to defaults, recovering from whatever wedged state we left it
  5017		 * in and so worth trying to use the device once more.
  5018		 */
  5019		if (i915_terminally_wedged(&i915->gpu_error))
  5020			i915_gem_unset_wedged(i915);
  5021	
  5022		/*
  5023		 * If we inherit context state from the BIOS or earlier occupants
  5024		 * of the GPU, the GPU may be in an inconsistent state when we
  5025		 * try to take over. The only way to remove the earlier state
  5026		 * is by resetting. However, resetting on earlier gen is tricky as
  5027		 * it may impact the display and we are uncertain about the stability
  5028		 * of the reset, so this could be applied to even earlier gen.
  5029		 */
  5030		if (INTEL_GEN(i915) >= 5 && intel_has_gpu_reset(i915))
  5031			WARN_ON(intel_gpu_reset(i915, ALL_ENGINES));
  5032	
  5033		/* Reset the submission backend after resume as well as the GPU reset */
  5034		for_each_engine(engine, i915, id) {
> 5035			if (engine->reset.reset)
  5036				engine->reset.reset(engine, NULL);
  5037		}
  5038	
  5039		intel_uncore_forcewake_put(i915, FORCEWAKE_ALL);
  5040		intel_runtime_pm_put(i915);
  5041	
  5042		i915_gem_contexts_lost(i915);
  5043		mutex_unlock(&i915->drm.struct_mutex);
  5044	}
  5045	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 24670 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20180531/2ef1de94/attachment-0001.gz>


More information about the Intel-gfx mailing list