1. 24 8月, 2012 1 次提交
  2. 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
  3. 06 12月, 2011 3 次提交
  4. 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
  5. 27 8月, 2011 1 次提交
  6. 16 7月, 2011 3 次提交
  7. 05 7月, 2011 8 次提交
  8. 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
  9. 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
  10. 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
  11. 11 5月, 2011 1 次提交
  12. 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