Lines Matching full:front
163 void __intel_fb_invalidate(struct intel_frontbuffer *front, in __intel_fb_invalidate() argument
167 struct drm_i915_private *i915 = to_i915(front->obj->base.dev); in __intel_fb_invalidate()
182 void __intel_fb_flush(struct intel_frontbuffer *front, in __intel_fb_flush() argument
186 struct drm_i915_private *i915 = to_i915(front->obj->base.dev); in __intel_fb_flush()
202 struct intel_frontbuffer *front = in frontbuffer_active() local
203 container_of(ref, typeof(*front), write); in frontbuffer_active()
205 kref_get(&front->ref); in frontbuffer_active()
212 struct intel_frontbuffer *front = in frontbuffer_retire() local
213 container_of(ref, typeof(*front), write); in frontbuffer_retire()
215 intel_frontbuffer_flush(front, ORIGIN_CS); in frontbuffer_retire()
216 intel_frontbuffer_put(front); in frontbuffer_retire()
220 __releases(&to_i915(front->obj->base.dev)->fb_tracking.lock) in frontbuffer_release()
222 struct intel_frontbuffer *front = in frontbuffer_release() local
223 container_of(ref, typeof(*front), ref); in frontbuffer_release()
224 struct drm_i915_gem_object *obj = front->obj; in frontbuffer_release()
235 i915_active_fini(&front->write); in frontbuffer_release()
238 kfree_rcu(front, rcu); in frontbuffer_release()
245 struct intel_frontbuffer *front; in intel_frontbuffer_get() local
247 front = __intel_frontbuffer_get(obj); in intel_frontbuffer_get()
248 if (front) in intel_frontbuffer_get()
249 return front; in intel_frontbuffer_get()
251 front = kmalloc(sizeof(*front), GFP_KERNEL); in intel_frontbuffer_get()
252 if (!front) in intel_frontbuffer_get()
255 front->obj = obj; in intel_frontbuffer_get()
256 kref_init(&front->ref); in intel_frontbuffer_get()
257 atomic_set(&front->bits, 0); in intel_frontbuffer_get()
258 i915_active_init(&front->write, in intel_frontbuffer_get()
264 kfree(front); in intel_frontbuffer_get()
265 front = rcu_dereference_protected(obj->frontbuffer, true); in intel_frontbuffer_get()
266 kref_get(&front->ref); in intel_frontbuffer_get()
269 rcu_assign_pointer(obj->frontbuffer, front); in intel_frontbuffer_get()
273 return front; in intel_frontbuffer_get()
276 void intel_frontbuffer_put(struct intel_frontbuffer *front) in intel_frontbuffer_put() argument
278 kref_put_lock(&front->ref, in intel_frontbuffer_put()
280 &to_i915(front->obj->base.dev)->fb_tracking.lock); in intel_frontbuffer_put()