Lines Matching refs:item
49 struct drm_global_item *item = &glob[i]; in drm_global_init() local
50 mutex_init(&item->mutex); in drm_global_init()
51 item->object = NULL; in drm_global_init()
52 item->refcount = 0; in drm_global_init()
60 struct drm_global_item *item = &glob[i]; in drm_global_release() local
61 BUG_ON(item->object != NULL); in drm_global_release()
62 BUG_ON(item->refcount != 0); in drm_global_release()
69 struct drm_global_item *item = &glob[ref->global_type]; in drm_global_item_ref() local
71 mutex_lock(&item->mutex); in drm_global_item_ref()
72 if (item->refcount == 0) { in drm_global_item_ref()
73 item->object = kzalloc(ref->size, GFP_KERNEL); in drm_global_item_ref()
74 if (unlikely(item->object == NULL)) { in drm_global_item_ref()
79 ref->object = item->object; in drm_global_item_ref()
85 ++item->refcount; in drm_global_item_ref()
86 ref->object = item->object; in drm_global_item_ref()
87 mutex_unlock(&item->mutex); in drm_global_item_ref()
90 mutex_unlock(&item->mutex); in drm_global_item_ref()
91 item->object = NULL; in drm_global_item_ref()
98 struct drm_global_item *item = &glob[ref->global_type]; in drm_global_item_unref() local
100 mutex_lock(&item->mutex); in drm_global_item_unref()
101 BUG_ON(item->refcount == 0); in drm_global_item_unref()
102 BUG_ON(ref->object != item->object); in drm_global_item_unref()
103 if (--item->refcount == 0) { in drm_global_item_unref()
105 item->object = NULL; in drm_global_item_unref()
107 mutex_unlock(&item->mutex); in drm_global_item_unref()