Lines Matching refs: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()
211 struct intel_frontbuffer *front = in frontbuffer_retire() local
212 container_of(ref, typeof(*front), write); in frontbuffer_retire()
214 intel_frontbuffer_flush(front, ORIGIN_CS); in frontbuffer_retire()
215 intel_frontbuffer_put(front); in frontbuffer_retire()
219 __releases(&to_i915(front->obj->base.dev)->fb_tracking.lock) in frontbuffer_release()
221 struct intel_frontbuffer *front = in frontbuffer_release() local
222 container_of(ref, typeof(*front), ref); in frontbuffer_release()
224 front->obj->frontbuffer = NULL; in frontbuffer_release()
225 spin_unlock(&to_i915(front->obj->base.dev)->fb_tracking.lock); in frontbuffer_release()
227 i915_gem_object_put(front->obj); in frontbuffer_release()
228 kfree(front); in frontbuffer_release()
235 struct intel_frontbuffer *front; in intel_frontbuffer_get() local
238 front = obj->frontbuffer; in intel_frontbuffer_get()
239 if (front) in intel_frontbuffer_get()
240 kref_get(&front->ref); in intel_frontbuffer_get()
242 if (front) in intel_frontbuffer_get()
243 return front; in intel_frontbuffer_get()
245 front = kmalloc(sizeof(*front), GFP_KERNEL); in intel_frontbuffer_get()
246 if (!front) in intel_frontbuffer_get()
249 front->obj = obj; in intel_frontbuffer_get()
250 kref_init(&front->ref); in intel_frontbuffer_get()
251 atomic_set(&front->bits, 0); in intel_frontbuffer_get()
252 i915_active_init(i915, &front->write, in intel_frontbuffer_get()
257 kfree(front); in intel_frontbuffer_get()
258 front = obj->frontbuffer; in intel_frontbuffer_get()
259 kref_get(&front->ref); in intel_frontbuffer_get()
262 obj->frontbuffer = front; in intel_frontbuffer_get()
266 return front; in intel_frontbuffer_get()
269 void intel_frontbuffer_put(struct intel_frontbuffer *front) in intel_frontbuffer_put() argument
271 kref_put_lock(&front->ref, in intel_frontbuffer_put()
273 &to_i915(front->obj->base.dev)->fb_tracking.lock); in intel_frontbuffer_put()