drm/i915/uapi: reject set_domain for discrete
authorMatthew Auld <matthew.auld@intel.com>
Thu, 15 Jul 2021 10:15:36 +0000 (11:15 +0100)
committerMatthew Auld <matthew.auld@intel.com>
Fri, 23 Jul 2021 10:55:32 +0000 (11:55 +0100)
commit81340cf3bddded4fe23a55148152e6d5e2460351
tree30d6dab449aee72d7c9ea1acc1971e0199b49b5c
parenteea97e42f48bff0706b620730799b5057c9caf90
drm/i915/uapi: reject set_domain for discrete

The CPU domain should be static for discrete, and on DG1 we don't need
any flushing since everything is already coherent, so really all this
does is an object wait, for which we have an ioctl. Longer term the
desired caching should be an immutable creation time property for the
BO, which can be set with something like gem_create_ext.

One other user is iris + userptr, which uses the set_domain to probe all
the pages to check if the GUP succeeds, however we now have a PROBE
flag for this purpose.

v2: add some more kernel doc, also add the implicit rules with caching

Suggested-by: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Kenneth Graunke <kenneth@whitecape.org>
Cc: Jason Ekstrand <jason@jlekstrand.net>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Ramalingam C <ramalingam.c@intel.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210715101536.2606307-5-matthew.auld@intel.com
drivers/gpu/drm/i915/gem/i915_gem_domain.c
include/uapi/drm/i915_drm.h