linux-stable/drivers/gpu/drm/i915/gem
Jason Ekstrand d4433c7600 drm/i915/gem: Use the proto-context to handle create parameters (v5)
This means that the proto-context needs to grow support for engine
configuration information as well as setparam logic.  Fortunately, we'll
be deleting a lot of setparam logic on the primary context shortly so it
will hopefully balance out.

There's an extra bit of fun here when it comes to setting SSEU and the
way it interacts with PARAM_ENGINES.  Unfortunately, thanks to
SET_CONTEXT_PARAM and not being allowed to pick the order in which we
handle certain parameters, we have think about those interactions.

v2 (Daniel Vetter):
 - Add a proto_context_free_user_engines helper
 - Comment on SSEU in the commit message
 - Use proto_context_set_persistence in set_proto_ctx_param

v3 (Daniel Vetter):
 - Fix a doc comment
 - Do an explicit HAS_FULL_PPGTT check in set_proto_ctx_vm instead of
   relying on pc->vm != NULL.
 - Handle errors for CONTEXT_PARAM_PERSISTENCE
 - Don't allow more resetting user engines
 - Rework initialization of UCONTEXT_PERSISTENCE

v4 (Jason Ekstrand):
 - Move hand-rolled initialization of UCONTEXT_PERSISTENCE to an
   earlier patch

v5 (Jason Ekstrand):
 - Move proto_context_set_persistence to this patch

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20210708154835.528166-22-jason@jlekstrand.net
2021-07-08 19:48:12 +02:00
..
selftests drm/i915/gem: Optionally set SSEU in intel_context_set_gem 2021-07-08 19:47:20 +02:00
i915_gem_busy.c dma-buf: drop the _rcu postfix on function names v3 2021-06-06 11:19:51 +02:00
i915_gem_clflush.c drm/i915: Rework clflush to work correctly without obj->mm.lock. 2021-03-24 17:27:20 +01:00
i915_gem_clflush.h
i915_gem_context.c drm/i915/gem: Use the proto-context to handle create parameters (v5) 2021-07-08 19:48:12 +02:00
i915_gem_context.h drm/i915/gem: Drop free_work for GEM contexts 2020-12-16 15:14:09 +00:00
i915_gem_context_types.h drm/i915/gem: Use the proto-context to handle create parameters (v5) 2021-07-08 19:48:12 +02:00
i915_gem_create.c drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
i915_gem_dmabuf.c drm/i915: Fix i915_sg_page_sizes to record dma segments rather than physical pages 2021-06-01 09:33:08 +01:00
i915_gem_domain.c drm/i915/display: Migrate objects to LMEM if possible for display 2021-06-30 11:32:53 +01:00
i915_gem_execbuffer.c drm/i915/request: Remove the hook from await_execution 2021-07-08 19:46:14 +02:00
i915_gem_internal.c drm/i915: Update object placement flags to be mutable 2021-06-24 18:50:56 +01:00
i915_gem_ioctls.h drm/i915/uapi: introduce drm_i915_gem_create_ext 2021-05-04 10:58:56 +01:00
i915_gem_lmem.c drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
i915_gem_lmem.h drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
i915_gem_mman.c drm/i915: Reinstate the mmap ioctl for some platforms 2021-06-25 10:08:56 +01:00
i915_gem_mman.h drm/i915/gem: Only revoke mmap handlers if active 2020-07-02 20:46:08 +01:00
i915_gem_object.c drm/i915/gem: Introduce a selftest for the gem object migrate functionality 2021-06-30 11:32:40 +01:00
i915_gem_object.h drm/i915/display: Migrate objects to LMEM if possible for display 2021-06-30 11:32:53 +01:00
i915_gem_object_types.h drm/i915/gem: Implement object migration 2021-06-30 11:32:11 +01:00
i915_gem_pages.c drm/i915: Update object placement flags to be mutable 2021-06-24 18:50:56 +01:00
i915_gem_phys.c drm/i915: Update object placement flags to be mutable 2021-06-24 18:50:56 +01:00
i915_gem_pm.c drm/i915: Finally remove obj->mm.lock. 2021-03-24 17:47:20 +01:00
i915_gem_pm.h drm/i915/gem: Move freeze/freeze_late next to suspend/suspend_late 2021-02-08 16:56:49 -05:00
i915_gem_region.c drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
i915_gem_region.h drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
i915_gem_shmem.c drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
i915_gem_shrinker.c drm/i915: Use trylock in shrinker for ggtt on bsw vt-d and bxt, v2. 2021-04-29 11:32:32 +02:00
i915_gem_shrinker.h drm/i915: Finally remove obj->mm.lock. 2021-03-24 17:47:20 +01:00
i915_gem_stolen.c drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
i915_gem_stolen.h drm/i915/ttm Initialize the ttm device and memory managers 2021-06-02 13:21:24 +01:00
i915_gem_throttle.c drm/i915/gem: Remove disordered per-file request list for throttling 2020-09-07 13:13:50 +03:00
i915_gem_tiling.c drm/i915/gem: replace IS_GEN and friends with GRAPHICS_VER 2021-06-05 15:09:43 -07:00
i915_gem_ttm.c drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
i915_gem_ttm.h drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
i915_gem_userptr.c drm/i915: Update object placement flags to be mutable 2021-06-24 18:50:56 +01:00
i915_gem_wait.c drm/i915/gem: Implement object migration 2021-06-30 11:32:11 +01:00
i915_gemfs.c
i915_gemfs.h