uapi/drm/i915: Document memory residency and Flat-CCS capability of obj
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 <ramalingam.c@intel.com> cc: Matthew Auld <matthew.auld@intel.com> cc: Thomas Hellstrom <thomas.hellstrom@linux.intel.com> cc: Daniel Vetter <daniel.vetter@ffwll.ch> cc: Jon Bloomfield <jon.bloomfield@intel.com> cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com> cc: Kenneth Graunke <kenneth@whitecape.org> cc: mesa-dev@lists.freedesktop.org cc: Jordan Justen <jordan.l.justen@intel.com> cc: Tony Ye <tony.ye@intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Acked-by: Jordan Justen <jordan.l.justen@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220502141508.2327-1-ramalingam.c@intel.com
This commit is contained in:
parent
e180a7b218
commit
a50794f26f
|
@ -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. */
|
||||
|
|
Loading…
Reference in New Issue