On Tue, 4 Apr 2023 03:27:30 +0200 Danilo Krummrich <dakr@xxxxxxxxxx> wrote: > +struct drm_gpuva_manager { > + /** > + * @name: the name of the DRM GPU VA space > + */ > + const char *name; > + > + /** > + * @mm_start: start of the VA space > + */ > + u64 mm_start; > + > + /** > + * @mm_range: length of the VA space > + */ > + u64 mm_range; > + > + /** > + * @mtree: the &maple_tree to track GPU VA mappings > + */ > + struct maple_tree mtree; > + > + /** > + * @kernel_alloc_node: > + * > + * &drm_gpuva representing the address space cutout reserved for > + * the kernel > + */ > + struct drm_gpuva kernel_alloc_node; > + > + /** > + * @ops: &drm_gpuva_fn_ops providing the split/merge steps to drivers > + */ > + struct drm_gpuva_fn_ops *ops; Any reason for not making that a const object (same goes for all the functions being passed a drm_gpuva_fn_ops)? > +};