Hi Niranjana, On Tue, Jan 17, 2023 at 11:15:49PM -0800, Niranjana Vishwanathapura wrote: > Expose i915_gem_object_max_page_size() function non-static > which will be used by the vm_bind feature. > > Reviewed-by: Matthew Auld <matthew.auld@xxxxxxxxx> > Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@xxxxxxxxx> > Signed-off-by: Andi Shyti <andi.shyti@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/gem/i915_gem_create.c | 18 +++++++++++++----- > drivers/gpu/drm/i915/gem/i915_gem_object.h | 2 ++ > 2 files changed, 15 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_create.c b/drivers/gpu/drm/i915/gem/i915_gem_create.c > index 005a7f842784..86469710bd59 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_create.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_create.c > @@ -15,10 +15,18 @@ > #include "i915_trace.h" > #include "i915_user_extensions.h" > > -static u32 object_max_page_size(struct intel_memory_region **placements, > - unsigned int n_placements) > +/** > + * i915_gem_object_max_page_size() - max of min_page_size of the regions > + * @placements: list of regions > + * @n_placements: number of the placements > + * > + * Returns the largest of min_page_size of the @placements, > + * or I915_GTT_PAGE_SIZE_4K if @n_placements is 0. > + */ > +u32 i915_gem_object_max_page_size(struct intel_memory_region **placements, > + unsigned int n_placements) > { > - u32 max_page_size = 0; > + u32 max_page_size = I915_GTT_PAGE_SIZE_4K; > int i; > > for (i = 0; i < n_placements; i++) { > @@ -28,7 +36,6 @@ static u32 object_max_page_size(struct intel_memory_region **placements, > max_page_size = max_t(u32, max_page_size, mr->min_page_size); > } > > - GEM_BUG_ON(!max_page_size); this change, though, is not described in the commit log. Can you please add two lines? Thanks, Andi > return max_page_size; > } > > @@ -99,7 +106,8 @@ __i915_gem_object_create_user_ext(struct drm_i915_private *i915, u64 size, > > i915_gem_flush_free_objects(i915); > > - size = round_up(size, object_max_page_size(placements, n_placements)); > + size = round_up(size, i915_gem_object_max_page_size(placements, > + n_placements)); > if (size == 0) > return ERR_PTR(-EINVAL); > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h > index 3db53769864c..5455ca0eabe9 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_object.h > +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h > @@ -47,6 +47,8 @@ static inline bool i915_gem_object_size_2big(u64 size) > } > > void i915_gem_init__objects(struct drm_i915_private *i915); > +u32 i915_gem_object_max_page_size(struct intel_memory_region **placements, > + unsigned int n_placements); > > void i915_objects_module_exit(void); > int i915_objects_module_init(void); > -- > 2.21.0.rc0.32.g243a4c7e27