Quoting Matthew Auld (2021-01-26 15:12:55) > From: Abdiel Janulgue <[email protected]> > > In the following patch we need to reserve regions unaccessible to the > driver during initialization, so add mem->reserved for collecting such > regions. > > Cc: Imre Deak <[email protected]> > Signed-off-by: Abdiel Janulgue <[email protected]> > Signed-off-by: Matthew Auld <[email protected]> > --- > drivers/gpu/drm/i915/intel_memory_region.c | 2 + > drivers/gpu/drm/i915/intel_memory_region.h | 2 + > .../drm/i915/selftests/intel_memory_region.c | 89 +++++++++++++++++++ > 3 files changed, 93 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_memory_region.c > b/drivers/gpu/drm/i915/intel_memory_region.c > index b1b610bfff09..803a414c9523 100644 > --- a/drivers/gpu/drm/i915/intel_memory_region.c > +++ b/drivers/gpu/drm/i915/intel_memory_region.c > @@ -156,6 +156,7 @@ int intel_memory_region_init_buddy(struct > intel_memory_region *mem) > > void intel_memory_region_release_buddy(struct intel_memory_region *mem) > { > + i915_buddy_free_list(&mem->mm, &mem->reserved); > i915_buddy_fini(&mem->mm); > } > > @@ -185,6 +186,7 @@ intel_memory_region_create(struct drm_i915_private *i915, > mutex_init(&mem->objects.lock); > INIT_LIST_HEAD(&mem->objects.list); > INIT_LIST_HEAD(&mem->objects.purgeable); > + INIT_LIST_HEAD(&mem->reserved); > > mutex_init(&mem->mm_lock); > > diff --git a/drivers/gpu/drm/i915/intel_memory_region.h > b/drivers/gpu/drm/i915/intel_memory_region.h > index 6ffc0673f005..8c9947bba3e8 100644 > --- a/drivers/gpu/drm/i915/intel_memory_region.h > +++ b/drivers/gpu/drm/i915/intel_memory_region.h > @@ -89,6 +89,8 @@ struct intel_memory_region { > unsigned int id; > char name[8]; > > + struct list_head reserved;
So you added this, but this is not exercised by the selftest either. I think you want to complete the API with intel_memory_region_reserve(mem, start, size/end) And then inspect the mem->reserved rather than the local list. Presumably check the mem->reserved is empty on entry, and then it's safe to call i915_buddy_free_list(&mem->mm, &mem->reserved) directly. -Chris _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
