1. 07 4月, 2015 3 次提交
  2. 04 3月, 2015 1 次提交
    • I
      drm/i915: gen4: work around hang during hibernation · ab3be73f
      Imre Deak 提交于
      Bjørn reported that his machine hang during hibernation and eventually
      bisected the problem to the following commit:
      
      commit da2bc1b9
      Author: Imre Deak <imre.deak@intel.com>
      Date:   Thu Oct 23 19:23:26 2014 +0300
      
          drm/i915: add poweroff_late handler
      
      The problem seems to be that after the kernel puts the device into D3
      the BIOS still tries to access it, or otherwise assumes that it's in D0.
      This is clearly bogus, since ACPI mandates that devices are put into D3
      by the OSPM if they are not wake-up sources. In the future we want to
      unify more of the driver's runtime and system suspend paths, for example
      by skipping all the system suspend/hibernation hooks if the device is
      runtime suspended already. Accordingly for all other platforms the goal
      is still to properly power down the device during hibernation.
      
      v2:
      - Another GEN4 Lenovo laptop had the same issue, while platforms from
        other vendors (including mobile and desktop, GEN4 and non-GEN4) seem
        to work fine. Based on this apply the workaround on all GEN4 Lenovo
        platforms.
      - add code comment about failing platforms (Ville)
      
      Reference: http://lists.freedesktop.org/archives/intel-gfx/2015-February/060633.htmlReported-and-bisected-by: NBjørn Mork <bjorn@mork.no>
      Cc: stable@vger.kernel.org # v3.19
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Acked-by: NDaniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      ab3be73f
  3. 29 1月, 2015 1 次提交
    • C
      drm/i915: Convert hangcheck from a timer into a delayed work item · 737b1506
      Chris Wilson 提交于
      When run as a timer, i915_hangcheck_elapsed() must adhere to all the
      rules of running in a softirq context. This is advantageous to us as we
      want to minimise the risk that a driver bug will prevent us from
      detecting a hung GPU. However, that is irrelevant if the driver bug
      prevents us from resetting and recovering. Still it is prudent not to
      rely on mutexes inside the checker, but given the coarseness of
      dev->struct_mutex doing so is extremely hard.
      
      Give in and run from a work queue, i.e. outside of softirq.
      
      v2: Use own workqueue to avoid deadlocks (Daniel)
          Cleanup commit msg and add comment to i915_queue_hangcheck() (Chris)
      
      Cc: Jani Nikula <jani.nikula@intel.com>
      Cc: Daniel Vetter <dnaiel.vetter@ffwll.chm>
      Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (v1)
      Signed-off-by: NMika Kuoppala <mika.kuoppala@intel.com>
      [danvet: Remove accidental kerneldoc comment starter, to appease the 0
      day builder.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      737b1506
  4. 27 1月, 2015 3 次提交
  5. 26 1月, 2015 1 次提交
  6. 12 1月, 2015 1 次提交
  7. 24 12月, 2014 1 次提交
  8. 16 12月, 2014 2 次提交
  9. 08 12月, 2014 1 次提交
  10. 03 12月, 2014 5 次提交
  11. 21 11月, 2014 1 次提交
  12. 20 11月, 2014 2 次提交
  13. 19 11月, 2014 1 次提交
  14. 14 11月, 2014 1 次提交
  15. 08 11月, 2014 1 次提交
  16. 07 11月, 2014 1 次提交
  17. 05 11月, 2014 2 次提交
    • P
      drm/i915: run hsw_disable_pc8() later on resume · efee833a
      Paulo Zanoni 提交于
      We want to run intel_uncore_early_sanitize() before we touch any
      registers, because on BDW, when we resume, the FPGA_DBG_RM_NOCLAIM bit
      is set, so we need to clear it - through intel_uncore_early_sanitize()
      - before we do anything else. With the current code, we don't clear
      the bit before our first register access, so we print a WARN
      complaining about an unclaimed register error.
      
      v1: Was called "drm/i915: run intel_uncore_early_sanitize earlier on
      resume"
      v2: Was called "drm/i915: run intel_uncore_early_sanitize earlier on
      resume on non-VLV"
      v3: This one, on top of the intel_resume_prepare() rework.
      v4: Rebase.
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      efee833a
    • P
      drm/i915: kill intel_resume_prepare() · 1a5df187
      Paulo Zanoni 提交于
      Because, really, the abstraction is not working for us. It is nice for
      VLV, but doesn't add anything useful on SNB/HSW/BDW. We want to change
      this code due to a recently-discovered bug, but we can't seem to find
      a nice solution that repects the current abstraction. So let's kill
      intel_resume_prepare() and its friends, and add an equivalent
      implementation to both its callers.
      
      Also, look at the diffstat!
      
      v2: - Rebase.
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      1a5df187
  18. 24 10月, 2014 12 次提交