]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Prepare for non-object vma
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 7 Jun 2018 15:40:45 +0000 (16:40 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 7 Jun 2018 20:53:10 +0000 (21:53 +0100)
commit0fc7f56f691c6663a55a8af0fdb1346317d8a2b3
tree2df599f689896ec94c7f813d20b688eff689cd83
parent42b58a0e6449ca2d9907ebda2afda2fdf398f895
drm/i915: Prepare for non-object vma

In order to allow ourselves to use VMA to wrap other entities other than
GEM objects, we need to allow for the vma->obj backpointer to be NULL.
In most cases, we know we are operating on a GEM object and its vma, but
we need the core code (such as i915_vma_pin/insert/bind/unbind) to work
regardless of the innards.

The remaining eyesore here is vma->obj->cache_level and related (but
less of an issue) vma->obj->gt_ro. With a bit of care we should mirror
those on the vma itself.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Matthew Auld <matthew.william.auld@gmail.com>
Reviewed-by: Matthew Auld <matthew.william.auld@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180607154047.9171-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_gtt.c
drivers/gpu/drm/i915/i915_gpu_error.c
drivers/gpu/drm/i915/i915_vma.c
drivers/gpu/drm/i915/i915_vma.h