DRM_MM_FOR_EACH_HOLE(9)

NAME
drm_mm_for_each_hole - iterator to walk over all holes

SYNOPSIS

drm_mm_for_each_hole(entry, mm, hole_start, hole_end);

ARGUMENTS

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

DESCRIPTION

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.

IMPLEMENTATION NOTE

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.

AUTHORS

Jesse Barnes <jesse.barnes@intel.com>
Intel Corporation,

    Initial version

Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Ideas on board SPRL,

    Driver internals

Daniel Vetter <daniel.vetter@ffwll.ch>
Intel Corporation,

    Contributions all over the place

COPYRIGHT