Re: [PATCH v3] uapi/drm/i915: Document memory residency and Flat-CCS capability of obj

"Ye, Tony" <[email protected]>
Newsgroups gmane.comp.freedesktop.xorg.drivers.intel,gmane.comp.video.dri.devel,gmane.comp.video.mesa3d.devel
Message-ID <[email protected]>
Media driver never creates a BO with more than one backing regions.

Acked-by: Tony Ye <[email protected]>

Thanks,

Tony

On 5/2/2022 7:15 AM, Ramalingam C wrote:
> 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]
>
> 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]>
> ---
>   include/uapi/drm/i915_drm.h | 16 ++++++++++++++++
>   1 file changed, 16 insertions(+)
>
> diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
> index a2def7b27009..b7e1c2fe08dc 100644
> --- a/include/uapi/drm/i915_drm.h
> +++ b/include/uapi/drm/i915_drm.h
> @@ -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) has other
> + * memory class in @regions and migrated (by I915, due to memory
> + * constrain) to the non I915_MEMORY_CLASS_DEVICE region, then I915 needs to
> + * decompress the content. But I915 dosen't have the required information to
> + * decompress the userspace compressed objects.
> + *
> + * So I915 supports Flat-CCS, only 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. */
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.