1. 18 3月, 2014 2 次提交
  2. 09 10月, 2013 1 次提交
    • D
      drm: kill ->gem_init_object() and friends · 16eb5f43
      David Herrmann 提交于
      All drivers embed gem-objects into their own buffer objects. There is no
      reason to keep drm_gem_object_alloc(), gem->driver_private and
      ->gem_init_object() anymore.
      
      New drivers are highly encouraged to do the same. There is no benefit in
      allocating gem-objects separately.
      
      Cc: Dave Airlie <airlied@gmail.com>
      Cc: Alex Deucher <alexdeucher@gmail.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Jerome Glisse <jglisse@redhat.com>
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Ben Skeggs <skeggsb@gmail.com>
      Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Acked-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      16eb5f43
  3. 07 8月, 2013 1 次提交
  4. 25 7月, 2013 1 次提交
    • D
      drm/gem: convert to new unified vma manager · 0de23977
      David Herrmann 提交于
      Use the new vma manager instead of the old hashtable. Also convert all
      drivers to use the new convenience helpers. This drops all the
      (map_list.hash.key << PAGE_SHIFT) non-sense.
      
      Locking and access-management is exactly the same as before with an
      additional lock inside of the vma-manager, which strictly wouldn't be
      needed for gem.
      
      v2:
       - rebase on drm-next
       - init nodes via drm_vma_node_reset() in drm_gem.c
      v3:
       - fix tegra
      v4:
       - remove duplicate if (drm_vma_node_has_offset()) checks
       - inline now trivial drm_vma_node_offset_addr() calls
      v5:
       - skip node-reset on gem-init due to kzalloc()
       - do not allow mapping gem-objects with offsets (backwards compat)
       - remove unneccessary casts
      
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Acked-by: NPatrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@gmail.com>
      0de23977
  5. 23 7月, 2013 1 次提交
  6. 03 10月, 2012 1 次提交
  7. 24 8月, 2012 1 次提交
  8. 27 4月, 2012 1 次提交
    • A
      gma500: Set the mapping mask · 398b4706
      Alan Cox 提交于
      Some boards such as the Intel D2700MUD allow you to have over 4GB of RAM.
      The GTT on the PVR based devices is 32bit however. Hugh Dickins points out
      that we should therefore be setting the mapping gfp mask.
      
      This is not the whole fix for the problem. Some further shmem patches will
      be needed to deal with the corner cases.
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      398b4706
  9. 06 12月, 2011 3 次提交
  10. 16 11月, 2011 1 次提交
    • A
      gma500: GEM and GEM glue · e32681d6
      Alan Cox 提交于
      The driver uses GEM along with a couple of small bits of wrapping of its
      own. The only real oddity here is the support for using the 'stolen' memory
      rather than wasting several MB.
      
      We use a simple resource manager as we don't need to manage our space
      intensively at all as we only do 2D work. We also have a GTT which is
      entirely GPU facing so in the Cedarview case are not even allocating from
      host address space.
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      e32681d6
  11. 27 8月, 2011 1 次提交
  12. 16 7月, 2011 3 次提交
  13. 05 7月, 2011 8 次提交
  14. 29 6月, 2011 1 次提交
    • A
      gma500: Make GTT pages uncached · fb7ff7f6
      Alan Cox 提交于
      Clean up the GTT code a bit, make the pages uncached and go via the proper
      interfaces. This avoids any aliasing problems.
      
      On the CPU side we need to access the pages via their true addresses not via
      the GTT. This is fine for GEM created fb objects for X. For the kernel fb
      when not in stolen RAM we are going to need to use vm_map_ram() and hope we
      have enough virtual address space to steal.
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      fb7ff7f6
  15. 18 5月, 2011 1 次提交
    • A
      gma500: finish off the fault handler · 7ed2911c
      Alan Cox 提交于
      GEM wants to mmap the object through the GTT (which avoids aliasing) so we
      need to put the object into the GTT before we provide the fault mapping for
      it.
      
      While we are at it update the pin interface so that it digs dev out of the
      GEM object itself. This provides a rather cleaner API and call environment.
      Fix th refcount/on-off confusion in the pin API.
      
      At this point we get a bit further with modetest but if we write to the
      new GEM mapping we hang solid and as yet I don't know why.
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7ed2911c
  16. 12 5月, 2011 1 次提交
    • A
      gma500: enable GEM mmap · 0c4ac072
      Alan Cox 提交于
      Support mapping of GEM objects. This ought to be a small plumbing change but
      instead we have to cut and paste a pile of stuff into the driver. This
      really wants to be handled *IN* GEM
      
      You can now allocate, mmap and munmap GEM objects in the driver. You can't
      yet map them into the GART or display them however.
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0c4ac072
  17. 11 5月, 2011 1 次提交
  18. 26 4月, 2011 2 次提交
    • A
      gma500: allow non stolen page backed framebuffer · 9886eb59
      Alan Cox 提交于
      For Moorestown at least we may not have stolen RAM with which to back the
      initial framebuffer. Allow a GEM backing.
      
      At this point we should have all the bits in place needed to make it work once
      it has been debugged.
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      9886eb59
    • A
      gma500: begin adding GEM · f20ee244
      Alan Cox 提交于
      This puts in place the infrastructure for GEM allocators. Our implementation
      is fairly simplistic at this point and we don't deal with things like
      evicting objects from the GART to make space, nor compaction.
      
      We extent our gtt_range struct to include a GEM object and that allows GEM
      to do all the handle management and most of the memory mapping work for us.
      
      This patch also doesn't load GEM pages into the GART so the GEM side isn't
      very useful. Before we can do that a fair bit of work is needed reworking the
      internal GTT code.
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      f20ee244