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. */