]> Git Repo - linux.git/commitdiff
uapi/drm/i915: Document memory residency and Flat-CCS capability of obj
authorRamalingam C <[email protected]>
Mon, 2 May 2022 14:15:08 +0000 (19:45 +0530)
committerRamalingam C <[email protected]>
Wed, 18 May 2022 09:04:38 +0000 (14:34 +0530)
Capture the impact of memory region preference list of the objects, on
their memory residency and Flat-CCS capability.

v2:
  Fix the Flat-CCS capability of an obj with {lmem, smem} preference
  list [Thomas]
v3:
  Reworded the doc [Matt]
v4:
  Fixed Typos and spelling mistakes [Tvrtko, Joonas]

Signed-off-by: Ramalingam C <[email protected]>
cc: Matthew Auld <[email protected]>
cc: Thomas Hellstrom <[email protected]>
cc: Daniel Vetter <[email protected]>
cc: Jon Bloomfield <[email protected]>
cc: Lionel Landwerlin <[email protected]>
cc: Kenneth Graunke <[email protected]>
cc: [email protected]
cc: Jordan Justen <[email protected]>
cc: Tony Ye <[email protected]>
Reviewed-by: Matthew Auld <[email protected]>
Acked-by: Jordan Justen <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
include/uapi/drm/i915_drm.h

index a2def7b270097836327d738e9eb3240fdf248ab4..de49b68b4fc87d47ae5f05a6d72c19c0ac56ac48 100644 (file)
@@ -3443,6 +3443,22 @@ struct drm_i915_gem_create_ext {
  * At which point we get the object handle in &drm_i915_gem_create_ext.handle,
  * along with the final object size in &drm_i915_gem_create_ext.size, which
  * should account for any rounding up, if required.
+ *
+ * Note that userspace has no means of knowing the current backing region
+ * for objects where @num_regions is larger than one. The kernel will only
+ * ensure that the priority order of the @regions array is honoured, either
+ * when initially placing the object, or when moving memory around due to
+ * memory pressure
+ *
+ * On Flat-CCS capable HW, compression is supported for the objects residing
+ * in I915_MEMORY_CLASS_DEVICE. When such objects (compressed) have other
+ * memory class in @regions and migrated (by i915, due to memory
+ * constraints) to the non I915_MEMORY_CLASS_DEVICE region, then i915 needs to
+ * decompress the content. But i915 doesn't have the required information to
+ * decompress the userspace compressed objects.
+ *
+ * So i915 supports Flat-CCS, on the objects which can reside only on
+ * I915_MEMORY_CLASS_DEVICE regions.
  */
 struct drm_i915_gem_create_ext_memory_regions {
        /** @base: Extension link. See struct i915_user_extension. */
This page took 0.063826 seconds and 4 git commands to generate.