1. 24 8月, 2012 7 次提交
  2. 14 8月, 2012 8 次提交
  3. 13 8月, 2012 15 次提交
  4. 12 8月, 2012 3 次提交
  5. 11 8月, 2012 2 次提交
  6. 10 8月, 2012 5 次提交
    • D
      drm/mgag200: fix G200ER pll picking algorithm · 9830605d
      Dave Airlie 提交于
      The original code was misported from the X driver,
      
      a) an int went to unsigned int, breaking the downward counting testm code
      b) the port did the vco/computed clock bits completely wrong.
      
      This fixes an infinite loop on modprobe on some Dell servers with the G200ER
      chipset variant.
      
      Found in internal testing.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      9830605d
    • A
      drm/edid: Fix potential memory leak in edid_load() · f7b83b90
      Alexey Khoroshilov 提交于
      Do not leak memory by updating pointer with potentially
      NULL realloc return value.
      
      Found by Linux Driver Verification project (linuxtesting.org).
      Signed-off-by: NAlexey Khoroshilov <khoroshilov@ispras.ru>
      Reviewed-by: NCarsten Emde <C.Emde@osadl.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      f7b83b90
    • C
      drm/i915: Lazily apply the SNB+ seqno w/a · b2eadbc8
      Chris Wilson 提交于
      Avoid the forcewake overhead when simply retiring requests, as often the
      last seen seqno is good enough to satisfy the retirment process and will
      be promptly re-run in any case. Only ensure that we force the coherent
      seqno read when we are explicitly waiting upon a completion event to be
      sure that none go missing, and also for when we are reporting seqno
      values in case of error or debugging.
      
      This greatly reduces the load for userspace using the busy-ioctl to
      track active buffers, for instance halving the CPU used by X in pushing
      the pixels from a software render (flash). The effect will be even more
      magnified with userptr and so providing a zero-copy upload path in that
      instance, or in similar instances where X is simply compositing DRI
      buffers.
      
      v2: Reverse the polarity of the tachyon stream. Daniel suggested that
      'force' was too generic for the parameter name and that 'lazy_coherency'
      better encapsulated the semantics of it being an optimization and its
      purpose. Also notice that gen6_get_seqno() is only used by gen6/7
      chipsets and so the test for IS_GEN6 || IS_GEN7 is redundant in that
      function.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b2eadbc8
    • D
      drm/i915: enable rc6 on ilk again · 456470eb
      Daniel Vetter 提交于
      I have the faint hope that the total absence of any locking for the
      rps code wasn't too good an idea and could very well have caused some
      rc6 related regressions.
      
      Unfortunately we've never managed to reproduce these issues on any of
      our own machines, so the only way to go about this is to enable it and
      see what happens.
      
      While at it, kill some stale comments and improve the logging.
      Acked-by: NBen Widawsky <ben@bwidawsk.net>
      Reviewed-by: NDamien Lespiau <damien.lespiau@intel.com>
      Signed-Off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      456470eb
    • D
      drm/i915: fix up ilk drps/ips locking · 9270388e
      Daniel Vetter 提交于
      We change the drps/ips sw/hw state from different callers: Our own irq
      handler, the external intel-ips module and from process context. Most
      of these callers don't take any lock at all.
      
      Protect everything by making the mchdev_lock irqsave and grabbing it in
      all relevant callsites. Note that we have to convert a few sleeps in the
      drps enable/disable code to delays, but alas, I'm not volunteering to
      restructure the code around a few work items.
      
      For paranoia add a spin_locked assert to ironlake_set_drps, too.
      
      v2: Move one access inside the lock protection. Caught by the
      dev_priv->ips mass-rename ...
      
      v3: Resolve rebase conflict.
      Reviewed-by: NDamien Lespiau <damien.lespiau@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      9270388e