1. 12 4月, 2016 4 次提交
  2. 11 4月, 2016 5 次提交
  3. 09 4月, 2016 6 次提交
  4. 08 4月, 2016 9 次提交
  5. 07 4月, 2016 10 次提交
  6. 06 4月, 2016 4 次提交
  7. 05 4月, 2016 2 次提交
    • D
      drm/i915/guc: always reset GuC before loading firmware · d761701c
      Dave Gordon 提交于
      After a suspend-resume cycle, the resumed kernel has no idea what the
      booted kernel may have done to the GuC before replacing itself with the
      resumed image. In particular, it may have already loaded the GuC with
      firmware, which will then cause this kernel's attempt to (re)load the
      firmware to fail (GuC program memory is write-once!). The symptoms
      (GuC firmware reload fails after hibernation) are further described
      in the Bugzilla reference below.
      
      So let's *always* reset the GuC just before (re)loading the firmware;
      the hardware should then be in a well-known state, and we may even
      avoid some of the issues arising from unpredictable timing.
      
      Also added some more fields & values to the definition of the GUC_STATUS
      register, which is the key diagnostic indicator if the GuC load fails.
      Signed-off-by: NDave Gordon <david.s.gordon@intel.com>
      Reviewed-by: NArun Siluvery <arun.siluvery@linux.intel.com>
      Cc: Alex Dai <yu.dai@intel.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94390Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      d761701c
    • A
      drm/i915/guc: reset GuC and retry on firmware load failure · 6b332fa2
      Arun Siluvery 提交于
      Due to timing issues in the HW, some of the status bits required for GuC
      authentication occasionally don't get set; when that happens, the GuC
      cannot be initialized and we will be left with a wedged GPU. The W/A
      suggested is to perform a soft reset of the GuC and attempt to reload
      the F/W again for few times before giving up.
      
      As the failure is dependent on timing, tests performed by triggering
      manual full gpu reset (i915_wedged) showed that we could sometimes hit
      this after several thousand iterations, but sometimes tests ran even
      longer without any issues. Reset and reload mechanism proved helpful
      when we indeed hit f/w load failure, so it is better to include this
      to improve driver stability.
      
      This change implements the following WAs,
      
      	WaEnableuKernelHeaderValidFix:skl,bxt
      	WaEnableGuCBootHashCheckNotSet:skl,bxt
      Signed-off-by: NArun Siluvery <arun.siluvery@linux.intel.com>
      Signed-off-by: NDave Gordon <david.s.gordon@intel.com>
      Reviewed-by: NAlex Dai <yu.dai@intel.com>
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      6b332fa2