OSDN Git Service

intel: Add support for softpin
authorMichał Winiarski <michal.winiarski@intel.com>
Wed, 9 Sep 2015 14:07:10 +0000 (16:07 +0200)
committerKristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
Mon, 14 Dec 2015 19:31:25 +0000 (11:31 -0800)
commit8b4d57e7b75cb0bd01d11ad7f597909034a316aa
treebcc8cb7e3a0a9cf1414480b24146f457600fc5af
parent5453f89b70dc4305f8525d5053b2704db2e0e1e7
intel: Add support for softpin

Softpin allows userspace to take greater control of GPU virtual address
space and eliminates the need of relocations. It can also be used to
mirror addresses between GPU and CPU (shared virtual memory).
Calls to drm_intel_bo_emit_reloc are still required to build the list of
drm_i915_gem_exec_objects at exec time, but no entries in relocs are
created. Self-relocs don't make any sense for softpinned objects and can
indicate a programming errors, thus are forbidden. Softpinned objects
are marked by asterisk in debug dumps.

Cc: Thomas Daniel <thomas.daniel@intel.com>
Cc: Kristian Høgsberg <krh@bitplanet.net>
Cc: Zou Nanhai <nanhai.zou@intel.com>
Cc: Michel Thierry <michel.thierry@intel.com>
Cc: Ben Widawsky <ben@bwidawsk.net>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
intel/intel_bufmgr.c
intel/intel_bufmgr.h
intel/intel_bufmgr_gem.c
intel/intel_bufmgr_priv.h