1. 08 8月, 2016 2 次提交
  2. 30 7月, 2016 1 次提交
    • L
      drm/amdgpu: Disable RPM helpers while reprobing connectors on resume · 23a1a9e5
      Lyude 提交于
      Just about all of amdgpu's connector probing functions try to acquire
      runtime PM refs. If we try to do this in the context of
      amdgpu_resume_kms by calling drm_helper_hpd_irq_event(), we end up
      deadlocking the system.
      
      Since we're guaranteed to be holding the spinlock for RPM in
      amdgpu_resume_kms, and we already know the GPU is in working order, we
      need to prevent the RPM helpers from trying to run during the initial
      connector reprobe on resume.
      
      There's a couple of solutions I've explored for fixing this, but this
      one by far seems to be the simplest and most reliable (plus I'm pretty
      sure that's what disable_depth is there for anyway).
      
      Reproduction recipe:
        - Get any laptop dual GPUs using PRIME
        - Make sure runtime PM is enabled for amdgpu
        - Boot the machine
        - If the machine managed to boot without hanging, switch out of X to
          another VT. This should definitely cause X to hang infinitely.
      
      Changes since v1:
        - add appropriate #ifdef checks for CONFIG_PM. This is not very
          useful, but it appears some kernel test suites test compiling amdgpu
          with CONFIG_PM disabled, which results in this patch breaking the builds
          if we don't include this #ifdef
      
      Cc: stable@vger.kernel.org
      Cc: Alex Deucher <alexdeucher@gmail.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NLyude <cpaul@redhat.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      23a1a9e5
  3. 08 7月, 2016 22 次提交
  4. 24 6月, 2016 1 次提交
  5. 21 6月, 2016 1 次提交
  6. 14 6月, 2016 1 次提交
  7. 09 6月, 2016 3 次提交
  8. 12 5月, 2016 3 次提交
  9. 05 5月, 2016 6 次提交