mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-11-02 23:54:33 +01:00
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 <[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]
This commit is contained in:
1 parent
e180a7b218
commit
a50794f26f
1 file changed
+16
@@ -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. */
|
||||
|
||||
Reference in new issue
Block a user