1. 26 6月, 2015 5 次提交
  2. 24 6月, 2015 3 次提交
  3. 23 6月, 2015 5 次提交
  4. 15 6月, 2015 2 次提交
  5. 30 5月, 2015 1 次提交
  6. 20 5月, 2015 1 次提交
  7. 08 5月, 2015 5 次提交
  8. 30 4月, 2015 1 次提交
  9. 24 4月, 2015 6 次提交
  10. 20 4月, 2015 5 次提交
  11. 10 4月, 2015 6 次提交
    • M
      drm/i915: Move vm page allocation in proper place · 1d335d1b
      Mika Kuoppala 提交于
      Move to i915_vma_bind as it is part of the binding.
      Suggested-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Michel Thierry <michel.thierry@intel.com>
      Signed-off-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      1d335d1b
    • C
      drm/i915: Use a separate slab for vmas · e20d2ab7
      Chris Wilson 提交于
      vma are more frequently allocated than objects and so should equally
      benefit from having a dedicated slab.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      e20d2ab7
    • M
      drm/i915: Use complete address space in true PPGTT · a4e0bedc
      Michel Thierry 提交于
      True PPGTT is capable of having a full address space, even if the system
      has less allocated memory.
      
      Note that aliasing PPGTT always aliases the GGTT and thus should remain
      of the same size.
      Signed-off-by: NMichel Thierry <michel.thierry@intel.com>
      Reviewed-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      a4e0bedc
    • M
      drm/i915/gen8: Dynamic page table allocations · d7b2633d
      Michel Thierry 提交于
      This finishes off the dynamic page tables allocations, in the legacy 3
      level style that already exists. Most everything has already been setup
      to this point, the patch finishes off the enabling by setting the
      appropriate function pointers.
      
      In LRC mode, contexts need to know the PDPs when they are populated. With
      dynamic page table allocations, these PDPs may not exist yet. Check if
      PDPs have been allocated and use the scratch page if they do not exist yet.
      
      Before submission, update the PDPs in the logic ring context as PDPs
      have been allocated.
      
      v2: Update aliasing/true ppgtt allocate/teardown/clear functions for
      gen 6 & 7.
      
      v3: Rebase.
      
      v4: Remove BUG() from ppgtt_unbind_vma, but keep checking that either
      teardown_va_range or clear_range functions exist (Daniel).
      
      v5: Similar to gen6, in init, gen8_ppgtt_clear_range call is only needed
      for aliasing ppgtt. Zombie tracking was originally added for teardown
      function and is no longer required.
      
      v6: Update err_out case in gen8_alloc_va_range (missed from lastest
      rebase).
      
      v7: Rebase after s/page_tables/page_table/.
      
      v8: Updated scratch_pt check after scratch flag was removed in previous
      patch.
      
      v9: Note that lrc mode needs to be updated to support init state without
      any PDP.
      
      v10: Unmap correct page_table in gen8_alloc_va_range's error case,  clean-up
      gen8_aliasing_ppgtt_init (remove duplicated map), and initialize PTs
      during page table allocation.
      
      v11: Squashed LRC enabling commit, otherwise LRC mode would be left broken
      until it was updated to handle the init case without any PDP.
      
      v12: Do not overallocate new_pts bitmap, make alloc_gen8_temp_bitmaps
      static and don't abuse of inline functions. (Mika)
      
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: Michel Thierry <michel.thierry@intel.com> (v2+)
      Reviewed-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      d7b2633d
    • M
      drm/i915/gen8: begin bitmap tracking · 33c8819f
      Michel Thierry 提交于
      Like with gen6/7, we can enable bitmap tracking with all the
      preallocations to make sure things actually don't blow up.
      
      v2: Rebased to match changes from previous patches.
      v3: Without teardown logic, rely on used_pdpes and used_pdes when
      freeing page tables.
      v4: Rebased after s/page_tables/page_table/.
      v5: Rebased after page table generalizations.
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: Michel Thierry <michel.thierry@intel.com> (v2+)
      Reviewed-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      33c8819f
    • M
      drm/i915/gen8: Split out mappings · e5815a2e
      Michel Thierry 提交于
      When we do dynamic page table allocations for gen8, we'll need to have
      more control over how and when we map page tables, similar to gen6.
      In particular, DMA mappings for page directories/tables occur at allocation
      time.
      
      This patch adds the functionality and calls it at init, which should
      have no functional change.
      
      The PDPEs are still a special case for now. We'll need a function for
      that in the future as well.
      
      v2: Handle renamed unmap_and_free_page functions.
      v3: Updated after teardown_va logic was removed.
      v4: Rebase after s/page_tables/page_table/.
      v5: No longer allocate all PDPs in GEN8+ systems with less than 4GB of
      memory, and update populate_lr_context to handle this new case (proper
      tracking will be added later in the patch series).
      v6: Assign lrc page directory pointer addresses using a macro. (Mika)
      
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: Michel Thierry <michel.thierry@intel.com> (v2+)
      Reviewed-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      e5815a2e