1. 10 Nov, 2016 8 commits
  2. 09 Nov, 2016 6 commits
  3. 08 Nov, 2016 8 commits
  4. 07 Nov, 2016 16 commits
  5. 04 Nov, 2016 2 commits
    • Lyude's avatar
      drm/i915: Reinit polling before hpd when resuming · e0b70061
      Lyude authored
      Now that we don't run the connector reprobing from i915_drm_resume(), we
      need to make it so we don't have to wait for reprobing to finish so that
      we actually speed things up. In order to do this, we need to make sure
      that i915_drm_resume() doesn't get blocked by i915_hpd_poll_init_work()
      while trying to acquire the mode_config lock that
      drm_kms_helper_poll_enable() needs to acquire.
      
      The easiest way to do this is to just enable polling before hpd. This
      shouldn't break anything since at that point we have everything else we
      need for polling enabled.
      
      As well, this should result in a rather significant improvement in how
      quickly we can resume the system.
      Signed-off-by: default avatarLyude <lyude@redhat.com>
      Tested-by: default avatarDavid Weinehall <david.weinehall@linux.intel.com>
      Reviewed-by: default avatarDavid Weinehall <david.weinehall@linux.intel.com>
      Testcase: analyze_suspend.py -config config/suspend-callgraph.cfg -filter i915
      e0b70061
    • Lyude's avatar
      drm/i915: Remove redundant reprobe in i915_drm_resume · f97f1936
      Lyude authored
      Weine's investigation on benchmarking the suspend/resume process pointed
      out a lot of the time in suspend/resume is being spent reprobing. While
      the reprobing process is a lengthy one for good reason, we don't need to
      hold up the entire suspend/resume process while we wait for it to
      finish. Luckily as it turns out, we already trigger a full connector
      reprobe in i915_hpd_poll_init_work(), so we can just ditch reprobing in
      i915_drm_resume() entirely.
      
      This won't lead to less time spent resuming just yet since now the
      bottleneck will be waiting for the mode_config lock in
      drm_kms_helper_poll_enable(), since that will be held as long as
      i915_hpd_poll_init_work() is reprobing all of the connectors. But we'll
      address that in the next patch.
      Signed-off-by: default avatarLyude <lyude@redhat.com>
      Tested-by: default avatarDavid Weinehall <david.weinehall@linux.intel.com>
      Reviewed-by: default avatarDavid Weinehall <david.weinehall@linux.intel.com>
      Testcase: analyze_suspend.py -config config/suspend-callgraph.cfg -filter i915
      f97f1936