接前一篇文章:KWin、libdrm、DRM從上到下全過程 —— drmModeAddFBxxx(22)
上一回講解了i915_gem_object_lookup_rcu函數的第1個參數struct drm_file *file,本回講解其第2個參數u32 handle。
(2)參數u32 handle
說起來,handle要比struct drm_file *file參數好理解多了,沒有那么繞。雖說沒有那么繞,但也只是說沒有涉及那么多結構,流程上可是一點也不能少。
為了便于理解和回顧,再次貼出i915_gem_object_lookup函數的代碼:
static inline struct drm_i915_gem_object *
i915_gem_object_lookup(struct drm_file *file, u32 handle)
{struct drm_i915_gem_object *obj;rcu_read_lock();obj = i915_gem_object_lookup_rcu(file, handle);obj = i915_gem_object_get_rcu(obj);rcu_read_unlock();return obj;
}
以及i915_gem_object_lookup_rcu函數的代碼:
/*** i915_gem_obj