1. 30 6月, 2011 1 次提交
  2. 22 6月, 2011 1 次提交
  3. 18 6月, 2011 1 次提交
    • D
      drm/i915: Fix gen6 (SNB) missed BLT ring interrupts. · 498e720b
      Daniel J Blueman 提交于
      The failure appeared in dmesg as:
      
      [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed... blt
      ring idle [waiting on 35064155, at 35064155], missed IRQ?
      
      This works around that problem on by making the blitter command
      streamer write interrupt state to the Hardware Status Page when a
      MI_USER_INTERRUPT command is decoded, which appears to force the seqno
      out to memory before the interrupt happens.
      
      v1->v2: Moved to prior interrupt handler installation and RMW flags as
      per feedback.
      v2->v3: Removed RMW of flags (by anholt)
      
      Cc: stable@kernel.org
      Signed-off-by: NDaniel J Blueman <daniel.blueman@gmail.com>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Tested-by: Chris Wilson <chris@chris-wilson.co.uk> [v1]
      Tested-by: Eric Anholt <eric@anholt.net> [v1,v3]
      	   (incidence of the bug with a testcase went from avg 2/1000 to
      	   0/12651 in the latest test run (plus more for v1))
      Tested-by: Kenneth Graunke <kenneth@whitecape.org> [v1]
      Tested-by: Robert Hooker <robert.hooker@canonical.com> [v1]
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=33394Signed-off-by: NDave Airlie <airlied@redhat.com>
      498e720b
  4. 05 6月, 2011 1 次提交
  5. 19 5月, 2011 1 次提交
  6. 14 5月, 2011 3 次提交
  7. 11 5月, 2011 4 次提交
  8. 02 3月, 2011 3 次提交
  9. 22 2月, 2011 1 次提交
  10. 16 2月, 2011 1 次提交
  11. 08 2月, 2011 1 次提交
  12. 07 2月, 2011 2 次提交
  13. 31 1月, 2011 1 次提交
    • C
      drm/i915: Suppress spurious vblank interrupts · 78c6e170
      Chris Wilson 提交于
      Hugh Dickins found that characters in xterm were going missing and oft
      delayed. Being the curious type, he managed to associate this with the
      new high-precision vblank patches; disabling these he found, restored
      the orderliness of his characters.
      
      The oddness begins when one realised that Hugh was not using vblanks at
      all on his system (fvwm and some xterms). Instead, all he had to go on
      were warning of a pipe underrun, curiously enough at around 60Hz. He
      poked and found that in addition to the underrun warning, the hardware
      was flagging the start of a new frame, a vblank, which in turn was
      kicking off the pending vblank processing code.
      
      There is little we can do for the underruns on Hugh's machine, a
      Crestline [965GM], which must have its FIFO watermarks set to 8.
      However, we do not need to process the vblank if we know that they are
      disabled...
      Reported-by: NHugh Dickins <hughd@google.com>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      78c6e170
  14. 28 1月, 2011 1 次提交
  15. 25 1月, 2011 3 次提交
  16. 23 1月, 2011 1 次提交
  17. 20 1月, 2011 1 次提交
  18. 19 1月, 2011 1 次提交
    • C
      drm/i915: Use PM QoS to prevent C-State starvation of gen3 GPU · b0b544cd
      Chris Wilson 提交于
      945 class hardware has an interesting quirk in which the vblank
      interrupt is not raised if the CPU is in a low power state. (We also
      suspect that the memory bus is clocked to the CPU/c-state and not the
      GPU so there are secondary starvation issues.) In order to prevent the
      most obvious issue of the low of the vblank interrupt (stuttering
      compositing that only updates when the mouse is moving) is to install a
      PM QoS request to prevent low c-states whilst the GPU is active.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      b0b544cd
  19. 14 1月, 2011 1 次提交
  20. 12 1月, 2011 5 次提交
  21. 18 12月, 2010 1 次提交
  22. 17 12月, 2010 1 次提交
    • M
      drm/i915: Add support for precise vblank timestamping (v2) · 0af7e4df
      Mario Kleiner 提交于
      v2: Change IS_IRONLAKE to IS_GEN5 to adapt to 2.6.37
      
      This patch adds new functions for use by the drm core:
      
      .get_vblank_timestamp() provides a precise timestamp
      for the end of the most recent (or current) vblank
      interval of a given crtc, as needed for the DRI2
      implementation of the OML_sync_control extension.
      It is a thin wrapper around the drm function
      drm_calc_vbltimestamp_from_scanoutpos() which does
      almost all the work.
      
      .get_scanout_position() provides the current horizontal
      and vertical video scanout position and "in vblank"
      status of a given crtc, as needed by the drm for use by
      drm_calc_vbltimestamp_from_scanoutpos().
      
      The patch modifies the pageflip completion routine
      to use these precise vblank timestamps as the timestamps
      for pageflip completion events.
      
      This code has been only tested on a HP-Mini Netbook with
      Atom processor and Intel 945GME gpu. The codepath for
      (IS_G4X(dev) || IS_GEN5(dev) || IS_GEN6(dev)) gpu's
      has not been tested so far due to lack of hardware.
      Signed-off-by: NMario Kleiner <mario.kleiner@tuebingen.mpg.de>
      Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      0af7e4df
  23. 15 12月, 2010 1 次提交
  24. 14 12月, 2010 1 次提交
  25. 06 12月, 2010 1 次提交
  26. 05 12月, 2010 1 次提交