1. 18 1月, 2013 4 次提交
  2. 08 1月, 2013 1 次提交
    • S
      drm/prime: drop reference on imported dma-buf come from gem · be8a42ae
      Seung-Woo Kim 提交于
      Increasing ref counts of both dma-buf and gem for imported dma-buf come from gem
      makes memory leak. release function of dma-buf cannot be called because f_count
      of dma-buf increased by importing gem and gem ref count cannot be decrease
      because of exported dma-buf.
      
      So I add dma_buf_put() for imported gem come from its own gem into each drivers
      having prime_import and prime_export capabilities. With this, only gem ref
      count is increased if importing gem exported from gem of same driver.
      Signed-off-by: NSeung-Woo Kim <sw0312.kim@samsung.com>
      Signed-off-by: NKyungmin.park <kyungmin.park@samsung.com>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Rob Clark <rob.clark@linaro.org>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      be8a42ae
  3. 04 1月, 2013 1 次提交
    • G
      Drivers: gpu: remove __dev* attributes. · 56550d94
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, and __devexit
      from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Cc: David Airlie <airlied@linux.ie>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      56550d94
  4. 21 12月, 2012 1 次提交
  5. 20 12月, 2012 6 次提交
    • B
      drm/i915: Make GSM void · 1c45140d
      Ben Widawsky 提交于
      The iomapping of the register region has historically been a uint32_t
      for the obvious reason that our PTE size was always 4b. In the future
      however, we cannot make this assumption.
      
      By making the type void, it makes the upcoming pointer math we will do
      much easier, and hopefully gives the compiler opportunities to warn us
      when we do stupid things.
      
      v2: Cast to __iomem, caught by Ville
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      [danvet: Fixup __iomem issue for real.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      1c45140d
    • B
      drm/i915: Move GSM mapping into dev_priv · 06e5598f
      Ben Widawsky 提交于
      This removes an unused field from the AGP structure and moves it into
      the dev_priv structure (with a slightly better name). This builds upon
      the kill-agp series already merged.
      
      GSM is a well defined term in the bspec:
      GSM: Graphics Stolen Memory
      
      GTT stolen space is defined for storage of the GFX GTT entries in
      physical memory. IA can not access GSM directly , it can only access via
      GTTMMADR. GT can access GSM directly or through GTTMMADR.
      
      This is not the entire stolen space.
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      Reviewed-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      06e5598f
    • B
      drm/i915: Move even more gtt code to i915_gem_gtt · d7e5008f
      Ben Widawsky 提交于
      This really should have been part of the kill agp series.
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      Reviewed-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      d7e5008f
    • D
      drm/i915: disable shrinker lock stealing for create_mmap_offset · da494d7c
      Daniel Vetter 提交于
      The mmap offset structure is not part of the drm/i915 code, but
      provided by gem helpers. To avoid leaky abstractions (by either
      depending upon implementation details of said helper wrt to
      preallocations, or reimplementing it in our code and so fuzzing
      around in internal details of that helpr) simply disable
      the shrinker lock stealing accross calls into the helper functions.
      
      This should fix igt/gem_tiled_swapping.
      
      v2: Fix cleanup path confusion bemoaned by Chris Wilson.
      Reported-by: NMika Kuoppala <mika.kuoppala@linux.intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      da494d7c
    • D
      drm/i915: optionally disable shrinker lock stealing · 677feac2
      Daniel Vetter 提交于
      commit 5774506f
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Wed Nov 21 13:04:04 2012 +0000
      
          drm/i915: Borrow our struct_mutex for the direct reclaim
      
      added a nice trick to steal the struct_mutex lock in the shrinker if
      it's the current task holding it. But this also caused the requirement
      that every place which allocates memory needs to be careful about the
      gem state of objects, since the shrinker could have pulled the rug out
      from under it. We've usually solved this by carefully preallocating
      things or ensure that buffers are pinned already.
      
      But the shrinker also reaps mmap offset, so allocating those needs to
      be careful, too. Now that code has been factored out into some common
      helpers, so either we have fragile code depending upon the common
      helper not doing something we don't want it to do. Or we need to
      reimplement the mmap offset creation and so also leak implementation
      details into our code.
      
      Since this all results in leaky abstraction, cop out by disabling the
      lock borrowing trick while calling down into the helpers. That way our
      craziness is nicely confined to files in drm/i915.
      
      v2: Split out the change to create_mmap_offset as request by Chris Wilson.
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      677feac2
    • D
      drm/i915: fix flags in dma buf exporting · 5b42427f
      Dave Airlie 提交于
      As pointed out by Seung-Woo Kim this should have been
      passing flags like nouveau/radeon have.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      5b42427f
  6. 19 12月, 2012 11 次提交
  7. 18 12月, 2012 3 次提交
    • D
      drm/i915: fixup overlay stolen memory leak · 4d7bb011
      Daniel Vetter 提交于
      We need to clean up the overlay first, before taking down the
      stolen memory allocator.
      
      This regression has been introducec in
      
      commit 80405138
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Thu Nov 15 11:32:29 2012 +0000
      
          drm/i915: Allocate overlay registers from stolen memory
      
      v2: Rework the patch a bit as suggested by Chris Wilson:
      - move the overlay teardown up, into the modeset cleanup
      - move the stolen mm takedown into i915_gem_cleanup_stolen
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      4d7bb011
    • D
      drm/i915: Implement workaround for broken CS tlb on i830/845 · b45305fc
      Daniel Vetter 提交于
      Now that Chris Wilson demonstrated that the key for stability on early
      gen 2 is to simple _never_ exchange the physical backing storage of
      batch buffers I've tried a stab at a kernel solution. Doesn't look too
      nefarious imho, now that I don't try to be too clever for my own good
      any more.
      
      v2: After discussing the various techniques, we've decided to always blit
      batches on the suspect devices, but allow userspace to opt out of the
      kernel workaround assume full responsibility for providing coherent
      batches. The principal reason is that avoiding the blit does improve
      performance in a few key microbenchmarks and also in cairo-trace
      replays.
      Signed-Off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      [danvet:
      - Drop the hunk which uses HAS_BROKEN_CS_TLB to implement the ring
        wrap w/a. Suggested by Chris Wilson.
      - Also add the ACTHD check from Chris Wilson for the error state
        dumping, so that we still catch batches when userspace opts out of
        the w/a.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b45305fc
    • D
      drm/i915: Implement WaSetupGtModeTdRowDispatch · 6547fbdb
      Daniel Vetter 提交于
      I'm not really sure, since the w/a entry is as thin on details as
      ever, and Bspec doesn't say anything about it. But I've figured only
      dispatching to rows 0&1 instead of all four should be the right thing
      for GT1.
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@gmail.com>
      [danvet: Add the missing snb server GT1 to the check, spotted by Chris
      Wilson.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      6547fbdb
  8. 17 12月, 2012 11 次提交
  9. 14 12月, 2012 2 次提交