Iterator to walk over all holes
drm_mm_for_each_hole(entry, mm, hole_start, hole_end);
entry
drm_mm_node used internally to track progress
mm
drm_mm allocator to walk
hole_start
ulong variable to assign the hole start to on each iteration
hole_end
ulong variable to assign the hole end to on each iteration
This iterator walks over all holes in the range allocator. It is implemented with list_for_each, so not save against removal of elements. entry is used internally and will not reflect a real drm_mm_node for the very first hole. Hence users of this iterator may not access it.
We need to inline list_for_each_entry in order to be able to set hole_start and hole_end on each iteration while keeping the macro sane.
The __drm_mm_for_each_hole version is similar, but with added support for going backwards.
Jesse Barnes <[email protected]>
Intel Corporation,
Initial version
Laurent Pinchart <[email protected]>
Ideas on board SPRL,
Driver internals
Daniel Vetter <[email protected]>
Intel Corporation,
Contributions all over the place