Files
linux/drivers/gpu/drm
Maarten Lankhorst b5cfe6f7a6 drm/i915: Remove short-term pins from execbuf, v6.
Add a flag PIN_VALIDATE, to indicate we don't need to pin and only
protected by the object lock.

This removes the need to unpin, which is done by just releasing the
lock.

eb_reserve is slightly reworked for readability, but the same steps
are still done:
- First pass pins with NONBLOCK.
- Second pass unbinds all objects first, then pins.
- Third pass is only called when not all objects are softpinned, and
  unbinds all objects, then calls i915_gem_evict_vm(), then pins.

Changes since v1:
- Split out eb_reserve() into separate functions for readability.
Changes since v2:
- Make batch buffer mappable on platforms where only GGTT is available,
  to prevent moving the batch buffer during relocations.
Changes since v3:
- Preserve current behavior for batch buffer, instead be cautious when
  calling i915_gem_object_ggtt_pin_ww, and re-use the current batch vma
  if it's inside ggtt and map-and-fenceable.
- Remove impossible condition check from eb_reserve. (Matt)
Changes since v5:
- Do not even temporarily pin, just call i915_gem_evict_vm() and mark
  all vma's as unpinned.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220114132320.109030-7-maarten.lankhorst@linux.intel.com
2022-01-18 12:19:30 +01:00
..
2021-12-14 10:24:28 +01:00
2021-12-14 10:24:28 +01:00
2021-12-14 10:24:28 +01:00
2021-11-05 11:15:14 +01:00
2021-12-16 14:48:27 +01:00
2021-12-14 10:24:28 +01:00
2021-12-14 10:24:28 +01:00
2021-11-30 09:41:28 +01:00
2021-08-28 19:00:20 +02:00
2021-10-01 15:55:47 +02:00
2021-11-30 09:41:28 +01:00
2021-12-10 12:36:52 +01:00
2021-12-10 12:36:52 +01:00