1. 18 9月, 2009 11 次提交
  2. 12 9月, 2009 2 次提交
    • C
      drm/i915: Only destroy a constructed mmap offset · 7e616158
      Chris Wilson 提交于
      drm_ht_remove_item() does not handle removing an absent item and the hlist
      in particular is incorrectly initialised. The easy remedy is simply skip
      calling i915_gem_free_mmap_offset() unless we have actually created the
      offset and associated ht entry.
      
      This also fixes the mishandling of a partially constructed offset which
      leaves pointers initialized after freeing them along the
      i915_gem_create_mmap_offset() error paths.
      
      In particular this should fix the oops found here:
      https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/415357/comments/8Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Cc: stable@kernel.org
      7e616158
    • E
      agp/intel: Fix the pre-9xx chipset flush. · e517a5e9
      Eric Anholt 提交于
      Ever since we enabled GEM, the pre-9xx chipsets (particularly 865) have had
      serious stability issues.  Back in May a wbinvd was added to the DRM to
      work around much of the problem.  Some failure remained -- easily visible
      by dragging a window around on an X -retro desktop, or by looking at bugzilla.
      
      The chipset flush was on the right track -- hitting the right amount of
      memory, and it appears to be the only way to flush on these chipsets, but the
      flush page was mapped uncached.  As a result, the writes trying to clear the
      writeback cache ended up bypassing the cache, and not flushing anything!  The
      wbinvd would flush out other writeback data and often cause the data we wanted
      to get flushed, but not always.  By removing the setting of the page to UC
      and instead just clflushing the data we write to try to flush it, we get the
      desired behavior with no wbinvd.
      
      This exports clflush_cache_range(), which was laying around and happened to
      basically match the code I was otherwise going to copy from the DRM.
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NBrice Goglin <Brice.Goglin@ens-lyon.org>
      Cc: stable@kernel.org
      e517a5e9
  3. 11 9月, 2009 9 次提交
  4. 10 9月, 2009 1 次提交
  5. 09 9月, 2009 1 次提交
  6. 08 9月, 2009 1 次提交
    • D
      drm/i915: get the bridge device once. · ec2a4c3f
      Dave Airlie 提交于
      The driver gets the bridge device in a number of places, upcoming
      vga arb code paths need the bridge device, however they need it in
      under a lock, and the pci lookup can allocate memory. So clean
      this code up before then and get the bridge once for the driver lifetime.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      ec2a4c3f
  7. 07 9月, 2009 2 次提交
  8. 05 9月, 2009 13 次提交