接前一篇文章: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