carta
drm_vma_offset_lock_lookup(9)

drm_vma_offset_lock_lookup9

Lock lookup for extended private use

Usage

void drm_vma_offset_lock_lookup(struct drm_vma_offset_manager * mgr);

Arguments

mgr

Manager object

Overview

Lock VMA manager for extended lookups. Only *_locked VMA function calls are allowed while holding this lock. All other contexts are blocked from VMA until the lock is released via drm_vma_offset_unlock_lookup.

Use this if you need to take a reference to the objects returned by drm_vma_offset_lookup_locked before releasing this lock again.

This lock must not be used for anything else than extended lookups. You must not call any other VMA helpers while holding this lock.

Note

You're in atomic-context while holding this lock!

Examples

     drm_vma_offset_lock_lookup(mgr);
     node = drm_vma_offset_lookup_locked(mgr);
     if (node)
         kref_get_unless_zero(container_of(node, sth, entr));
     drm_vma_offset_unlock_lookup(mgr);

Authors

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

From linux-manual-3.16 3.16.56-1+deb8u1 in Debian 8 (Jessie). Parsed by carta from the page's man source.