Lines Matching refs:front

166 void __intel_fb_invalidate(struct intel_frontbuffer *front,  in __intel_fb_invalidate()  argument
170 struct drm_i915_private *i915 = to_i915(front->obj->base.dev); in __intel_fb_invalidate()
187 void __intel_fb_flush(struct intel_frontbuffer *front, in __intel_fb_flush() argument
191 struct drm_i915_private *i915 = to_i915(front->obj->base.dev); in __intel_fb_flush()
207 struct intel_frontbuffer *front = in frontbuffer_active() local
208 container_of(ref, typeof(*front), write); in frontbuffer_active()
210 kref_get(&front->ref); in frontbuffer_active()
216 struct intel_frontbuffer *front = in frontbuffer_retire() local
217 container_of(ref, typeof(*front), write); in frontbuffer_retire()
219 intel_frontbuffer_flush(front, ORIGIN_CS); in frontbuffer_retire()
220 intel_frontbuffer_put(front); in frontbuffer_retire()
224 __releases(&to_i915(front->obj->base.dev)->display.fb_tracking.lock) in frontbuffer_release()
226 struct intel_frontbuffer *front = in frontbuffer_release() local
227 container_of(ref, typeof(*front), ref); in frontbuffer_release()
228 struct drm_i915_gem_object *obj = front->obj; in frontbuffer_release()
231 drm_WARN_ON(obj->base.dev, atomic_read(&front->bits)); in frontbuffer_release()
243 i915_active_fini(&front->write); in frontbuffer_release()
246 kfree_rcu(front, rcu); in frontbuffer_release()
253 struct intel_frontbuffer *front; in intel_frontbuffer_get() local
255 front = __intel_frontbuffer_get(obj); in intel_frontbuffer_get()
256 if (front) in intel_frontbuffer_get()
257 return front; in intel_frontbuffer_get()
259 front = kmalloc(sizeof(*front), GFP_KERNEL); in intel_frontbuffer_get()
260 if (!front) in intel_frontbuffer_get()
263 front->obj = obj; in intel_frontbuffer_get()
264 kref_init(&front->ref); in intel_frontbuffer_get()
265 atomic_set(&front->bits, 0); in intel_frontbuffer_get()
266 i915_active_init(&front->write, in intel_frontbuffer_get()
273 kfree(front); in intel_frontbuffer_get()
274 front = rcu_dereference_protected(obj->frontbuffer, true); in intel_frontbuffer_get()
275 kref_get(&front->ref); in intel_frontbuffer_get()
278 rcu_assign_pointer(obj->frontbuffer, front); in intel_frontbuffer_get()
282 return front; in intel_frontbuffer_get()
285 void intel_frontbuffer_put(struct intel_frontbuffer *front) in intel_frontbuffer_put() argument
287 kref_put_lock(&front->ref, in intel_frontbuffer_put()
289 &to_i915(front->obj->base.dev)->display.fb_tracking.lock); in intel_frontbuffer_put()