Quoting Matthew Auld (2021-01-26 15:12:55) > From: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> > > 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 <imre.deak@xxxxxxxxx> > Signed-off-by: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx> > Signed-off-by: Matthew Auld <matthew.auld@xxxxxxxxx> > --- > 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 Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx