[Intel-gfx] [PATCH 0/3] Support for mapping an object page by page

ankitprasad.r.sharma at intel.com ankitprasad.r.sharma at intel.com
Thu Nov 5 03:45:56 PST 2015


From: Ankitprasad Sharma <ankitprasad.r.sharma at intel.com>

It is possible that when we want to map an object to the aperture, either
we run out of aperture space or the size of the object is larger than
the mappable aperture. In such cases we might not be able to map the whole
object to the aperture. For cases as such, here we introduce insert_page()
which allows us to map a single page in to the mappable aperture space
(which has a higher probabilty of succeeding). This can be iterated
over to access the whole object by using space as meagre as page size.

Here we try to use insert_page() for pwrite_fast in case a nonblocking
pin for the whole object fails, which helps us to iterate over the whole
object and perform the pwrite without mapping the whole object to the
mappable aperture.

We also introduce i915_gem_object_get_dma_address() to perform fast
sequential lookup of the dma address associated with any page within the
object.

Ankitprasad Sharma (1):
  drm/i915: Use insert_page for pwrite_fast

Chris Wilson (2):
  drm/i915: Add support for mapping an object page by page
  drm/i915: Introduce i915_gem_object_get_dma_address()

 drivers/char/agp/intel-gtt.c        |  9 ++++
 drivers/gpu/drm/i915/i915_drv.h     | 17 +++++++
 drivers/gpu/drm/i915/i915_gem.c     | 92 +++++++++++++++++++++++++++----------
 drivers/gpu/drm/i915/i915_gem_gtt.c | 49 ++++++++++++++++++++
 drivers/gpu/drm/i915/i915_gem_gtt.h |  5 ++
 include/drm/intel-gtt.h             |  3 ++
 6 files changed, 152 insertions(+), 23 deletions(-)

-- 
1.9.1



More information about the Intel-gfx mailing list