1. 06 Dec, 2013 1 commit
    • Paulo Zanoni's avatar
      drm/i915: change CRTC assertion on LCPLL disable · 798183c5
      Paulo Zanoni authored
      Currently, PC8 is enabled at modeset_global_resources, which is called
      after intel_modeset_update_state. Due to this, there's a small race
      condition on the case where we start enabling PC8, then do a modeset
      while PC8 is still being enabled. The racing condition triggers a WARN
      because intel_modeset_update_state will mark the CRTC as enabled, then
      the thread that's still enabling PC8 might look at the data structure
      and think that PC8 is being enabled while a pipe is enabled. Despite
      the WARN, this is not really a bug since we'll wait for the
      PC8-enabling thread to finish when we call modeset_global_resources.
      
      The spec says the CRTC cannot be enabled when we disable LCPLL, so we
      had a check for crtc->base.enabled. If we change to crtc->active we
      will still prevent disabling LCPLL while the CRTC is enabled, and we
      will also prevent the WARN above.
      
      This is a replacement for the previous patch named
          "drm/i915: get/put PC8 when we get/put a CRTC"
      
      Testcase: igt/pm_pc8/modeset-lpsp-stress-no-wait
      Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      798183c5
  2. 05 Dec, 2013 1 commit
  3. 04 Dec, 2013 8 commits
  4. 03 Dec, 2013 5 commits
  5. 02 Dec, 2013 1 commit
    • Daniel Vetter's avatar
      drm/i915/lvds: don't restore hw state in the lid notifier for pch platforms · 5be19d91
      Daniel Vetter authored
      It's a pain for two reasons:
      - The vga plane redisablign requires actual legacy vgao i/o to pull
        of. The hw engineers really botched this one here :(
      - There seem to be some BIOS out there which send out lid events when
        unplugging. Together with our broken DP code, which disables the
        port when the cable is lost, this results in an immediate modeset
        call, which can hang on the wait for outstanding flips.
      - Also we don't want to force a modeset on machines where it's not
        really needed, see the referenced bug.
      
      We might want to extend this in general to also all machines that
      support opregion, since there the BIOS supposedly should manage the
      gfx hardware more cooperatively.
      
      v2: Pimp commit message a bit.
      
      Cc: Roland Dreier <roland@kernel.org>
      References: https://bugs.freedesktop.org/show_bug.cgi?id=65486Acked-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      5be19d91
  6. 29 Nov, 2013 1 commit
  7. 28 Nov, 2013 13 commits
  8. 27 Nov, 2013 1 commit
    • Chris Wilson's avatar
      drm/i915: Do not attempt to re-enable an unconnected primary plane · 947fdaad
      Chris Wilson authored
      Due to user fudging (for instance using video=VGA-1:e with FBDEV=n) we can
      attempt to reset an inconsistent CRTC that is marked as active but has
      no assigned fb. It would be wise to fix this earlier, but the long
      term plan is to have primary and secondary planes associated with a
      CRTC, in which crtc->fb being NULL will be expected. So for a quick
      short term fix with pretensions of grandeur, just check for a NULL fb
      during GPU reset and ignore the plane restoration.
      
      This fixes a potential hard hang (a panic in the panic handler)
      following a GPU hang.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      [danvet: Add a corresponding fixme comment.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      947fdaad
  9. 26 Nov, 2013 9 commits