1. 28 10月, 2010 3 次提交
  2. 27 10月, 2010 2 次提交
    • C
      drm/i915/ringbuffer: Drop the redundant dev from the vfunc interface · 78501eac
      Chris Wilson 提交于
      The ringbuffer keeps a pointer to the parent device, so we can use that
      instead of passing around the pointer on the stack.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      78501eac
    • P
      mm: stack based kmap_atomic() · 3e4d3af5
      Peter Zijlstra 提交于
      Keep the current interface but ignore the KM_type and use a stack based
      approach.
      
      The advantage is that we get rid of crappy code like:
      
      	#define __KM_PTE			\
      		(in_nmi() ? KM_NMI_PTE : 	\
      		 in_irq() ? KM_IRQ_PTE :	\
      		 KM_PTE0)
      
      and in general can stop worrying about what context we're in and what kmap
      slots might be appropriate for that.
      
      The downside is that FRV kmap_atomic() gets more expensive.
      
      For now we use a CPP trick suggested by Andrew:
      
        #define kmap_atomic(page, args...) __kmap_atomic(page)
      
      to avoid having to touch all kmap_atomic() users in a single patch.
      
      [ not compiled on:
        - mn10300: the arch doesn't actually build with highmem to begin with ]
      
      [akpm@linux-foundation.org: coding-style fixes]
      [akpm@linux-foundation.org: fix up drivers/gpu/drm/i915/intel_overlay.c]
      Acked-by: NRik van Riel <riel@redhat.com>
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NChris Metcalf <cmetcalf@tilera.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: David Miller <davem@davemloft.net>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Dave Airlie <airlied@linux.ie>
      Cc: Li Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3e4d3af5
  3. 22 10月, 2010 1 次提交
  4. 20 10月, 2010 1 次提交
  5. 19 10月, 2010 1 次提交
  6. 08 10月, 2010 1 次提交
  7. 01 10月, 2010 1 次提交
  8. 25 9月, 2010 2 次提交
    • C
      drm/i915: Adjust hangcheck EIO semantics · 30dbf0c0
      Chris Wilson 提交于
      Owain Ainsworth reported an issue between the interaction of the
      hangcheck and userspace immediately (and permanently) falling back to
      s/w rasterisation. In order to break the mutex and begin resetting the
      GPU, we must abort the current operation (usually within the wait) and
      climb sufficiently far back up the call chain to drop the mutex. In his
      implementation, Owain has a loop within the ioctl handler to detect the
      hang and then sleep until the error handler has run. I've chosen to
      return to userspace and report an EAGAIN which should trigger the
      userspace ioctl handler to repeat the call (simply because it felt less
      invasive...). Before hitting a wedged GPU, we then wait upon completion
      of the error handler.
      Reported-by: NOwain G. Ainsworth <zerooa@googlemail.com>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      30dbf0c0
    • C
      drm/i915: Only hold a process-local lock whilst throttling. · f787a5f5
      Chris Wilson 提交于
      Avoid cause latencies in other clients by not taking the global struct
      mutex and moving the per-client request manipulation a local per-client
      mutex. For example, this allows a compositor to schedule a page-flip
      (through X) whilst an OpenGL application is monopolising the GPU.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      f787a5f5
  9. 21 9月, 2010 5 次提交
  10. 14 9月, 2010 1 次提交
    • C
      drm/i915: Reduce hangcheck frequency · b3b079db
      Chris Wilson 提交于
      By reducing the hangcheck frequency we check less often, conserving
      resources, and still detect a lock up quickly. On a fast machine with a
      slow GPU (like a Core2 paired with a 945G) it is easy for the hangcheck to
      misfire as we check too fast.
      
      Also once hung and if we fail to completely reset the chip, we have a
      nasty habit of proclaming a hang many times a second and generating a
      strobe-like display.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      b3b079db
  11. 12 9月, 2010 1 次提交
  12. 10 9月, 2010 1 次提交
  13. 09 9月, 2010 1 次提交
  14. 08 9月, 2010 5 次提交
  15. 07 9月, 2010 1 次提交
  16. 22 8月, 2010 1 次提交
  17. 10 8月, 2010 3 次提交
  18. 02 8月, 2010 3 次提交
  19. 02 7月, 2010 2 次提交
  20. 19 6月, 2010 1 次提交
  21. 05 6月, 2010 1 次提交
    • A
      drm/i915/gen4: Fix interrupt setup ordering · c496fa1f
      Adam Jackson 提交于
      Unmask, then enable interrupts, then enable interrupt sources; matches
      PCH ordering.  The old way (sources, enable, unmask) gives a window
      during which interrupt conditions would appear in ISR but would never
      reach IIR and thus never raise an IRQ.  Since interrupts only trigger
      on rising edges in ISR, this would lead to conditions where (for
      example) output hotplugging would never fire an interrupt because it
      was already stuck on in ISR.
      
      Also, since we know IIR and PIPExSTAT have been cleared during
      irq_preinstall, don't clear them again during irq_postinstall, nothing
      good can come of that.
      Signed-off-by: NAdam Jackson <ajax@redhat.com>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      c496fa1f
  22. 29 5月, 2010 1 次提交
  23. 27 5月, 2010 1 次提交